Anda di halaman 1dari 43

FAKULTAS TEKNIK

UNIVERSITAS NEGERI YOGYAKARTA


LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Pengenalan MATLAB 200 menit
No. LST/EKA/313/01 Revisi : 01 Tgl : 1 Maret 2008 Hal 1 dari 43

1. Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat mengoperasikan Matlab dan dapat
menggunakannya sebagai perangkat simulasi untuk Praktikum Pengolahan Sinyal
Digital
2. Sub Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat mengoperasikan Matlab dan dapat
membangkitkan sinyal sederhana serta membuat sendiri fungsi (function)

3. Dasar Teori
Matlab adalah suatu bahasa pemrograman dengan kinerja tinggi untuk komputasi
teknik. Matlab mengintegrasikan komputasi, visualisasi dan pemrograman dalam suatu
model yang mudah dipakai.
Matlab merupakan singkatan dari Matrix Laboratory. Sebagaimana namanya,
elemen data dalam Matlab adalah matriks. Dengan demikian, untuk memecahkan berbagai
persoalan teknik yang terkait komputasi, khususnya matriks dan vektor, Matlab sangat
mudah untuk dipakai. Hal ini berbeda kalau kita menggunakan bahasa pemrograman lain
seperti Pascal, Basic atau C, dimana kita harus mendeklarasikan berbagai hal tentang
matriks sebelum menggunakannya.
Fitur-fitur Matlab sudah banyak dikembangkan, dan antara lain dengan fasilitas
yang diberi nama toolbox. Toolbox ini merupakan kumpulan fungsi-fungsi (functions)
Matlab yang telah dikembangkan ke suatu lingkungan kerja Matlab untuk menyelesaiakan
suatu masalah dalam bidang tertentu. Sangat penting bagi seorang pengguna Matlab untuk
memilih dan menggunakan toolbox mana yang mendukung untuk menyelesaikan masalah
yang dihadapinya. Bidang-bidang yang sudah bisa dibantu dengan toolbox misalnya
pengolahan sinyal, sistem kendali, fuzzy logic, artificial neural networks, image processing
dan lain-lain.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Pengenalan MATLAB 200 menit
No. LST/EKA/313/01 Revisi : 01 Tgl : 1 Maret 2008 Hal 2 dari 43

Memulai Matlab
Menjalankan Matlab dapat dilakukan dengan melakukan double-click pada icon Matlab.
Selanjutnya akan muncul tampilan seperti gambar berikut:

Gambar 1. Tampilan awal Matlab


Sedangkan untuk menutup Matlab, dapat dilakukan dengan salah satu dari cara berikut:
1. Pilih File, pilih Exit Matlab dari Command Window yang sedang aktif.
2. Ketik quit dalam Command Window, kemudian tekan enter.
3. Klik tanda silang pada tampilan window Matlab yang sedang aktif

Menentukan folder tempat bekerja


Secara default, folder aktif aktif Matlab adalah folder work yang ada pada folder
Matlab. Bila kita menghendaki folder aktif yang lain, maka klik File, pilih Set Path, lalu
klik Add Folder. Dari situ, pilih drive tempat folder akan ditempatkan, dan buat folder
baru dengan memberi nama folder sesuai yang kita inginkan.
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Pengenalan MATLAB 200 menit
No. LST/EKA/313/01 Revisi : 01 Tgl : 1 Maret 2008 Hal 3 dari 43

Memulai perintah sederhana


Langkah pertama adalah menentukan suatu variabel skalar dengan cara melakukan
pengetikan seperti berikut (setiap akhir baris diakhiri dengan enter):
>> x = 2;
>> y = 3;
>> z = x + y
z =
5

Berikut ini kita akan mendefinisikan dua buah vektor, yaitu vektor a dan b:
>> a = [1 2 3];
>> b = [4 5 6];
Selanjutnya ketik :
>> b(1)
ans =
4

Dari contoh di atas, terlihat bahwa Matlab menggunakan integer positif sebagai index
array. Elemen pertama adalah b(1), elemen kedua adalah b(2) dan seterusnya. Sekarang
kita jumlahkan kedua array:
>> a + b
ans =
5 7 9
Kalau kita hitung perkalian antara a dan transpose dari b:
>> a * b’
ans =
32
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Pengenalan MATLAB 200 menit
No. LST/EKA/313/01 Revisi : 01 Tgl : 1 Maret 2008 Hal 4 dari 43

Adapun bila diinginkan perkalian antara elemen-elemen vektor, maka:


>> a.*b
ans =
4 10 18

Pendefinisian vektor besar


Untuk mendefinisikan suatu vektor yang besar, misalkan vektor yang berisi angka
dari 0 sampai dengan 100 dengan jarak antara 1, kita cukup menulis:
>> n = 0:100;
Adapun jika kita menghendaki jarak antara yang lain, misalkan 0.5, maka kita tulis:
>> n = 0:0.5:100;
Vektor yang besar semacam ini akan banyak dipakai untuk membangkitkan sinyal. Sebagai
contoh, untuk membangkitkan sinyal sinus 0.5 Hz maka ditulis:
>> n = 0:100;
>> T = 0.1;
>> x = sin(2*pi*0.5*n*T);

Penggambaran grafik
Salah satu kelebihan dari Matlab adalah kemudahan dalam mengolah grafik,
sehingga sangat mudah untuk melakukan suatu proses visualisasi. Sebagai contoh, untuk
menampilkan sinyal sinus 0.5 Hz pada pembahasan sebelumnya, tinggal diteruskan dengan
mengetik:
>> plot(n*T, x), grid;
>> xlabel(‘time’), ylabel(‘amplitudo’);

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Pengenalan MATLAB 200 menit
No. LST/EKA/313/01 Revisi : 01 Tgl : 1 Maret 2008 Hal 5 dari 43

Gambar 2. Sinyal sinus 0,5 Hz

Menyusun program sederhana


Pembuatan program dalam Matlab, dapat dilakukan dengan menuliskannya
langsung pada Command Window seperti pada contoh-contoh sebelumnya atau dengan
menuliskannya pada Matlab Editor. Kelemahan penulisan pada Command Window adalah
program tersebut tidak tersimpan dalam suatu file, tetapi langsung dieksekusi baris demi
baris, sehingga akan menyulitkan untuk editing. Untuk pembahasan berikutnya, semua
program yang akan ditulis, harus ditulis pada Matlab Editor
Penulisan program pada Matlab Editor dimulai dengan membuka Matlab Editor.
Caranya yaitu dengan memilih New  M-file pada menu Matlab atau dengan meng-klik
icon kertas putih pada toolbar Matlab. Setelah itu akan muncul tampilan matlab Editor
yang masih kosong, dan siap untuk ditulisi. Pola penulisan program sama dengan penulisan
pada Command Window. Setelah selesai menulis program, pilih menu Debug  Save and
Run. Di situ pengguna harus menuliskan nama program, dan akan diberi ekstensi .m secara
otomatis.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Pengenalan MATLAB 200 menit
No. LST/EKA/313/01 Revisi : 01 Tgl : 1 Maret 2008 Hal 6 dari 43

Fungsi (function) dalam Matlab


Matlab dapat digunakan untuk menulis fungsi (function) yang didefinisikan oleh
penggunanya. Misalkan dibuat sebuah fungsi dengan menulis program berikut pada Matlab
Editor:
function y = x2(t)
y = t^2;
kemudian disimpan dengan nama x2.m. Selanjutnya fungsi tersebut dapat dipanggil
melalui Command Window :
>> t = 0:10;
>> y_2 = x2(t)
Hasilnya adalah sebagai berikut:
y_2 =
0 1 4 9 16 25 36 49 64 81 100
atau dapat juga memanggilnya dari program lain, dengan hasil yang sama.

4. Alat dan Bahan


PC (personal computer) yang sudah terinstal sistem operasi Windows dan perangkat
lunak Matlab (versi 5.3.1 atau yang lebih baru) yang dilengkapi dengan toolbox-nya.

5. Keselamatan Kerja
a. Buat folder kerja untuk setiap mahasiswa di drive selain C.
b. Aktifkan folder kerja tersebut setiap memulai Matlab
c. Setiap kali selesai menulis program segera simpan file program tersebut

6. Langkah Kerja

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Pengenalan MATLAB 200 menit
No. LST/EKA/313/01 Revisi : 01 Tgl : 1 Maret 2008 Hal 7 dari 43

7. Bahan Diskusi

8. Lampiran :

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Sinyal-sinyal Elementer 200 menit
No. LST/EKA/313/02 Revisi : 01 Tgl : 1 Maret 2008 Hal 8 dari 43

1. Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat mengoperasikan Matlab dan dapat
menggunakannya sebagai perangkat simulasi untuk Praktikum Pengolahan Sinyal
Digital

2. Sub Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat
a. membangkitkan dan menampilkan sinyal-sinyal elementer waktu diskrit dengan
bantuan fungsi-fungsi (functions) yang ada pada MATLAB
b. membedakan akibat dari penggantian periode sampling
c. membaca dan menulis file teks dengan menggunakan fungsi fprintf dan
fscanf

3. Dasar Teori
Sinyal-sinyal elementer terdiri dari:
1. Impuls satuan (unit impuls), didefinisikan sebagai
δ(n) = 1 untuk n = 0 1
= 0 untuk n yang lain
2. Undak satuan (unit step), didefinisikan sebagai 0

u(n) = 1 untuk n ≥ 0 1
= 0 untuk n < 0
3. Ramp satuan (unit ramp), didefinisikan sebagai 0

u r (n) = n untuk n ≥ 0
= 0 untuk n < 0
4. Sinyal eksponensial, yaitu sinyal yang berbentuk
x(n) = a n
untuk seluruh n, dengan a adalah bilangan real atau komplek.
Jika a bilangan real, maka x(n) adalah sinyal real. Jika a adalah bilangan komplek,
maka a dapat dinyatakan sebagai :
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Sinyal-sinyal Elementer 200 menit
No. LST/EKA/313/02 Revisi : 01 Tgl : 1 Maret 2008 Hal 9 dari 43

a ≡ r e jθ ,
dengan r dan e adalah parameter.
Termasuk sinyal jenis ini adalah sinyal sinus dan kosinus, karena :

cos(n ) =
(e jn
+ e − jn ) sin( n ) =
(e jn
− e − jn )
2 2j
Untuk mendapatkan sinyal diskrit dari sinyal analog tertentu yang dapat
dikembalikan ke sinyal analog lagi tanpa ada perubahan frekuensi sinyal, maka frekuensi
sampling Fs harus memenuhi Kriteria Nyquist:
Fs > 2Fmax
dengan Fmax adalah frekuensi tertinggi yang ada pada sinyal analog.
Bila kriteria ini tidak terpenuhi, akan terjadi aliasing

4. Alat dan Bahan


PC (personal computer) yang sudah terinstal sistem operasi Windows dan perangkat
lunak Matlab (versi 5.3.1 atau yang lebih baru) yang dilengkapi dengan toolbox-nya.

5. Keselamatan Kerja
a. Buat folder kerja untuk setiap mahasiswa di drive selain C.
b. Aktifkan folder kerja tersebut setiap memulai Matlab
c. Setiap kali selesai menulis program segera simpan file program tersebut

6. Langkah Kerja
Ketik program-program berikut dalam Editor MATLAB, beri nama yang sesuai
dengan isinya, kemudian di-run. Perhatikan dan catat hal-hal yang penting, lalu kerjakan
tugas-tugas yang diberikan.

% Program 1.1.
% Menampilkan sinyal Unit Impuls dan Unit Step
n = 0:50;
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Sinyal-sinyal Elementer 200 menit
No. LST/EKA/313/02 Revisi : 01 Tgl : 1 Maret 2008 Hal 10 dari 43

impuls = [1, zeros(1,50)];


undak = ones(1,51);
plot(n,undak,'o',n,impuls,'*'), grid;
xlabel('waktu'), ylabel('amplitudo');
title('Sinyal Unit Impuls dan Unit Step');
axis([-5 60 -1 2]);

Tugas 1.
a. Modifikasi program di atas agar amplitudo sinyal dapat diganti dengan nilai yang
lain, misal 2 atau 0,5.
b. Modifikasi program di atas agar panjang sinyal menjadi 100.
c. Buat program untuk menampilkan fungsi unit ramp, yaitu dengan gradien
(kemiringan garis) satu. Coba juga untuk gradien yang lain, misal 0,5 atau 2.

% Program 1.2.
% Menampilkan sinyal Unit Step Tertunda
n = 0:63;
tunda = 20;
k = length(n) - tunda;
z = zeros(1,tunda);
x = [z, ones(1,k)];
plot(n,x,'o'), grid;
xlabel('waktu'), ylabel('amplitudo');
title('Sinyal Unit Step Tertunda');
axis([-5 70 -1 2]);

Tugas 2.
a. Modifikasi program di atas untuk mendapatkan nilai tunda yang lain, misal 10 atau
30 atau yang lain.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Sinyal-sinyal Elementer 200 menit
No. LST/EKA/313/02 Revisi : 01 Tgl : 1 Maret 2008 Hal 11 dari 43

b. Modifikasi program di atas, untuk menampilkan grafik fungsi sinus yang tertunda.
Besarnya frekuensi menyesuaikan, demikian pula besar tundaan. Petunjuk: fungsi
sinus yang tertunda cukup ditampilkan sebagian, karena sebagian yang lain diganti
dengan tundaan. Caranya dengan memanfaatkan indeks array.

