FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/01
Pengenalan MATLAB Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/01
Pengenalan MATLAB Revisi : 01
Tgl : 1 Maret 2008
200 menit 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
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/01
Pengenalan MATLAB Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 3 dari 43
klik Add Folder. Dari situ, pilih drive tempat folder akan ditempatkan, dan buat folder baru dengan memberi nama folder sesuai yang kita inginkan.
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: Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/01
Pengenalan MATLAB Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 4 dari 43
>> a * b’ ans = 32 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/01
Pengenalan MATLAB Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Pengenalan MATLAB
No. LST/EKA/313/01
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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.
6.
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
Langkah Kerja
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/01
7.
Bahan Diskusi
8.
Lampiran :
Dibuat oleh : Aris Nasuha, MT
Pengenalan MATLAB Revisi : 01
Tgl : 1 Maret 2008
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
200 menit Hal 7 dari 43
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Sinyal-sinyal Elementer
No. LST/EKA/313/02
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 0
2. Undak satuan (unit step), didefinisikan sebagai 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.
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Sinyal-sinyal Elementer
No. LST/EKA/313/02
Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 9 dari 43
Jika a bilangan real, maka x(n) adalah sinyal real. Jika a adalah bilangan komplek, maka a dapat dinyatakan sebagai : 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 2
sin(n )
e
jn
e jn 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.
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Sinyal-sinyal Elementer
No. LST/EKA/313/02
Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 10 dari 43
% Program 1.1. % Menampilkan sinyal Unit Impuls dan Unit Step n = 0:50; 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]); Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Sinyal-sinyal Elementer
No. LST/EKA/313/02
Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 11 dari 43
Tugas 2. a. Modifikasi program di atas untuk mendapatkan nilai tunda yang lain, misal 10 atau 30 atau yang lain. 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);
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Sinyal-sinyal Elementer
No. LST/EKA/313/02
Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 12 dari 43
% Program 1.4 % Menampilkan sinyal sinus kontinyu dan diskrit Ts1 = 0.0001;
Ts2 = 0.05;
% periode sampling
n1 = 0:5000; n2 = 0:10; 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'); Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Sinyal-sinyal Elementer
No. LST/EKA/313/02
Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 13 dari 43
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. % 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Konvolusi dan Analisis Sinyal Revisi : 01
Tgl : 1 Maret 2008
200 menit 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
Xk x n e j2 kn / N ,
dengan k 0,1, , 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:
x n
Dibuat oleh : Aris Nasuha, MT
1 N 1 Xk e j2 kn / N , N k 0
dengan n 0,1, , N 1
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Konvolusi dan Analisis Sinyal Revisi : 01
Tgl : 1 Maret 2008
200 menit 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.
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Konvolusi dan Analisis Sinyal Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 16 dari 43
% Program 2.1 % 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 Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Konvolusi dan Analisis Sinyal Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 17 dari 43
% Program 2.2 % 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(211), 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 ?
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Konvolusi dan Analisis Sinyal Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 18 dari 43
% Program 2.3. % 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 Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Konvolusi dan Analisis Sinyal Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 19 dari 43
% Program 2.4. % 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.
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Konvolusi dan Analisis Sinyal Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 20 dari 43
% Program 2.5. % 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 ?
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Konvolusi dan Analisis Sinyal Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 21 dari 43
% Program 2.6 % 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Transformasi Z Revisi : 01
200 menit
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 :
b 0 z 0 b1z 1 b 2 z 2 ... b n z m B(z) B(z) z n X( z ) A( z ) A(z) z n a 0 z 0 a 1z 1 a 2 z 2 ... a n 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 1z n 1 a 2 z n 2 ... a n
Xz z n m1 b 0 z n b1z n 1 b 2 z n 2 ... b n z p1 z p 2 z p n z
menjadi
r r r X( z ) 1 2 n k 1z n k 2 z n 1 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Transformasi Z Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 tugastugas 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.6z 3 0.8z 2 0.4z 1 3 z z 0.7z 2 0.7z 0.4
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Transformasi Z
No. LST/EKA/313/03
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/03
Transformasi Z Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Transformasi Z
No. LST/EKA/313/03
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis IIR
No. LST/EKA/313/05
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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. Contoh:
Filter orde 1 : Gs
1 s 1
Filter orde 2 : Gs
1 s 1.414s 1
Filter orde 3 : Gs
1 s 2s 2s 1
2
3
2
Transformasi frekuensi adalah proses transformasi dari fungsi alih filter prototype ke fungsi alih filter yang dikehendaki :
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis IIR
No. LST/EKA/313/05
Revisi : 01
200 menit
Tgl : 1 Maret 2008
Prototype orde n Lowpass ke lowpass
Transformasi frekuensi ke frekuensi s s 0
Lowpass ke highpass
s
Lowpass ke bandpass
s 2 12 s s2 1
Lowpass ke bandstop
s
0 s
s2 1 s 2 12
Hal 28 dari 43
Orde n n 2n 2n
dengan = 2f radian dan f adalah frekuensi cut-off filter dalam Hz. Transformasi bilinear adalah proses transformasi dari transformasi Laplace ke transformasi Z, dengan rumus : s
2 z 1 , 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis IIR
No. LST/EKA/313/05
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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? Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis IIR
No. LST/EKA/313/05
Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 30 dari 43
% Program 5.2 % Transformasi frekuensi [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 1
5
2
50
n1
d1
(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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis IIR
No. LST/EKA/313/05
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis IIR
No. LST/EKA/313/05
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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.
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis IIR
No. LST/EKA/313/05
fc
n1
Revisi : 01
d1
Tgl : 1 Maret 2008
nd
200 menit Hal 33 dari 43
dd
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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis FIR
No. LST/EKA/313/06
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 n lainnya 0,
dengan N adalah panjang filter atau orde filter. H() 1
-
- c
0
c
Gambar 6.1. Tanggapan frekuensi filter lowpass ideal Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis FIR
No. LST/EKA/313/06
Revisi : 01
200 menit
Tgl : 1 Maret 2008
Hal 35 dari 43
0.14
0.12
0.1
0.08
h(n)
0.06
0.04
0.02
0
-0.02
-0.04 -50
-40
-30
-20
-10
0 n
10
20
30
40
50
Gambar 6.2. Tanggapan impuls dari filter lowpass ideal (tampilan dipotong)
0.14
0.12
0.1
0.08
h(n)
0.06
0.04
0.02
0
-0.02
-0.04
0
5
10
15 n
20
25
30
Gambar 6.3. Tanggapan impuls filter lowpass FIR untuk N = 31 Fungsi alih z dari filter FIR diberikan oleh: Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/06
Filter Digital Jenis FIR Revisi : 01
Tgl : 1 Maret 2008
200 menit Hal 36 dari 43
N 1
H d z h d n z n n 0
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 tugastugas yang diberikan.
Dibuat oleh : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis FIR
No. LST/EKA/313/06
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/06
Filter Digital Jenis FIR Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 magnitude
Riak pada magnitude
Frekuensi cut-off
Sudut fase
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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV
Filter Digital Jenis FIR
No. LST/EKA/313/06
Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/06
Filter Digital Jenis FIR Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/06
Filter Digital Jenis FIR Revisi : 01
Tgl : 1 Maret 2008
200 menit 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; n = 0:2*m;
% penggeseran % 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/06
Filter Digital Jenis FIR Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PENGOLAHAN SINYAL DIGITAL Semester IV No. LST/EKA/313/06
Filter Digital Jenis FIR Revisi : 01
Tgl : 1 Maret 2008
200 menit 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 : Aris Nasuha, MT
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :