Disusun oleh :
Nama
NIM
: 12/331380/PA/14638
Assisten
: Rahmawan Budikusumo
2015
I.
TUJUAN
Mengoptimalkan metode Fourier Transform
Dapat menggunakan dan mengaplikasikan metode optimal
II.
DASAR TEORI
Filter digital adalah suatu piranti yang sangat dibutuhkan oleh sistemsistem elektronika,
misalnya saja untuk pengolahan sinyal audio dan image processing. Kita dapat
menggunakan filter analog untuk melakukan tugas ini, namun filter digital memberikan
fleksibilitas dan akurasi yang lebih baik dibanding filter analog. Filter digital dapat dibagi
menjadi dua yaitu filter digital IIR (Infinite Impulse Response) dan filter digital FIR (Finite
Impulse Response). Ada beberapa metode untuk merancang filter digital FIR. Salah satu
metode yang sering digunakan adalah metode optimal.
1. Filter Digital FIR ( Finite Impulse Response)
Filter digital dalam konteks software adalah suatu prosedur matematika / algoritma yang
mengolah sinyal masukan digital dan menghasilkan isyarat keluaran digital dengan sifat
tertentu sesuai tujuan filter. Banyak sistem digital menggunakan pemfilteran sinyal
untuk :
Memisahkan sinyal sinyal yang telah digabung, misalnya rekaman musik dan
noise yang tercampur selama proses perekaman
Memisahkan sinyal sinyal sesuai dengan frekuensi yang diinginkan
Restorasi sinyal yang telah mengalami perubahan
Dua jenis filter digital yang menyediakan fungsi fungsi di atas adalah filter Finite
Impulse Response (FIR) dan filter Infinite Impulse Response (IIR). Pembagian ini
berdasarkan pada respon impuls filter tersebut. FIR memiliki respon impuls yang
panjangnya terbatas, sedangkan IIR tidak terbatas. FIR sering juga disebut sebagai filter
non-rekursif dan IIR sebagai filter rekursif. Pembagian ini berdasarkan pada cara
pengimplementasian filter yaitu rekursif dan konvolusi (non-rekursif). Bila
dibandingkan dengan filter IIR, filter FIR memiliki beberapa kelebihan, diantaranya :
2. Metode Optimal
Kunci dari penggunaan metode ini adalah penggunaan fungsi remez. remez akan
memdesain fase linear FIR menggunakan algoritma Park-McClellan. Biasa disebut dengan
metode Remez.
Metode ini mendesain secara optimal fase linear filter
Metode ini merupakan metode standar untuk membuat FIR filter
Metodologi yang dibuat akan mendesain filter simetris yang meminimalisasi panjang
pada desain constrains{p, s, p, s}.
Hasil dari filter meminimalisasi error antara frekuensi yang diinginkan dengan frekuensi
yang didapat dengan menyebarkan kesalahan pendekatan pada masing masing band
(band stop dan band pass).
Filter tersebut yang menunjukkan ripple yang bain pada kedua passband dan stopband
maka sering disebut equiripple filters.
Dengan ripple dan attenuasi sudah ditentukan untuk menjadi metode optimal.
Pengurangan error dapat dengan megalikan ds dan dp ( dengan sebelumnya digunakan
ds dan dp niali absolut) dengan weight (ws wp) sebagai patokan ideal.
maka :
Lalu didapat Ws dan Wp sebagai faktor error weight. Penggunaan Remez sebagai
perhitungan coefisien filter. Dengan sintaks fungsi : b = remez(n,f,a)
sintaks b merupakan vector baris yang menyatakan n+1 koefisien dari n FIR dengan
frekuensi amplitude yang karakteristiknya diberikan oleh vector f dan a. Output filter
coefisien (taps) dalam b relasinya :
adalah vector dengan sepasang frekuensi point yang mempunyai spesifikasi range dari
0 dan 1, ketika 1 akan menjadi setengah dari frekuensi sampling (Nyquist frequency).
adalah vector yang memuat amplitude yang diinginkan dengan spesifikasi point pada
vector f.
dan a harus sama dimensinya dan dimensinya harus berupa angka.
remez(n,f,a,w)
menggunakan weights pada vector w sehingga dapat pas tepat pada setiap
band frekuensi panjang dari w adalah setengah dari panjang f san a maka terlihat satu 1 weight
per band. Dengan Ws dan Wp sebagai faktor error weight.
III.
Listing kode
Penjabaran arti
fs = 8000;
fold = fs/2;
stop = 40;
k1
k2
k3
k4
dp = 10^(1/20)-1;
ds = 10^(-stop/20);
ws = dp;
wp = ds;
f = [k1 k2 k3 k4];
m = [1 1 0 0 ];
w = [wp ws];
figure(1);
b = remez(36,f,m,w);
freqz(b,1,512,fs);
axis([0 fs/2 -80 10]);
figure(2);
stem(b);
=
=
=
=
0/fold;
1200/fold;
1500/fold;
4000/fold;
B. Bandpass Filter
1. Frekuensi respon dari Bandpass filter setelah menggunakan metode optimal
Bandpass Filter
Bagian
ke-
Listing kode
Penjabaran arti
fs = 8000;
fold = fs/2;
stop = 40;
k1
k2
k3
k4
k5
k6
dp = 10^(1/20)-1;
ds = 10^(-stop/20);
ws = dp;
wp = ds;
f = [k1 k2 k3 k4 k5 k6];
m = [0 0 1 1 0 0 ];
w = [ws wp ws];
figure(1);
b = remez(33,f,m,w);
format long;
freqz(b,1,512,fs);
axis([0 fs/2 -80 10]);
figure(2);
stem(b);
=
=
=
=
=
=
0/fold;
800/fold;
1200/fold;
1600/fold;
2000/fold;
4000/fold;
3. Bandstop Filter
1. Frekuensi respon dari bandstop filter setelah menggunakan metode optimal
Bandstop Filter
Bagian
ke-
Listing kode
Penjabaran arti
fs = 8000;
fold = fs/2;
stop = 50;
k1
k2
k3
k4
k5
k6
dp = 10^(1/20)-1;
ds = 10^(-stop/20);
a = dp/ds;
ws = dp;
wp = ds;
f = [k1 k2 k3 k4 k5 k6];
m = [1 1 0 0 1 1 ];
w = [wp ws wp];
figure(1);
b = remez(29,f,m,w);
format long;
freqz(b,1,512,fs);
axis([0 fs/2 -80 10]);
figure(2);
stem(b);
=
=
=
=
=
=
0/fold;
1200/fold;
1800/fold;
2000/fold;
2600/fold;
4000/fold;
IV.
PEMBAHASAN
A. Lowpass Filter
Pada percobaan ini hal tepenting yang harus diperhatikan adalah bagaimana
mencari dan menganalisis suatu error yang ada dari lowpass filter dan dapat
meminimalisir error tersebut menggunakan metode optimal. Lowpass filter
tersebut mempunyai spesifikasi :
Sampling rate = 8000Hz
Passband = 0-1200Hz
Stopband = 1500-4000Hz
Passband riplle =1dB
Stopband Attenuation = 40dB
Pembuatan gelombang ini adalah sama seperti percobaan minggu lalu
mengenai FIR. Menampilkan frekuensi respon dengan penggunaan numerator
fungsi remez. FIR mempunyai karakteristik tanpa feedback (finite) maka pada
denumerator diberi nilai 1. FIR filter ini menggunakan built-in respon pada
ranah frekuensi (component sebagai input) dari sintem diskrit yang
dinotasikan : freqz( )
Freqz() akan menghitung dan memplot magnitude (pada nilai absolut) dari
frekuensi respon. sintaks yang dipakai : freqz(b,1,512,8000)
frekuensi Dapat dianalisis bahwa pada freqz diatas bahwa sapling yang
digunakan 8000Hz dengan 512 sample waktu yang dibutuhkan tanpa
kembalian (1).
Perbedaan dengan minggu lalu adalah pada metode yang digunakan untuk
meminimalisir adanya error yang diberikan agar mencapai spesifikasi yang
ditentukan, minggu lalu menggunakan metode window sedangkan praktikum
minggu ini menggunakan metode optimal.
Kunci dari penggunaan metode ini adalah penggunaan fungsi remez.
remez akan memdesain fase linear FIR menggunakan algoritma ParkMcClellan. Seperti yang telah dipaparkan pada bagian dasar teori bahwasanya
fungsi remez tersebut memerlukan n koefisien, frekuensi point(f),
amplitude point (m) dan error weight(w).
b = remez(36,f,m,w);
1. n koefisien FIR
Mencari n koefisien sendiri adalah dengan cara test and trial (coba-coba)
dengan dasar spesifikasi yang dibutuhkan. Dengan stopband attenuation
adalah 40dB maka spesifikasinya tidak boleh di atas 40dB (pada stop band
attenuation).
dapat dilihat bahwa stopband attenuation di puncaknya adalah bernilai 41.42 dB yang berarti telah sesuai seperti spesifikasi (kurang dari -40dB).
2. Frekuensi point
Frekuensi point ini merupakan nilai yang diinginkan (band stop atau band
pass) dengan memberikan setengah dari frekuensi sampling dibagi dengan
frekuensi band dan di simpang ke dalam sebuah matriks
f = [k1 k2 k3 k4]; dengan :
k1
k2
k3
k4
=
=
=
=
passband
passband
stopband
stopband
0Hz
1200Hz
1500Hz
4000Hz
3. Amplitude Point
Nilai amplitude adalah 1 atau 0 dengan berdasar kepada frekuensi point
yang dimensinya atau panjang matriksnya adalah sama seperti frekuensi
point. Dikarenakan lowpas filter maka amplitude point nya adalah
[ 1 1 0 0] seperti gambar ideal lowpass filter :
nilai amplitude pass band adalah 1 dan nilai amplitude stop band adalah 0
korelasi terhadap frekuensi point :
frekuensi 0Hz (pass band) amplitude 1
frekuensi 1200Hz (pass band) amplitude 1
Perhitungan
dp = 10^(1/20)-1;
ds = 10^(-stop/20);
maka pada denumerator diberi nilai 1. FIR filter ini menggunakan built-in
respon pada ranah frekuensi (component sebagai input) dari sintem diskrit
yang dinotasikan : freqz( )
Freqz() akan menghitung dan memplot magnitude (pada nilai absolut) dari
frekuensi respon. sintaks yang dipakai : freqz(b,1,512,8000)
frekuensi Dapat dianalisis bahwa pada freqz diatas bahwa sapling yang
digunakan 8000Hz dengan 512 sample waktu yang dibutuhkan tanpa
kembalian (1).
Perbedaan dengan prektikum 1 (low pass filter ) adalah pada metode filter
yang digunakan yaitu menggunakan band pass filter.
Kunci dari penggunaan metode ini adalah penggunaan fungsi remez.
remez akan memdesain fase linear FIR menggunakan algoritma ParkMcClellan. Seperti yang telah dipaparkan pada bagian dasar teori bahwasanya
fungsi remez tersebut memerlukan n koefisien, frekuensi point(f),
amplitude point (m) dan error weight(w).
b = remez(33,f,m,w);
1. n koefisien FIR
Mencari n koefisien sendiri adalah dengan cara test and trial (coba-coba)
dengan dasar spesifikasi yang dibutuhkan. Dengan stopband attenuation
adalah 40dB maka spesifikasinya tidak boleh di atas 40dB (pada stop band
attenuation). serta passband riplle adalah 1dB.
k3
k4
k5
k6
=
=
=
=
pass
pass
stop
stop
band
band
band
band
1200Hz
1600Hz
2000Hz
4000Hz
3. Amplitude Point
Nilai amplitude adalah 1 atau 0 dengan berdasar kepada frekuensi point
yang dimensinya atau panjang matriksnya adalah sama seperti frekuensi
point. Dikarenakan band pas filter maka amplitude point nya adalah
[ 0 0 1 1 0 0] seperti gambar ideal lowpass filter :
nilai amplitude pass band adalah 1 dan nilai amplitude stop band adalah 0
korelasi terhadap frekuensi point :
frekuensi 0Hz (stop band) amplitude 0
frekuensi 800Hz (stop band) amplitude 0
frekuensi 1200Hz (pass band) amplitude 1
frekuensi 1600Hz (pass band) amplitude 1
frekuensi 2000Hz (stop band) amplitude 0
frekuensi 4000Hz (stop band) amplitude 0
4. Error Weight
Perhitungan
dp = 10^(1/20)-1;
ds = 10^(-stop/20);
1. n koefisien FIR
Mencari n koefisien sendiri adalah dengan cara test and trial (coba-coba)
dengan dasar spesifikasi yang dibutuhkan. Dengan stopband attenuation
adalah 50dB maka spesifikasinya tidak boleh di atas 50dB (pada stop band
attenuation).
dapat dilihat bahwa stopband attenuation di puncaknya adalah bernilai 52.78 dB yang berarti telah sesuai seperti spesifikasi (kurang dari -50dB).
2. Frekuensi point
Frekuensi point ini merupakan nilai yang diinginkan (band stop atau band
pass) dengan memberikan setengah dari frekuensi sampling dibagi dengan
frekuensi band dan di simpang ke dalam sebuah matriks
f = [k1 k2 k3 k4 k5 k6]; dengan :
k1
k2
k3
k4
k5
k6
3. Amplitude Point
=
=
=
=
=
=
passband
passband
stopband
stopband
passband
passband
0Hz
1200Hz
1800Hz
2000Hz
2600Hz
4000Hz
nilai amplitude pass band adalah 1 dan nilai amplitude stop band adalah 0
korelasi terhadap frekuensi point :
frekuensi 0Hz (pass band) amplitude 1
frekuensi 1200Hz (pass band) amplitude 1
frekuensi 1800Hz (stop band) amplitude 0
frekuensi 2000Hz (stop band) amplitude 0
frekuensi 2600Hz (pass band) amplitude 1
frekuensi 4000Hz (pass band) amplitude 1
4. Error Weight
Perhitungan
dp = 10^(1/20)-1;
ds = 10^(-stop/20);
V.
KESIMPULAN
Filter secara ideal harus memperhatikan spesifikasi penyusunya serta faktor
faktor penghalangnya.
Metode windowing adalah untuk memperoleh respon frekuensi ideal filter dan
menghitung respon impulsenya.
Metode windowing dapat memodifikasi riak tanpa mengubah frekuensi yang
diinginkan.
VI.
DAFTAR PUSTAKA
http://dali.feld.cvut.cz/ucebna/matlab/toolbox/signal/remez.html diakses pada 8 april
2015 pukul 21.00
IEEE. Programs for Digital Signal Processing. IEEE Press. New York: John Wiley
& Sons, 1979. Algorithm 5.1.
IEEE. Selected Papers in Digital Signal Processing, II. IEEE Press. New York: John
Wiley & Sons, 1979.
Rabiner, L.R., J.H. McClellan, and T.W. Parks. "FIR Digital Filter Design
Techniques Using Weighted Chebyshev Approximations." Proc. IEEE 63 (1975).
VII.
TUGAS
Listing kode
Penjabaran arti
fs = 8000;
fold = fs/2;
stop = 50;
k1
k2
k3
k4
k5
k6
dp = 10^(1/20)-1;
ds = 10^(-stop/20);
a = dp/ds;
ws = dp;
wp = ds;
f = [k1 k2 k3 k4 k5 k6];
m = [1 1 0 0 1 1 ];
w = [wp ws wp];
figure(1);
b = remez(33,f,m,w);
format long;
freqz(b,1,512,fs);
axis([0 fs/2 -80 10]);
figure(2);
stem(b);
=
=
=
=
=
=
0/fold;
1200/fold;
1800/fold;
2000/fold;
2600/fold;
4000/fold;
b. Rectangular Window
Bagian
ke-
Listing kode
Penjabaran arti
fs=8000;
lf=1500;
hf=2300;
Wl=2*pi*lf/fs;
Wh=2*pi*hf/fs;
N=33;
h1=zeros(1,N);
window=zeros(1,N);
for i=1:N
n=i-17;
h1(i)=(sin(Wh*n)/(pi*n))+(sin(Wl*n)/(pi*n));
window(i)=1;
end
h1(17)= ((pi-Wh)+Wl)/pi;
figure(1)
hw1=h1.*window;
stem(hw1);
figure(2)
freqz(hw1,1,512,8000);
c. Hamming Window
Bagian
ke-
Listing kode
Penjabaran arti
fs=8000;
lf=1500;
hf=2300;
Wl=2*pi*lf/fs;
Wh=2*pi*hf/fs;
N=33;
h1=zeros(1,N);
window=zeros(1,N);
for i=1:N
n=i-17;
h1(i)=(sin(Wh*n)/(pi*n))+(sin(Wl*n)/(pi*n));
window(i)= 0.54+(0.46*cos(pi*n/17))
;
end
h1(17)= ((pi-Wh)+Wl)/pi;
figure(4)
hw1=h1.*window;
stem(hw1);
figure(5)
freqz(hw1,1,512,8000);
d. Hanning Window
Bagian
ke-
Listing kode
Penjabaran arti
fs=8000;
lf=1500;
hf=2300;
Wl=2*pi*lf/fs;
Wh=2*pi*hf/fs;
N=33;
h1=zeros(1,N);
window=zeros(1,N);
for i=1:N
n=i-17;
h1(i)=(sin(Wh*n)/(pi*n))+(sin(Wl*n)/(pi*n));
window(i)= 0.5+0.5*cos(pi*n/15);
end
h1(17)= ((pi-Wh)+Wl)/pi;
figure(4)
hw1=h1.*window;
stem(hw1);
figure(5)
freqz(hw1,1,512,8000);
e. Blackman Window
Bagian
ke-
Listing kode
Penjabaran arti
fs=8000;
lf=1500;
hf=2300;
Wl=2*pi*lf/fs;
Wh=2*pi*hf/fs;
N=33;
h1=zeros(1,N);
window=zeros(1,N);
for i=1:N
n=i-17;
h1(i)=(sin(Wh*n)/(pi*n))+(sin(Wl*n)/(pi*n));
window(i)=
0.42+0.5*cos(pi*n/17)+0.08*cos(pi*n*2/17)
end
h1(17)= ((pi-Wh)+Wl)/pi;
figure(4)
hw1=h1.*window;
stem(hw1);
figure(5)
freqz(hw1,1,512,8000);
VIII. LAMPIRAN