Filter FIR Dan Code Mathlab
Filter FIR Dan Code Mathlab
Dosen Pengajar:
Rachmat Saptono, ST., MT
Disusun Oleh:
Agustin Dwi Kurniawati
3A /02
1231130036
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.
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