TUGAS
PRAKTIKUM PEMROSESAN SINYAL DIGITAL
" FILTER DIGITAL FIR (FINITE IMPULSE RESPONSE) DENGAN MENGGUNAKAN MATHLAB"
Dosen Pengajar:
Rachmat Saptono, ST., MT
Disusun Oleh:
Agustin Dwi Kurniawati
3A /02
1231130036
PROGRAM STUDI TEKNIK TELEKOMUNIKASI
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2015
DESAIN FILTER DIGITAL FIR (FINITE IMPULSE RESPONSE) DENGAN MENGGUNAKAN
MATHLAB
Pengertian Filter
Filter merupakan suatu sistem yang mempunyai fungsi transfer tertentu
untuk meloloskan sinyal masukan pada frekuensi - frekuensi tertentu dan
menyaring / memblokir / melemahkan sinyal masukan pada frekuensi-frekuensi
yang lain.
Filter Digital
Filter digital adalah semua filter elektronik yang bekerja dengan
menerapkan operasi matematika digital atau algoritma pada suatu pemrosesan
sinyal. Salah satu batasan utama pada filter digital adalah dalam hal
keterbatasan kecepatan pemrosesan/waktu komputasi yang sangat tergantung
dengan kemampuan mikrokontroler atau komputer yang digunakan.
Pada sistem digital, filter dirancang berupa software dan dapat
diaplikasikan seperti
pada blok di bawah.
Gambar 1. Blok Diagram Filter Digital
Dibandingkan dengan filter analog filter digital mempunyai kelebihan
antara lain:
a) Filter digital lebih mudah diubah-ubah dan programmable. Filter digital
membutuhkan memori-prosessor dan filter analog membutuhkan rangkaian
filter, sehingga untuk mengubah filter berarti mengubah rangkaian.
b) Filter digital lebih mudah di design, tes, dan
diimplementasikan/dihubungkan pada komputer
c) Karakteristik rangkaian analog yang lebih mudah terkena gangguan (noise
/ temperatur). Filter digital lebih stabil – tergantung komputer
d) Dalam praktek, filter digital menggunakan DSP (PLC/mikrokontroller/DSP
card) relatif lebih simpel dan compact dibandingkan rangkaian analog.
FIR (Finite Impulse Response)
Filter FIR adalah salah satu tipe dari filter digital yang dipakai pada
aplikasi Digital Signal Processing (DSP). FIR kepanjangan dari Finite
Impulse Response. Filter ini disebut sebagai finite karena tidak ada
feedback didalam filter, jika memasukkan sebuah impulse (yaitu sebuah
sinyal 1 diikuti dengan banyak sinyal 0 ), sinyal nol akan keluar
setelah sinyal 1 melewati semua delay line dengan koefisiennya.
Keuntungan filter FIR antara lain adalah stabil dan memiliki phasa yang
linier. Sedangkan kerugiannya adalah filter FIR terkadang membutuhkan lebih
banyak memory dan/atau perhitungan untuk mencapai karakteristik respon
filter yang diberikan. Dan juga, respon tertentu tidak mudah dilaksanakan
untuk diimplementasikan dengan filter FIR.
Blok dari filter FIR seperti pada Gambar di bawah
Gambar 2. Blok Filter FIR
Bentuk respon impuls dari filter FIR dinyatakan
Fungsi alih dari filter FIR
Filter FIR menggunakan MATLAB
Contoh 1:
Menghitung koefisien filter low-pass dengan frekuensi cut-off 2 KHz yang
mempunyai frekuensi sampling dengan menggunakan Matlab.
Jawab:
Menghitung nilai frekuensi cut-off pada domain frekuensi
Dirancang :
setengah dari frekuensi sampling 8kHz : 2 = 4kHz (pada sumbu fekuensi
bernilai 1 saat 4kHz)
saat frekuensi cut off 2kHz 2 kHz : 4 kHz = 0,5 (pada sumbu frekuensi
bernilai 0,5 saat 4 kHz)
Untuk menghitung nilai koefisien dari filter dengan MATLAB dapat
menggunakan
perintah :
X=fir2(orde,F,M,blackman(orde+1));
Dimana:
x = nilai koefisien dari filter yang dirancang
orde = nilai orde dari filter yang dirancang
F = nilai fekuensi
M = nilai magnitude
Blackman = jenis membangkitkan blackman windows (selain blackman ada
juga hamming, chebwin, hanning, dan lainnya)
m-file
M=[1 1 1 1 1 0 0 0 0 0 0];
F=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1];
% orde 15
nx1=fir2(15,F,M,blackman(16));
[y1,w1]=freqz(nx1,1,128);
% orde 10
nx2=fir2(10,F,M,blackman(11));
[y2,w2]=freqz(nx2,1,128);
% orde 5
nx3=fir2(5,F,M,blackman(6));
[y3,w3]=freqz(nx3,1,128);
plot(w1/pi,abs(y1),'kO',w2/pi,abs(y2),'kp',w3/pi,abs(y3),'kx' );
grid on;
ylabel('magnitude');
xlabel('frekuensi');
Dari gambar diatas dapat dibandingkan semakin besar orde yang digunakan
maka
semakin curam filter low pass (semakin mendekati ideal).
Contoh 2:
Kita akan merancang sebuah LPF dengan frekuensi cut off sebesar 2000 Hz.
Frekuensi sampling yang ditetapkan adalah 10000 Hz. Orde filter ditetapkan
sebesar 32. Maka langkah pembuatan programnya adalah sebagai berikut:
M – File
fs=10000;
[x,fs]=wavread('a.wav');
Wn = .20;
N = 32;
LP = fir1(N,Wn);
[H_x,w]=freqz(LP);
len_f=length(H_x);
f=1/len_f:1/len_f:1;
plot(f,20*log10(abs(H_x)))
grid
Contoh 3:
Kita akan merancang sebuah Band Pass Filter (BPF) dengan frekuensi cut off
sebesar 2000 Hz (untuk daerah rendah) dan 5000 Hz (untuk daerah tinggi).
Frekuensi sampling yang ditetapkan adalah 10000 Hz. Orde filter ditetapkan
sebesar 32. Beberapa bagian program diatas perlu modifikasi seperti
berikut.
Wn1 = [.20, .50];
BP = fir1(N,Wn1);
Contoh 4:
Kita akan merancang sebuah High Pass Filter (HPF) dengan frekuensi cut off
sebesar
5000 Hz (untuk daerah tinggi). Frekuensi sampling yang ditetapkan adalah
10000Hz.
Orde filter ditetapkan sebesar 32. Beberapa bagian program diatas perlu
modifikasi
seperti berikut.
Wn2 = .50;
HP = fir1(N,Wn2,'high');
Hasilnya berupa akan didapatkan respon frekuensi seperti pada Gambar 7
berikut ini.
Sebuah Low Pass Filter Desain Sederhana
Sebuah low pass filter yang ideal membutuhkan respon impulse yang tak
terbatas . Truncating ( atau windowing ) hasil respon impuls dalam apa yang
disebut window metode desain filter FIR . Pertimbangkan desain sederhana
low pass filter dengan frekuensi cutoff dari 20 kHz dan frekuensi sampling
96 kHz
M - File
Fc = 20e3; % 8.25 kHz cutoff frequency
Fs = 96e3; % 96 kHz sampling frequency
N = 100; % FIR filter order
LP = fdesign.lowpass('N,Fc',N,Fc,Fs); % Fs is always trailing argument
FIR_Hamming = design(LP,'window','window',@hamming,'SystemObject',true);
FIR_Hann = design(LP,'window','window',@hann,'SystemObject',true);
hfvt = fvtool(FIR_Hamming,FIR_Hann,'Color','White');
legend(hfvt,'Hamming window design','Hann window design')
Misalnya, dengan Hann Window, kita dapat mengurangi daerah transisi dengan
meningkatkan urutan filter :
M- File
LP.FilterOrder = 200; % Change filter order from 100 to 200
FIR_Hann200 = design(LP,'window','window',@hann,'SystemObject',true);
hfvt = fvtool(FIR_Hann,FIR_Hann200,'Color','White');
legend(hfvt,'Hann window design. Order = 100',...
'Hann window design. Order = 200')
DAFTAR PUSTAKA
https://trinurti.files.wordpress.com/2009/07/modul-pengolahan-sinyal1.pdf
diakses pada tanggal 28 Januari 2015
http://elektronika-dasar.web.id/teori-elektronika/definisi-dan-jenis-filter-
digital/ diakses pada tanggal 28 Januari 2015
http://analisis-wahyuhadi.blogspot.com/2009/12/analog-digital-filter-
menggunakan.html diakses pada tanggal 28 Januari 2015
http://www.mathworks.com/help/signal/ug/fir-filter-design.html diakses pada
tanggal 28 Januari 2015
http://www.mathworks.com/help/dsp/examples/designing-low-pass-fir-
filters.html diakses pada tanggal 28 Januari 2015