% Program 1.3.
% Menampilkan Sinyal sinus dan kosinus
n = 0:63;
f1 = 0.5; f2 = 0.25; % frekuensi sinyal (Hz)
T = 0.1;
y = sin(2*pi*f1*T*n);
x = cos(2*pi*f2*T*n);
plot(n*T,y,'-o',n*T,x,'-*'), grid;
xlabel('waktu'), ylabel('amplitudo');
title('Sinyal Sinus dan Kosinus');

Tugas 3. Modifikasi program di atas agar dapat menampilkan :


a. y + x
b. y – x
c. perkalian y dengan x
untuk: y = sin(2*pi*f1*T*n);
x = cos(2*pi*f2*T*n);

% Program 1.4
% Menampilkan sinyal sinus kontinyu dan diskrit
Ts1 = 0.0001; Ts2 = 0.05; % periode sampling
n1 = 0:5000;
n2 = 0:10;

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Sinyal-sinyal Elementer 200 menit
No. LST/EKA/313/02 Revisi : 01 Tgl : 1 Maret 2008 Hal 12 dari 43

f = 10; % frekuensi sinyal dalam Hz


y1 = sin(2*pi*f*n1*Ts1);
y2 = sin(2*pi*f*n2*Ts2);
plot(n1*Ts1,y1,'r',n2*Ts2,y2,'b*-'), grid;
xlabel('waktu'), ylabel('amplitudo');
title('Sinyal Sinus Waktu Kontinyu dan Waktu Diskrit');

Tugas 4.
a. Amati keluaran Program 1.4. Kenapa muncul output demikian?
b. Apa hubungan antara Ts2 (dalam program di atas) dengan kriteria Nyquist ?
c. Ubahlah function sin dalam program di atas dengan cos. Bagaimana keluaran
dari program sekarang?

% Program 1.5.
% Menampilkan Sinyal acak dan menulisnya ke file text
T = 1; % periode sampling
n = 0:199;
x = rand(size(n));
fid = fopen('random.txt','w');
fprintf(fid,'%8.4f\n',x);
fclose(fid);
plot(n*T,x), grid;
xlabel('waktu'), ylabel('amplitudo');
Tugas 5.
a. Cari kegunaan dari function : fopen, fprintf, dan fclose.
b. Modifikasi program di atas agar dapat dipakai untuk membuat suatu file text berisi
sinyal sinus dengan frekuensi 1 Hz, frekuensi sampling 10 Hz, dan panjang sinyal
200 sampel. Format data berupa tipe float, dengan 8 karakter, dan 6 karakter di
belakang koma. Beri nama file teks tersebut sinus1.txt.
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Sinyal-sinyal Elementer 200 menit
No. LST/EKA/313/02 Revisi : 01 Tgl : 1 Maret 2008 Hal 13 dari 43

% Program 1.6.
% Membaca file text yang berisi sinyal
% dengan format data dalam integer
fid = fopen('signal_2.txt');
x = fscanf(fid,'%d\n');
fclose(fid);
T = 1; % periode sampling
N = length(x);
n = 0:(N-1);
plot(n*T,x); grid on;
xlabel('waktu (ms)'), ylabel('amplitudo');
title('Tampilan file signal_2.txt');
Catatan :
Untuk menjalankan program di atas, terlebih dahulu praktikan harus meng-copy file
signal_2.txt dari dosen, kemudian menempatkannya pada folder aktif

Tugas 6.
a. Bagaimana cara membaca file text yang terletak pada folder selain folder aktif?
b. Modifikasi program di atas, agar dapat dipakai untuk membaca file random.txt
yang dibuat pada Program 1.6 dan menampilkan hasilnya. Juga untuk membaca file
sinus1.txt yang dibuat dalam Tugas 5.b.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Konvolusi dan Analisis Sinyal 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 14 dari 43

1. Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat menganalisis sinyal berdasarkan
frekuensi sinyal-sinyal penyusunnya, dengan memanfaatkan function yang ada pada
Matlab

2. Sub Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat :
a. Membuat sendiri suatu function yang sederhana
b. Membuat sendiri function dft, dan memanfaatkannya
c. Memanfaatkan function fft dan ifft untuk analisis sinyal
d. Melakukan konvolusi sinyal, baik secara langsung maupun tak langsung

3. Dasar Teori
Jika diberikan suatu sinyal diskrit x(n) yang bernilai tidak nol hanya dalam selang
0 ≤ n ≤ (N –1) maka Transformasi Fourier Diskrit (Discrete Fourier Transform = DFT)
dari x(n) didefinisikan sebagai:
N −1
X(k ) = ∑ x (n )e − j2 πkn / N , dengan k = 0,1, K , N − 1
n =0

Transformasi ini berfungsi mengubah sinyal dalam ranah waktu menjadi sinyal dalam
ranah frekuensi. Dengan kata lain, transformasi ini berfungsi menganalisis suatu sinyal
berdasarkan frekuensi sinyal-sinyal penyusunnya, atau disebut juga menganalisis spektrum
suatu sinyal
Sebaliknya, jika dalam ranah frekuensi sinyal X(k) diberikan, maka sinyal x(n)
dapat ditemukan dengan menggunakan Invers Transformasi Fourier Diskrit (Invers
Discrete Fourier Transform = IDFT ), yaitu:
1 N −1
x (n ) = ∑ X (k )e j2 πkn / N , dengan n = 0,1, K , N − 1
N k =0

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Konvolusi dan Analisis Sinyal 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 15 dari 43

Secara umum, kegunaan Transformasi Fourier Cepat (Fast Fourier Transform =


FFT) sama dengan kegunaan DFT. Perbedaan antara FFT dengan DFT adalah bahwa
proses perhitungan FFT lebih cepat dari DFT. Untuk mendapatkan kecepatan tersebut, FFT
melakukan beberapa modifikasi dari DFT, salah satunya adalah dengan membuat nilai N
pada rumus DFT harus merupakan bilangan 2 berpangkat, misalnya 4, 8, 16, 32, 64, 128,
256 dan seterusnya. Hanya saja fungsi (function) FFT dalam Matlab sudah dimodifikasi
sehingga dapat diisi dengan N sembarang, tetapi kecepatannya menjadi lebih rendah bila
dibanding dengan menggunakan N bilangan 2 berpangkat.

4. Alat dan Bahan


PC (personal computer) yang sudah terinstal sistem operasi Windows dan perangkat
lunak Matlab (versi 5.3.1 atau yang lebih baru) yang dilengkapi dengan toolbox-nya.

5. Keselamatan Kerja
a. Buat folder kerja untuk setiap mahasiswa di drive selain C.
b. Aktifkan folder kerja tersebut setiap memulai Matlab
c. Setiap kali selesai menulis program segera simpan file program tersebut

6. Langkah Kerja
a. Ketik program-program berikut dalam Editor MATLAB, beri nama yang sesuai
dengan isinya, kemudian di-run, kecuali Program 2.1 karena program ini adalah
suatu function. Perhatikan dan catat hal-hal yang penting, lalu kerjakan tugas-tugas
yang diberikan.
b. Khusus untuk Program 2.2, sebelum menjalankannya, harus dibuat terlebih dahulu
function dft dan disimpan di folder aktif anda.
c. Untuk Program 2.6, sebelum menjalankannya, terlebih dahulu harus dicari file
"whose.wav" dengan bantuan Windows Explorer, kalau tidak ditemukan, cari saja
file ekstensi wav yang lain. Setelah ditemukan, file tersebut di-copy ke folder aktif.
% Program 2.1
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Konvolusi dan Analisis Sinyal 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 16 dari 43

% Membuat sendiri fungsi pembuat sinyal step


% a = amplitudo sinyal
% n = jumlah sinyal (0 s/d n), n harus positif
% y = vektor hasil dengan amplitudo a sebanyak n+1 buah
% Beri nama program ini : undak.m
% Program ini hanya disimpan, dan dipanggil dari program
% lain atau dari command window Matlab, misal: >>undak(1,10)
function y = undak(a,n)
t = 0:n;
x = ones(1,n+1);
y = a .* x;
plot(t,y), grid;
Tugas 1.
Buat sendiri function untuk membuat sinyal ramp dengan gradien tertentu. Jumlah
parameternya ada dua, yaitu panjang data dan nilai gradien.

function xk = dft(x)
[N,M] = size(x);
if M ~= 1,
x = x';
N = M;
end
xk = zeros(N,1);
n = 0:N-1;
for k = 0:N-1,
xk(k+1) = exp(-j*2*pi*k*n/N)*x;
end

% Program 2.2

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Konvolusi dan Analisis Sinyal 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 17 dari 43

% Menampilkan Sinyal sinus dan spektrumnya


T = 0.01;
n = 0:100;
f1 = 10; f2 = 40; % frekuensi dalam Hz
y = sin(2*pi*f1*n*T) + sin(2*pi*f2*n*T);
N = length(y);
F = dft(y); % harus sudah dibuat
mag = abs(F);
fase = angle(F);
subplot(221), plot(n*T,y,'k-*'), grid;
xlabel('Waktu'), ylabel('Amplitudo');
title('Sinyal sinus gabungan');
frek = (0:N/2-1)/(N*T);
subplot(223);
plot(frek,mag(1:N/2),'r-o'), grid;
xlabel('Frekuensi (Hz)'), ylabel('Magnitude');
set(gca,'XTick',[f1 f2]);
subplot(224);
plot(frek,fase(1:N/2)*180/pi,'b-s'), grid;
xlabel('Frekuensi (Hz)'), ylabel('Sudut fase');
set(gca,'XTick',[f1 f2]);

Tugas 2.
Amati hasil Program 2.2. Apakah fungsi dft yang anda buat dapat melakukan analisis
spektrum dengan benar? Gantilah f1 dan f2 pada program tersebut berturut-turut dengan
20 dan 35. Amati hasilnya, apa yang berubah ?

% Program 2.3.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Konvolusi dan Analisis Sinyal 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 18 dari 43

% Menampilkan hasil FFT dari sin(2*pi*f*n*T) diskrit


% dan mengamati pengaruh amplitudo sinyal pada hasil fft
N = 256;
T = 1/512;
n = 0:N-1;
A = input('Amplitudo untuk f = 10 Hz : ');
B = input('Amplitudo untuk f = 40 Hz : ');
y = A*sin(2*pi*10*n*T) + B*sin(2*pi*40*n*T);
F = fft(y);
mag = abs(F);
subplot(211);
plot(n*T,y,'-o'), grid;
xlabel('waktu'), ylabel('amplitudo');
title(‘Sinyal Sinus gabungan’);
freq = (0:63)/(N*T);
subplot(212);
plot(freq,mag(1:length(freq)),'r-.'), grid;
xlabel('frekuensi (Hz)'), ylabel('amplitudo');
title('Spektrum sinyal sinus gabungan');

Tugas 3.
Pada Program 2.3, amati pengaruh perbedaan amplitudo untuk kedua frekuensi. Misalkan
beri masukan berturut-turut, jelaskan analisa anda.:
a. 1 dan 1,
b. 1 dan 5,
c. 5 dan 1,
d. 5 dan 5

% Program 2.4.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Konvolusi dan Analisis Sinyal 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 19 dari 43

% Mengamati pengaruh modulo (N) pada FFT dan IFFT


% untuk menghitung konvolusi antara x(n) dan h(n)
x = [1 2 3 4];
h = [1 3 2 1];
y = conv(x,h);
n1 = 0:length(x)-1;
n2 = 0:2*length(x)-2;
subplot(221), plot(n1,x,'-o');
title('x(n)'), grid;
subplot(222), plot(n1,h,'-o');
title('h(n)'), grid;
subplot(223), plot(n2,y,'r-o'), grid;
title('Konvolusi x(n) & h(n) dg. fungsi internal');
N = 7;
n3 = 0:N-1;
X = fft(x,N);
H = fft(h,N);
Y = X .* H;
y1 = ifft(Y,N);
subplot(224), plot(n3,real(y1),'r-o'), grid;
title('Konvolusi x(n) & h(n) melalui FFT & IFFT');

Tugas 4.
a. Pada Program 2.4, ubahlah nilai N menjadi 4. Amati pengaruhnya dan jelaskan
analisa anda.
b. Ulangi langkah di atas untuk N = 16.

% Program 2.5.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Konvolusi dan Analisis Sinyal 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 20 dari 43

% Menampilkan sinyal dengan derau dan hasil FFT-nya


n = 0:255;
N = 256;
T = 1/N;
derau = randn(size(n));
x = sin(2*pi*10*n*T) + derau;
F = fft(x,N);
mag = abs(F);
subplot(211), plot(n*T,x,'*-'), grid;
xlabel('waktu'), ylabel('amplitudo');
title('Sinyal sinus + derau (acak)');
freq = (0:N/2)/(N*T);
subplot(212);
plot(freq,mag(1:length(freq)),'ro-'), grid;
xlabel('frekuensi'), ylabel('amplitudo');
title('Spektrum sinyal');

Tugas 5.
Pada Program 2.5, Bila dibandingkan dengan tampilan Program 2.3, bagaimana tampilan
untuk domain frekuensi ?

% Program 2.6

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Konvolusi dan Analisis Sinyal 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 21 dari 43

% Menampilkan sinyal suara dalam file berekstensi wav


% dan menampilkan spektrumnya
[y,fs,nbits] = wavread('whoosh.wav');
T = 1/fs;
N = length(y);
t = (0:N-1)*T;
subplot(211), plot(t,y), grid;
xlabel('waktu');
ylabel('amplitudo');
title('Tampilan sinyal');
Y = fft(y);
mag = abs(Y);
freq = (0:(N/2)-1)/(N*T);
subplot(212), plot(freq,mag(1:N/2)), grid;
xlabel('frekuensi');
ylabel('magnitude');
title('Spektrum sinyal');

Tugas 6.
Gunakan Program 2.6 untuk membaca file berekstensi .wav yang lain dan amati hasilnya.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Transformasi Z 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 22 dari 43

1. Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat mensimulasikan tanggapan sistem
waktu diskrit terhadap input tertentu

2. Sub Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat :
a. Mencari koefisien pecahan parsial pada transformasi-Z
b. Mensimulasikan tanggapan sistem waktu diskrit terhadap input tertentu, baik dalam
ranah waktu maupun ranah frekuensi

3. Dasar Teori
Metode ekspansi pecahan parsial sebagai metode untuk mencari Transformasi-Z
Balik, baik untuk pole tunggal, pole jamak, maupun pole kompleks. Secara umum, metode
ini akan mengubah :

X(z) =
B(z)
=
(
b 0 z 0 + b1z −1 + b 2 z −2 + ... + b n z − m
=
)
B(z)  z n



A(z) (
a 0 z 0 + a 1 z −1 + a 2 z −2 + ... + a n z − n )
A(z)  z n 

=
(
z n −m b 0 z n + b1 z n −1 + b 2 z n − 2 + ... + b n )
( )
a 0 z n + a 1 z n −1 + a 2 z n − 2 + ... + a n

(
X (z ) z n − m −1 b 0 z n + b1 z n −1 + b 2 z n − 2 + ... + b n
=
)
z (z − p1 )(z − p 2 )K (z − p n )
menjadi
X(z) r r r
= 1 + 2 + K + n + k 1z n + k 2 z n −1 + L + k n
z z − p1 z − p 2 z − pn
koefisien k1 dan seterusnya akan bernilai nol bila m < n

4. Alat dan Bahan


PC (personal computer) yang sudah terinstal sistem operasi Windows dan perangkat
lunak Matlab (versi 5.3.1 atau yang lebih baru) yang dilengkapi dengan toolbox-nya.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Transformasi Z 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 23 dari 43

5. Keselamatan Kerja
d. Buat folder kerja untuk setiap mahasiswa di drive selain C.
e. Aktifkan folder kerja tersebut setiap memulai Matlab
f. Setiap kali selesai menulis program segera simpan file program tersebut

6. Langkah Kerja
Ketik program-program berikut dalam Editor MATLAB, beri nama yang sesuai dengan
isinya, kemudian di-run. Perhatikan dan catat hal-hal yang penting, lalu kerjakan tugas-
tugas yang diberikan.

% Program 4.1
% Menghitung konstanta ekspansi pecahan parsial, pole dan
% direct term dari fungsi rasional
b = [6,-10,2];
a = [1,-3,2,0];
[r,p,k] = residue(b,a)

Tugas 1.
Carilah konstanta ekspansi pecahan parsial dan pole-pole untuk transformasi-z:
Y ( z ) 0 .6 z 3 + 0 .8 z 2 − 0 .4 z + 1
= 3
z z − 0 .7 z 2 − 0 .7 z + 0 .4

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Transformasi Z 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 24 dari 43

% Program 4.2
% Tanggapan waktu dari suatu sistem diskrit
zeta = 0.7; % koefisien redaman
Ts = 0.5;
num = 1;
den = [1, 2*zeta, 1]; % system orde 2
sys = tf(num,den);
t = 0:Ts:19;
x = ones(size(t));
z = lsim(sys,x,t);
subplot(211), plot(t,x,t,z), grid;
[nd,dd] = c2dm(num,den,Ts,'zoh');
n = 0:Ts:19;
xd = ones(size(n));
z1 = filter(nd,dd,xd);
subplot(212), plot(n,xd,n,z1,'o-'), grid;

Tugas 2.
a). ganti nilai zeta berturut-turut dengan 2 dan 0.2, amati perubahan pada tampilan dan
catat nilai variabel nd dan dd.
Zeta nd dd
2
0.2

b). kembalikan nilai zeta ke 0.2, gantilah 'zoh' pada fungsi c2dm berturut-turut
dengan 'foh', 'tustin' dan 'matched'. Catat perubahan nilai pada variabel
nd dan dd. Amati juga tampilannya, apabila ada perubahan, catat.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Transformasi Z 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 25 dari 43

% Program 4.3
% Tanggapan waktu dari suatu sistem diskrit
% untuk periode sampling yang berbeda
Ts1 = 0.5; % periode sampling = 0.5
n1 = 0:Ts1:25;
Ts2 = 2; % periode sampling = 2
n2 = 0:Ts2:25;
num = [1 1];
den = [1 0.5 1];
[nd1,dd1] = c2dm(num,den,Ts1,'zoh');
[nd2,dd2] = c2dm(num,den,Ts2,'zoh');
sys1 = tf(nd1,dd1,Ts1);
sys2 = tf(nd2,dd2,Ts2);
sys_1 = feedback(sys1,0.1);
sys_2 = feedback(sys2,0.1);
[numd1,dend1] = tfdata(sys_1,'v');
[numd2,dend2] = tfdata(sys_2,'v');
xd1 = ones(size(n1));
z1 = filter(numd1,dend1,xd1);
subplot(211), plot(n1,xd1,n1,z1,'o-'), grid;
xd2 = ones(size(n2));
z2 = filter(numd2,dend2,xd2);
subplot(212), plot(n2,xd2,n2,z2,'o-'), grid;

Tugas 3.
Pada tampilan program 5.3, amati perbedaan antara kedua tampilan. Diskusikan hal
tersebut, dan kaitkan dengan periode sampling.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Transformasi Z 200 menit
No. LST/EKA/313/03 Revisi : 01 Tgl : 1 Maret 2008 Hal 26 dari 43

% Program 4.4
% Tanggapan frekuensi dari suatu sistem diskrit
zeta = 0.7; % keofisien redaman
num = 1;
den = [1, 2*zeta, 1]; % system orde 2
Ts = 0.5;
[nd,dd] = c2dm(num,den,Ts,'zoh');
point = 512;
Fs = 2*pi;
[H,q] = freqz(nd,dd,point,Fs);
g = ones(size(q))*0.707;
M = abs(H);
plot(q,M,'o',q,g,'--'), grid

Tugas 4.
a). Ubahlah [H,q] = freqz(b,a,point,Fs) menjadi
[H,q] = freqz(b,a,point,’whole’,Fs).
Amati dan catat hasilnya. Apa yang dimaksud dengan variabel point dan Fs pada
program di atas?
b) . Ganti nilai zeta berturut-turut dengan 1.5 dan 0.3, amati perubahan pada tampilan
dan catat.
c). Masih pada nilai zeta ke 0.3, gantilah 'zoh' pada fungsi c2dm bertutrut-turut
dengan 'foh', 'tustin' dan 'matched'. Catat perubahan nilai pada variabel
nd dan dd. Amati juga tampilannya, apabila ada perubahan, catat.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis IIR 200 menit
No. LST/EKA/313/05 Revisi : 01 Tgl : 1 Maret 2008 Hal 27 dari 43

1. Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat merancang suatu filter digital
sederhana

2. Sub Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat :
a. Merancang filter analog, khususnya yang menggunakan pendekatan Butterworth
b. Merancang filter digital IIR berbasis rancangan filter analog
c. Menerapkan filter digital IIR untuk memfilter sinyal

3. Dasar Teori
Filter prototype adalah filter low pass dengan frekuensi cut off 1 rad/detik.

1 rad/s

Orde Filter ditentukan oleh pangkat tertinggi dari polinomial s yang ada pada
penyebut fungsi alih suatu filter.
1
Contoh: Filter orde 1 : G (s ) =
s +1
1
Filter orde 2 : G (s ) =
s + 1.414s + 1
2

1
Filter orde 3 : G (s ) =
s + 2s + 2s + 1
3 2

Transformasi frekuensi adalah proses transformasi dari fungsi alih filter prototype
ke fungsi alih filter yang dikehendaki :

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis IIR 200 menit
No. LST/EKA/313/05 Revisi : 01 Tgl : 1 Maret 2008 Hal 28 dari 43

Prototype orde n Transformasi frekuensi ke frekuensi Orde


Lowpass ke lowpass s n
s=
ω0
Lowpass ke highpass ω0 n
s=
s
Lowpass ke bandpass s 2 + ω1ω 2 2n
s=
s(ω 2 − ω1 )
Lowpass ke bandstop s(ω 2 − ω1 ) 2n
s=
s 2 + ω1ω 2

dengan ω = 2πf radian dan f adalah frekuensi cut-off filter dalam Hz.
Transformasi bilinear adalah proses transformasi dari transformasi Laplace ke
transformasi Z, dengan rumus :
2  z −1
s=   , dimana T adalah periode sampling.
T  z + 1

4. Alat dan Bahan


PC (personal computer) yang sudah terinstal sistem operasi Windows dan perangkat
lunak Matlab (versi 5.3.1 atau yang lebih baru) yang dilengkapi dengan toolbox-nya.

5. Keselamatan Kerja
a. Buat folder kerja untuk setiap mahasiswa di drive selain C.
b. Aktifkan folder kerja tersebut setiap memulai Matlab
c. Setiap kali selesai menulis program segera simpan file program tersebut

6. Langkah kerja
Ketik program-program berikut dalam Editor MATLAB, beri nama yang sesuai
dengan isinya, kemudian di-run. Perhatikan dan catat hal-hal yang penting, lalu kerjakan
tugas-tugas yang diberikan.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis IIR 200 menit
No. LST/EKA/313/05 Revisi : 01 Tgl : 1 Maret 2008 Hal 29 dari 43

% Program 5.1
% Filter prototype Butterworth
orde = input('Masukkan orde dari filter prototype : ');
[z,p,k] = buttap(orde);
[num,den] = zp2tf(z,p,k);
w = logspace(-1,2);
[mag,phase] = bode(num,den,w);
[m1,ph1] = bode(0.707,1,w);
logmag = 20*log10(mag);
logm1 = 20*log10(m1); % garis –3 dB
semilogx(w,logm1,w,logmag), grid;
xlabel('frekuensi (rad/detik)');
ylabel('magnitude (dB)');
title('Diagram Bode Filter Prototype');

Tugas 1.
(a). Isi orde filter pada berturut-turut dengan 1, 2, dan 3. Catat nilai variabel num dan den
masing-masing. Kemudian amati dan catat perbedaan tampilannya. Berapa kemiringan
transition band masing-masing? Nyatakan dalam satuan db/oktav.

Orde filter Nilai num Nilai den Kemiringan transition band


1
2
3

(b). Coba pula untuk mengganti fungsi buttap dengan cheb1ap, lalu ulangi langkah
(a). Apa perbedaan tampilan yang mencolok antara keduanya?
% Program 5.2
% Transformasi frekuensi
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis IIR 200 menit
No. LST/EKA/313/05 Revisi : 01 Tgl : 1 Maret 2008 Hal 30 dari 43

[z,p,k] = buttap(2); % filter orde 2


[num,den] = zp2tf(z,p,k);
wc = 10; % frekuensi cut-off baru dalam rad/detik
[n1,d1] = lp2lp(num,den,wc);
w = logspace(-1,3);
[mag,phase] = bode(n1,d1,w);
[m1,ph1] = bode(0.707,1,w);
logmag = 20*log10(mag);
logm1 = 20*log10(m1);
semilogx(w,logm1,w,logmag), grid;
xlabel('frekuensi (rad/detik)');
ylabel('magnitude (dB)');
title('Diagram Bode Filter');

Tugas 2.
(a). Gantilah nilai variabel wc berturut-turut dengan 5 dan 50. Amati nilai variabel n1, d1
dan amati tampilannya.
wc n1 d1
1 5
2 50

(b). Ubahlah fungsi lp2lp menjadi lp2hp dan ulangi tugas (a).
(c). Ubahlah fungsi lp2lp menjadi lp2bp dan lp2bs, serta ulangi tugas (a).
Perhatikan parameter kedua fungsi tersebut.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis IIR 200 menit
No. LST/EKA/313/05 Revisi : 01 Tgl : 1 Maret 2008 Hal 31 dari 43

% Program 5.3
% Penerapan filter analog
t = 0:0.001:2;
f1 = 2;
f2 = 30; % dalam Hz
x = sin(2*pi*f1*t) + sin(2*pi*f2*t);
subplot(211), plot(t,x), grid;
xlabel('waktu (detik)'), ylabel('simpangan');
title('Sinyal sebelum difilter');
[z,p,k] = buttap(2); % filter prototype orde 2
[n,d] = zp2tf(z,p,k);
fc = 5; % dalam Hz
wc = 2*pi*fc; % dalam radian/detik
[n1,d1] = lp2lp(n,d,wc); % transformasi frekuensi
sys = tf(n1,d1);
y = lsim(sys,x,t);
subplot(212), plot(t,y), grid;
xlabel('waktu (detik)'), ylabel('simpangan');
title('Sinyal setelah difilter');

Tugas 3.
a. Ubahlah fungsi lp2lp menjadi lp2hp dan carilah nilai variabel wc agar hasil
filter hanya sinyal frekuensi tinggi.
b. Modifikasi program di atas, agar mencampur 3 sinyal. Sinyal ketiga yaitu sinyal
sinus frekuensi 100 Hz. Desainlah filter bandpass sehingga keluaran program
adalah sinyal frekuensi tengah, atau sinyal sinus 30 Hz.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis IIR 200 menit
No. LST/EKA/313/05 Revisi : 01 Tgl : 1 Maret 2008 Hal 32 dari 43

