PERANCANGAN FILTER ANALOG & DIGITAL MENGUNAKAN MATLAB
FUNGSI ALIH FILTER ANALOG • FUNGSI ALIH FILTER ANALOG
B( s) H (s) = A( s ) b0 s n + b1s n − 1 + b2 s n − 2 + ... + bn = a0 s n + a1s n − 1 + a2 s n − 2 + ... + an
• Respon frekuensi Filter Analog di MatLab: Hs = freqs(B,A,w) B : vektor B(s), A : koefisien vektor A(s), w : frekwensi (rad/s) untuk menguji H(s).
• Nilai vektor komplek H(s) ukurannya sama dengan w.
• Contoh 1, fungsi alih filter analog berikut: 0.5279 H1 ( s) = 2 s + 1.0275s + 0.5279
• Script-nya: w1 = 0:0.05:5; B1 = [0.5279]; A1 = [1,1.0275,0.5279]; H1s = freqs(B1,A1,w1); plot(w1,abs(H1s)), title(‘Analog Filter H1(s)’), xlabel(‘w, rps’), ylabel(‘Magnitud’), grid;
• Contoh 2, fungsi alih filter analog berikut: s2 H 2 (s) = 2 s + 0.117 s + 0.062
• Script-nya: w2 = 0:0.05:5; B2 = [1,0,0]; A2 = [1,0.117,0.062]; H2s = freqs(B2,A2,w2); plot(w2,abs(H2s)), title(‘Analog Filter H2(s)’), xlabel(‘w, rps’), ylabel(‘Magnitud’), grid;
• Contoh 3, fungsi alih filter analog berikut: 1.05s H 3 ( s) = 2 s + 1.05s + 0.447
• Script-nya: w3 = 0:0.05:5; B3 = [1.05,0]; A3 = [1,1.05,0.447]; H3s = freqs(B3,A3,w3); plot(w3,abs(H3s)), title(‘Analog Filter H3(s)’), xlabel(‘w, rps’), ylabel(‘Magnitud’), grid;
• Contoh 4, fungsi alih filter analog berikut: s 2 + 2.2359 H 4 (s) = 2 s + 2.3511s + 2.2359
• Script-nya: w4 = 0:0.05:5; B4 = [1,0,2.2359]; A4 = [1,2.3511,2.2359]; H4s = freqs(B4,A4,w4); plot(w4,abs(H4s)), title(‘Analog Filter H4(s)’), xlabel(‘w, rps’), ylabel(‘Magnitud’), grid;
• Respon frekuensi Contoh 1 – 4:
FUNGSI ALIH FILTER DIGITAL • FUNGSI ALIH FILTER DIGITAL B( z ) H ( z) = A( z ) b0 z n + b1 z n − 1 + b2 z n − 2 + ... + bn = a0 z n + a1 z n − 1 + a2 z n − 2 + ... + an • Jika penyebutnya = 1 FIR • Jika penyebutnya ≠ konstanta IIR • Respon frekuensi Filter Digital di MatLab: [H,wT] = freqz(B,A,n) B : vektor B(s), A : koefisien vektor A(s), n : jumlah titik uji H(s).
• Nilai n dari H(z) diuji pada ruang yang sama dari frekwensi ternormalisasi pada interval [0,π]
• Contoh 5, fungsi alih filter digital:
0.266 + 0.4131z − 1 + 0.5279 z − 2 H1 ( z ) = 1 − 0.3695 z1 + 0.1958 z − 2
• Scriptnya: n = 100; B1 = [0.2066,0.4131,0.2066]; A1 = [1,-0.3695,0.1958]; [H1z,w1T] = freqz(B1,A1,n); plot(w1T,abs(H1z)), title(‘Filter Digital H1(z)’), xlabel(‘Frekwensi ternormalisasi’), ylabel(‘Besaran’), grid;
• Contoh 6, fungsi alih filter digital: 0.894 − 1.789 z − 1 + 0.894 z − 2 H 2 ( z) = 1 − 1.778 z − 1 + 0.779 z − 2
• Scriptnya: n = 100; B2 = [0.2066,0.4131,0.2066]; A2 = [1,-0.3695,0.1958]; [H2z,w2T] = freqz(B2,A2,n); plot(w2T,abs(H2z)), title(‘Filter Digital H2(z)’), xlabel(‘Frekwensi ternormalisasi’), ylabel(‘Besaran’), grid;
• Contoh 7, fungsi alih filter digital:
0.42 − 0.42 z − 2 H 3 ( z) = 1 − 0.0443z − 1 + 0.159 z − 2
• Scriptnya: n = 100; B3 = [0.2066,0.4131,0.2066]; A3 = [1,-0.3695,0.1958]; [H3z,w3T] = freqz(B3,A3,n); plot(w3T,abs(H3z)), title(‘Filter Digital H3(z)’), xlabel(‘Frekwensi ternormalisasi’), ylabel(‘Besaran’), grid;
• Contoh 8, fungsi alih filter digital: 0.5792 + 0.4425 z − 1 + 0.5792 z − 2 H 4 ( z) = 1 + 0.4425 z − 1 + 0.1584 z − 2
• Scriptnya: n = 100; B4 = [0.2066,0.4131,0.2066]; A4 = [1,-0.3695,0.1958]; [H4z,w4T] = freqz(B4,A4,n); plot(w4T,abs(H4z)), title(‘Filter Digital H4(z)’), xlabel(‘Frekwensi ternormalisasi’), ylabel(‘Besaran’), grid;
• Respon frekuensi Contoh 5 – 8
IMPLEMENTASI FILTER DIGITAL • Sebelumnya, filter digital dapat didefinisikan dengan fungsi transfer H(z) atau PD. • Input filter digital adalah sinyal digital, outputnya adalah bentuk lain sinyal digital. Filter xn yn Digital H(z) • Implementasi Filter Digital: – FIR: conv(x,h) dan filter(b,1,x) – IIR: filter(b,a,x)
• Perancangan filter IIR menggunakan prototipe analog, yang ada di MatLab: – Filter Butterworth
• [B,A] = butter(N,Wn) ; menghitung koefisien filter lowpass Butterworth. Wn adalah frekuensi cutoff pada frekuensi ternormalisasi. • [B,A] = butter(N,Wn,’high’) ; menghitung koefisien filter highpass Butterworth. Wn adalah frekuensi cutoff pada frekuensi ternormalisasi. • [B,A] = butter(N,Wn) ; menghitung koefisien filter bandpass Butterworth. Wn adalah vektor dua frekwensi cutoff pada frekuensi ternormalisasi passband dalam orde berurutan naik. • [B,A] = butter(N,Wn,’stop’) ; menghitung koefisien filter bandstop Butterworth. Wn adalah vektor dua
– Filter Chebysev tipe 1 • [B,A] = cheby1(N,Rp,Wn) ; menghitung koefisien filter lowpass Chebysev tipe 1. Rp adalah ripple passband dan Wn adalah frekuensi cutoff pada frekuensi ternormalisasi. • [B,A] = cheby1(N,Rp,Wn,’high’) ; menghitung koefisien filter highpass Chebysev tipe 1. Rp adalah ripple passband dan Wn adalah frekuensi cutoff pada frekuensi ternormalisasi. • [B,A] = cheby1(N,Rp,Wn) ; menghitung koefisien filter bandpass Chebysev tipe 1. Rp adalah ripple dan Wn adalah vektor dua frekwensi cutoff pada frekuensi ternormalisasi passband dalam orde berurutan naik. • [B,A] = cheby1(N,Rp,Wn,’stop’) ; menghitung koefisien filter stopband Chebysev tipe 1. Rp adalah ripple passband dan Wn adalah vektor dua frekwensi cutoff pada frekuensi ternormalisasi stopband dalam orde berurutan naik.
– Filter Chebysev tipe 2 • [B,A] = cheby2(N,Rp,Wn) ; menghitung koefisien filter lowpass Chebysev tipe 2. Rp adalah ripple passband dan Wn adalah frekuensi cutoff pada frekuensi ternormalisasi. • [B,A] = cheby2(N,Rp,Wn,’high’) ; menghitung koefisien filter highpass Chebysev tipe 2. Rp adalah ripple passband dan Wn adalah frekuensi cutoff pada frekuensi ternormalisasi. • [B,A] = cheby2(N,Rp,Wn) ; menghitung koefisien filter bandpass Chebysev tipe 2. Rp adalah ripple dan Wn adalah vektor dua frekwensi cutoff pada frekuensi ternormalisasi passband dalam orde berurutan naik. • [B,A] = cheby2(N,Rp,Wn,’stop’) ; menghitung koefisien filter stopband Chebysev tipe 2. Rp adalah ripple passband dan Wn adalah vektor dua frekwensi cutoff pada frekuensi ternormalisasi stopband dalam orde berurutan naik.
– Filter Epiliptik • [B,A] = ellip(N,Rp,Rs,Wn) ; menghitung koefisien filter lowpass Elliptik. Rp adalah ripple passband, Rs adalah ripple stopband dan Wn adalah frekuensi cutoff pada frekuensi ternormalisasi. • [B,A] = ellip(N,Rp,Rs,Wn,’high’) ; menghitung koefisien filter highpass Elliptik. Rp adalah ripple passband, Rs adalah ripple stopband passband dan Wn adalah frekuensi cutoff pada frekuensi ternormalisasi.
• [B,A] = ellip(N,Rp,Rs,Wn) ; menghitung koefisien filter bandpass Elliptik. Rp adalah ripple passband, Rs adalah ripple stopband dan Wn adalah vektor dua frekwensi cutoff pada frekuensi ternormalisasi passband dalam orde berurutan naik. • [B,A] = ellip(N,Rp,Rs,Wn,’stop’) ; menghitung koefisien filter stopband Elliptik. Rp adalah ripple