% Program 5.4
% Desain filter digital IIR
[z,p,k] = buttap(3); % filter orde 3
[num,den] = zp2tf(z,p,k);
fc = 2; % frek cut-off dalam Hz
wc = 2*pi*fc; % frek cut-off dalam rad/detik
[n1,d1] = lp2lp(num,den,wc);
fs = 50; % frekuensi sampling (Hz)
points = 512;
[nd,dd] = bilinear(n1,d1,fs);
[h,w] = freqz(nd,dd,points,fs);
[h3,w] = freqz(0.707,1,points,fs);
subplot(121), plot(w,h3,w,abs(h)), grid;
xlabel('frekuensi (Hz)');
ylabel('magnitude');
title('Diagram Bode Filter');
% *** tampilan dalam semilog ***
mag = 20*log10(abs(h));
m3 = 20*log10(abs(h3));
subplot(122), semilogx(w,m3,w,mag), grid;
xlabel('frekuensi (Hz)');
ylabel('magnitude (dB)');
title('Diagram Bode Filter');

Tugas 4.
Ubahlah nilai variabel fc berturut-turut dengan 5 dan 10. Amati nilai variabel n1, d1, nd
dan dd, serta amati tampilannya.

fc n1 d1 nd dd

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis IIR 200 menit
No. LST/EKA/313/05 Revisi : 01 Tgl : 1 Maret 2008 Hal 33 dari 43

5
10

% Program 5.5
% Penerapan filter digital
n = 0:250;
T = 0.01;
f1 = 2; f2 = 30; % frekuensi sinyal dalam Hz
x = sin(2*pi*f1*n*T) + sin(2*pi*f2*n*T);
subplot(211), plot(n*T,x), grid;
xlabel('waktu (detik)');
ylabel('simpangan');
title('Sinyal sebelum difilter');
[z,p,k] = buttap(2); % orde filter = 2
[num,den] = zp2tf(z,p,k);
fc = 5; % frek cut-off dalam Hz
wc = 2*pi*fc; % frek cut-off dalam radian/detik
[n1,d1] = lp2lp(num,den,wc);
[nd,dd] = bilinear(n1,d1,1/T);
y = filter(nd,dd,x);
subplot(212), plot(n*T,y), grid;
xlabel('waktu (detik)');
ylabel('simpangan');
title('Sinyal setelah difilter');

Tugas 5.
Pada program 5.5, gantilah orde filter berturut-turut dengan 1 dan 3, apakah pengaruhnya
pada tampilan hasil filter?

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 34 dari 43

1. Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat merancang suatu filter digital
sederhana

2. Sub Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat merancang filter digital FIR dan
menerapkannya untuk memfilter sinyal

3. Dasar Teori
Filter digital FIR, dibandingkan filter IIR, mempunyai kelebihan berupa sudut fase
yang linier. Sudut fase yang tidak linier, sesuatu yang umum pada filter IIR, dapat
menyebabkan terjadinya gangguan pada sinyal fungsi waktu. Sementara itu, sudut fase
yang linier hanya mengakibatkan terjadinya waktu tunda pada sinyal yang diproses
(difilter). Kekurangan filter FIR, dibanding dengan filter IIR, adalah memerlukan orde
yang jauh lebih tinggi, untuk hasil yang sama.
Suatu filter FIR dapat didesain dengan memotong tanggapan impuls dari suatu
filter IIR. Bila h(n) adalah tanggapan impuls dari karakteristik filter IIR H(Ω), maka
tanggapan impuls dari filter IIR :
h (n ), 0 ≤ n ≤ N - 1
h d (n ) = 
 0, n lainnya
dengan N adalah panjang filter atau orde filter.
H(Ω)

-π - Ωc 0 Ωc π Ω
Gambar 6.1. Tanggapan frekuensi filter lowpass ideal

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 35 dari 43
0.14

0.12

0.1

0.08

0.06
h(n)

0.04

0.02

-0.02

-0.04
-50 -40 -30 -20 -10 0 10 20 30 40 50
n

Gambar 6.2. Tanggapan impuls dari filter lowpass ideal (tampilan dipotong)

0.14

0.12

0.1

0.08

0.06
h(n)

0.04

0.02

-0.02

-0.04
0 5 10 15 20 25 30
n

Gambar 6.3. Tanggapan impuls filter lowpass FIR untuk N = 31


Fungsi alih z dari filter FIR diberikan oleh:
N −1
H d (z ) = ∑ h d (n )z − n
n =0

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 36 dari 43

Sedangkan tanggapan frekuensi filter FIR dapat dihitung dengan:


N −1
H d (Ω ) = ∑ h d (n )e − jnΩ
n =0

Secara analitis, pemotongan tanggapan impuls tersebut dapat dinyatakan dengan


mengalikan tanggapan impuls dengan suatu sinyal w(n):
hd(n) = w(n) h(n)
dimana w(n) atau dikenal sebagai window. Salah satu window, yaitu rectangular window,
dirumuskan dengan:
1, 0 ≤ n ≤ N - 1
w (n ) = 
0, n lainnya

4. Alat dan Bahan


PC (personal computer) yang sudah terinstal sistem operasi Windows dan perangkat
lunak Matlab (versi 5.3.1 atau yang lebih baru) yang dilengkapi dengan toolbox-nya.

5. Keselamatan Kerja
d. Buat folder kerja untuk setiap mahasiswa di drive selain C.
e. Aktifkan folder kerja tersebut setiap memulai Matlab
f. Setiap kali selesai menulis program segera simpan file program tersebut

6. Langkah kerja
Ketik program-program berikut dalam Editor MATLAB, beri nama yang sesuai dengan
isinya, kemudian di-run. Perhatikan dan catat hal-hal yang penting, lalu kerjakan tugas-
tugas yang diberikan.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 37 dari 43

% program 6.1
% perbandingan respon frekuensi filter IIR dan FIR
N = 11; % orde filter
[z,p,k] = buttap(N); % *** filter IIR ***
[num,den] = zp2tf(z,p,k);
wc = 5; % frek cut-off dalam rad/det
[n1,d1] = lp2lp(num,den,wc); % transformasi frekuensi
T = 0.1; % periode sampling (detik)
[nd,dd] = bilinear(n1,d1,1/T);
[H,omega] = freqz(nd,dd);
fase = 180/pi * unwrap(angle(H));
subplot(221), plot(omega,0.707,omega,abs(H)), grid;
title('respon frekuensi filter IIR');
xlabel('frekuensi (rad/sampel)'), ylabel('magnitude');
subplot(222), plot(omega,fase), grid;
xlabel('frekuensi '), ylabel('sudut fase (der)');
omegac = 0.5; % frekuensi cut-off digital = wc * T
m = (N-1)/2; % penggeseran
n = 0:2*m; % penetapan titik untuk plot
h = omegac/pi * sinc(omegac*(n-m)/pi);
w = [ones(1,N) zeros(1, length(n)-N)]; % window
hd = h .* w;
[Hd, omega1] = freqz(hd, 1);
phase = 180/pi * unwrap(angle(Hd));
subplot(223), plot(omega1,0.707,omega1,abs(Hd)), grid;
title('respon frekuensi filter FIR');
xlabel('frekuensi (rad/sampel)'), ylabel('magnitude');
subplot(224), plot(omega1,phase), grid;
xlabel('frekuensi '), ylabel('sudut fase (der)');

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 38 dari 43

Tugas 1.
(a). Amati perbedaan tampilan filter IIR dan filter FIR. Perhatikan hal hal berikut : puncak
magnitude, riak (ripple) pada magnitude, frekuensi cut-off, dan sudut fase
Tipe filter Puncak Riak pada Frekuensi Sudut fase
magnitude magnitude cut-off

IIR

FIR

(b). Gantilah window (variabel w) berturut-turut dengan


i. w = [hamming(N)’ zeros(1,length(n)-N)];
ii. w = [0 hanning(N-2)’ zeros(1,length(n)-N+1)];
Ulangi langkah (a) untuk masing-masing window.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 39 dari 43

% Program 6.2
% Perbandingan Penerapan Filter IIR dan FIR
n = 0:150;
T = 0.2; % periode sampling
f1 = 1/(2*pi); f2 = 5/(2*pi); % frekuensi sinyal (Hz)
x = cos(2*pi*f1*T*n) + cos(2*pi*f2*T*n); % sinyal input
subplot(211), plot(n*T,x), grid;
title('sinyal sebelum difilter');
xlabel('waktu'), ylabel('simpangan');
[z,p,k] = buttap(3); % orde filter IIR = 3;
[num,den] = zp2tf(z,p,k);
wc = 2; % frekuensi cutoff (rad/detik)
[n1,d1] = lp2lp(num,den,wc);
[nd,dd] = bilinear(n1,d1,1/T);
% frekuensi digital = wc * T
y1 = filter(nd,dd,x);
subplot(223), plot(n*T,y1), grid;
xlabel('waktu'), ylabel('simpangan');
title('hasil LPF IIR orde 3');
omegac = 0.4; % frekuensi cut-off digital
N = 21; % orde filter FIR
m = (N-1)/2; % penggeseran
h = omegac/pi * sinc(omegac*(n-m)/pi);
w = [ones(1,N) zeros(1, length(n)-N)]; % window
hd = h .* w;
y2 = filter(hd,1,x); % sinyal output
subplot(224), plot(n*T,y2), grid;
title('hasil LPF FIR orde 21');
xlabel('waktu'), ylabel('simpangan');

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 40 dari 43

Tugas 2.
Gantilah panjang filter N, berturut-turut dengan:
a. N = 41;
b. N = 81;
Amati perubahan tampilan dan catat. Apakah semakin panjang filter hasilnya semakin
baik? Bagaimana dengan waktu tundanya?

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 41 dari 43

% program 6.3
% perbandingan filter FIR
N = 31; % orde filter
omegac = 0.8; % frekuensi cut-off digital
wn = omegac/pi;
b1 = fir1(N,wn); % function untuk mendesain filter FIR
[H,omega] = freqz(b1,1);
fase = 180/pi * angle(H);
subplot(221), plot(omega,0.707,omega,abs(H)), grid;
xlabel('frekuensi'), ylabel('magnitude');
subplot(222), plot(omega,unwrap(fase)), grid;
xlabel('frekuensi'), ylabel('sudut fase');
% *** Desain filter FIR secara sederhana ***
m = (N-1)/2; % penggeseran
n = 0:2*m; % penetapan titik untuk plot
h = omegac/pi * sinc(omegac*(n-m)/pi);
w = [ones(1,N) zeros(1,length(n)-N)]; % window
hd = h .* w;
[Hd,omega1] = freqz(hd,1);
fase1 = 180/pi * angle(H);
subplot(223), plot(omega1,0.707,omega1,abs(Hd)), grid;
xlabel('frekuensi'), ylabel('magnitude');
subplot(224), plot(omega1,unwrap(fase1)), grid;
xlabel('frekuensi'), ylabel('sudut fase');
Tugas 3.
Gantilah window (variabel w) berturut-turut dengan
a. w = [hamming(N)’ zeros(1,length(n)-N)];
b. w = [0 hanning(N-2)’ zeros(1,length(n)-N+1)];

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 42 dari 43

Amatilah perubahan tampilan dan catat, yaitu tentang tinggi magnitude, ripple, frekuensi
cut-off dan sudut fase.

% Program 6.4
% Karakteristik respon frekuensi
% filter yang didesain dengan function fir2
N = 30; % orde filter
% *** filter low pass ***
f1 = [0 0.3 0.3 1];
m1 = [1 1 0 0];
b1 = fir2(N,f1,m1);
[h1,w1] = freqz(b1,1,128);
subplot(211), plot(f1,m1,w1/pi,abs(h1)), grid;
title('karakteristik LPF');
xlabel('frekuensi ternormalisasi'), ylabel('magnitude');
% *** filter high pass ***
f2 = [0 0.7 0.7 1];
m2 = [0 0 1 1];
b2 = fir2(N,f2,m2);
[h2,w2] = freqz(b2,1,128);
subplot(212), plot(f2,m2,w2/pi,abs(h2)), grid;
title('karakteristik HPF');
xlabel('frekuensi ternormalisasi'), ylabel('magnitude');

Tugas 4.
Desainlah filter bandpass dan bandstop dengan menggunakan function fir2.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET PENGOLAHAN SINYAL DIGITAL
Semester IV Filter Digital Jenis FIR 200 menit
No. LST/EKA/313/06 Revisi : 01 Tgl : 1 Maret 2008 Hal 43 dari 43

% Program 6.5
% Penerapan filter yang didesain dari function fir2
n = 0:200;
T = 0.2; % periode sampling
x1 = cos(n*T);
x2 = cos(5*n*T);
x = x1 + x2;
subplot(221), plot(n*T,x1), grid;
title('sinyal x1');
xlabel('waktu'), ylabel('simpangan');
subplot(222), plot(n*T,x2), grid;
title('sinyal x2');
xlabel('waktu'), ylabel('simpangan');
subplot(223), plot(n*T,x), grid;
title('sinyal x1 + x2');
xlabel('waktu'), ylabel('simpangan');
N = 30; % orde filter
% *** Low Pass Filter FIR ****
f1 = [0 0.2 0.2 1];
m1 = [1 1 0 0];
b1 = fir2(N,f1,m1);
y1 = filter(b1,1,x); % sinyal keluaran
subplot(224), plot(n*T,y1), grid;
title('sinyal hasil LPF FIR');
xlabel('waktu'), ylabel('simpangan');

Tugas 5.
Untuk sinyal masukan yang sama, desainlah filter highpass sehingga keluarannya adalah
sinyal frekuensi tingginya.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
Aris Nasuha, MT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Anda mungkin juga menyukai