PERCOBAAN6
FILTER ANALOG
Tujuan Praktikum
-
Memahami konsep dasar filter dalam kaitannya dengan
frekuensi suatu sinyal
-
Mempu mendesain dan membuat program untuk notch
filter.
6.1
Teori Dasar
6.1.1 Filter
Sebuah filter adalah
sebuah perangkat yang dirancang untuk meredam kisaran frekuensi tertentu,
sementara tetap melewatkan frekuensi yang lain, dan digunakan untuk mengerjakan
pembatasan spectrum frekuensi tertentu dari sebuah sinyal.Kisaran frekuensi
yang diredam disebut stopband, dan
kisaran frekuensi yang ditransmisikan siebut passband. Unjuk kerja dari filter dapat dikarakteristikkan dengan
saru dari empat fungsi seperti ditunjukkan pada Gambar 9.1: low-pass, high-pass, band-bass and band-stop.
Pada Gambar 11.1 ditunjukkan karakteristik filter
ideal, secara tipikal didasarkan sebagai garis tegak, dengan sifat:
1. Tanggapan amplitudo passband datar
secara kontinyu dengan nilai 1.
Frekuensi
yang dapat dilewatkan filter secara lengkap dan tanpa cacat.
2. Tanggapan amplitudo stopband adalah
datar secara kontinyu dengan nilai 0. Frekuensi yang tidak diharapkan ditekan
secara lengkap.
3. Transisi antara passband dan
stopband terjadi secar kontinyu
Gambar 6.1. Empat Tipe Dasar dari Filter. (a) Low-Pass filter.
(b)
High-Passfilter. (c) Band-Pass. (d) Band-Stop filter.
Model filter ideal
yang ditunjukkan pada Gambar 11.1 dapat dimodifikasi parameternya secara akurat
menjadi tanggapan sebuah filter yang dapat direalisasi (baik analog maupun
digital). Kedataran relatif dari Passband dan stopband dapat dijelaskan dengan
penambahan faktor ripple yang mana menspesifikasikan deviasi maksimum dan
minimum dari nilai ideal.
Lebih lanjut,
karakteristik transisi dari filter tidak dapat diubah menjadi bentuk tak
kontiny antara passband dan stopband seperi dijelaskan dengan tanggapan the
brick-wall. Daerah transisi didefinisikan penunjukkan satu daerah yang terdiri
dari lebarpita transmisi dimana transmisi sinyal menggeser dari passband ke stopband
atau sebaliknya. Secara alami, daerah transisi yang lebih sempit adalah, filter
yang lebih ideal. Ketajaman yang kurang baik dari pojok frekuensi, secara
visual didefinisikan dalam tanggapan filter brickwall.
Secara historis, spesifikasi filter didefinisikan sebagai frekuensi dimana
keluaran daya dari filter adalah setengah dari daya yang masuk.
Gambar 6.2 Karakteristik Filter
Secara Praktis: (a) Low Pass, (b) High Pass,
(c) Band Pass dan (d)
StopBand.
Kemiringan relatif dari filter adalah daerah transisi
yang dijelaskan dengan orde filter; orde filter yang lebih tinggi menghasilkan
daerah transisi yang lebih sempit. Perhatikan bahwa daerah stopband tidak akan
pernah secara lengkap mnghilangkan komponen frekuensi pada kisaran tersebut. Merupakan suatu hal
yang penting untuk menentukan faktor penguatan untuk aplikasi tertentu suatu
filter. Kisaran faktor antara dari –20 sampai –100 dB (1/10 to 1/100000) dapat dicapai.
Karakteristik tambahan yang menjeaskan
tingkah-laku filter adalah lebar dari darah transisi yang ditunjukkan pada
Gambar 11.2. Untuk kisaran transisi yang lebih kecil akan memerlukan
perancangan yang lebih komplek. Kompleksitas dari filter (di sini adalah
ketajaman kemiringan transisi) dapat dikarakteristikkan dengan orde dari
filter. Perancangan yang paling sederhana adalah filter dengan orde satu. Band
dari transisi filter menguatkan sinyal masukan -20 dB untuk setiap peubahan frekuensi dalam kelipatan 10.
Filter demikian dinamakan sebagai filter dengan penguatan pada -20 dB/decade. Konsep
ini diilustrasikan dalam filter pelewat frekuensi rendah orde satu yang
ditunjukkan pada Gambar 11(a), dimana satu decade didasarkan pada pertambahan
frekuensi dengan faktor 10. Diulangi, bahwa –20 dB bersesuaian dengan sebuah
penurunan dengan faktor 10. Kemudian filter akan mengurani amplitudonya dari
sinyal masukan dengan 1/10 untuk setiap decade dalam pertambahan frekuensi. Sebagai
alternatif dengan cara yang sama dapat
juga dinyatakan sebagai –6 dB/octave, dimana satu octave menunjukkan
kelipat-gandaan dari frekuensi.
Pada Gambar 11.3(a) ditunjukkan
filter pelewat frekuensi rendah orde dua. Perancangan penguatan adalah –40
dB/decade atau –12 dB/octave. Jadi unjuk kerja dari perancangan filter ini
adalah pembentukan dua kali, sehingga secara umum menjadi lebih mahal dengan
kompleksitas yang lebih tinggi, karena filter orde dua disusun dari filter orde
satu tersusun dua tingkat secara seri.
Gambar 6.3 (a) Tanggapan Filter Pelewat Frekuensi Rendah
Orde Satu.
(b) Tanggapan Filter Pelewat Frekuensi Rendah
Orde Dua.
Sekarang, bahwa karakteristik dasar dari filter dapat
ditunjukkan, kemudia dilanjutkan dengan pertimbangan pemilihan tipe dari
filter. Setiap tipe filter mempunyai parameter tertentu yang mana dapat
dioptimalkan dalam pendekatan dengan bentuk filter ideal. Yang tidak
menguntungkan adalahtidak ada filter yang dapat digunakan untuk pendekatan
seluruh karakteristik filter ideal.
Filter Butterworth
Filter ini adalah
terbaik jika digunakan untuk tanggapan kedataran yang maksimal dalam transmisi passband, minimalisasi ripple passband (didasarkan pada Gambar 11.1). Seperti yang dapat kita lihat dari
tanggapan magnitude pada Gambar 10.4,
pendekatan tanggapan ideal brick wall dapat dicapai sesuai dengan pertambahan
orde N. Untuk menentukan orde minimum dapat ditentukan dengan melakukan
pertimbangan overshot maksimum yang diijinkan. Filter ini merupakan yang terbaik untuk aplikasi
linieritas amplitudo pada daerah passband. Frekuensi pojok , fc, dari filter ini didefinisikan sebagai titik 3-db seperti yang telah dijelaskan terdahulu. Tanggapan
fasa filter ini tidak linier. Pada Gambar 11.4(a) ditunjukkan tanggapan magnitude dari filter Butterworth
dengan orde yang berbeda.
Filter Chebyshev
Sama dengan filter Butterworth,
filter ini dapat mencapai steep rolloffs dengan perancangan orde yang lebih
tinggi. Antara filter Chebyshev dan Butterworth mempunyai bentuk perancangan
penguatan pada daerah transisi yang sama. Keuntungannya adalah ripple yang
terjadi pada daerah passband (seperti ditunjukkan pada Gambar 11.4(a) dan 11.4(b)).
Perbedaannya dengan filter Butterworth adalah frekuensi cutoff untuk filter ini
tidak dispesifikasikan pada titik 3-dB point, tapi lebih disukai pad frekuensi
dimana dispesifikasikan ripple maksimumnya. Seperti pada filter Butterworth,
filter ini secara lengkap
dispesifikasikan dengan penguatan passband maksimum, frkuensi cutoff dan
orde frekuensi.
Filter Elliptic
Bila dibandingkan
dengan filter Butterworth dan filter Chebyshev, filter elliptik mempertahankan
tanjakan kemiringan cutoff pada orde filter terendah. Tapi mempunyai ripple yang sangat kurang baik pada
daerah passband dan stopband. Ketajaman cutoff dicapai dengan menambahkan dip
atau “notches” pada daerah stopband. Notch untuk memberikan zero
transmission (penguatan yang lengkap) pada daerah yang dipilih. Sebagai tambahan
terhadap pengatan passband maksimum dan frekuensi corner. Spesifikasi yang
lengkap dari filter ini termasuk orde dari filter tersebut dan ripple pada stopband.
Klompleksitas dari filter ii biasanya memerlukan sebuah komputer dalam
perancangannya. Tanggapan fasa dari filter ini biasanya tidak linier.
Perhatikan Gambar 11.4(c).
Filter Thompson atau Bessel
Tanggapan magnitude
dari filter Bessel adalah monotonic dan and smooth- tidak ada ripple pada transmission
band atau stop band. Tapi roll off filter ini kurang tajam dibandingkan dengan
filter yang telah disebutkan di atas. Keuntungan utama dari filter ini adalah
linieritas fasanya.
Gambar 6.4 Pembandingan Tipe
Magnitude dari High-pass dengan
Cutoff 20Hz dan Variasi Orde (n=1,2,4,8).
(a) Filter
Butterworth, (b) Filter Chebyshev, (c) Filter Besse, (d) Filter Elliptic.
11.1.2 Perencanaan Filter
dengan MATLAB
Berikut ini merupakan statemen yang
dapat digunakan untuk perencanaan filter elliptic atau Cauer analog dan digital.
[B,A] = ELLIP(N,Rp,Rs,Wn)
Keterangan:
N = orde lowpass digital
Rp= decibels dari ripple pada passband
dan
Rs =decibels dari stopband dan menurun.
ELLIP mempunyai koefisien filter dengan panjang N+1 dengan vector B (sebagai pembilang dan A
(sebagai penyebut).
Frekuensi cut-off Wn harus terletak
antara 0.0 < Wn < 1.0, dengan 1.0 sesuai dengan setengah dari kecepatan
sampling. Menggunakan Rp = 0.5 dan Rs =
20 sebagai titik awal, jika dipilihnya. Jika Wn merupakan dua elemen vector, Wn
= [W1 W2], ELLIP menjadi filter BPF dengan orde 2N dengan passband
W1 < W < W2.
[B,A]=ELLIP(N,Rp,Rs,Wn,'high') untuk
perencanaan HPF.
[B,A]=ELLIP(N,Rp,Rs,Wn,'stop') adalah
filter bandstop jika Wn=[W1 W2].
11.2 Peralatan
- PC multimedia yang sudah dilengkapi dengan OS
Windows
- Perangkat Lunak Matlab yang
dilengkapi dengan Tool Box DSP
11.3 Langkah Percobaan
Berikut ini beberapa contoh perangkat lunak
untuk filter elliptik, yaitu untuk LPF, HPF, BPF, dan Bandstop. Silakan dijalankan perangkat lunak tersebut untuk
mengetahui tanggapannya. Pada LPF dan HPF, ulangi percobaan ini untuk Wn =
1000, 8000, 10000. Jika
program tidak dapat dieksekusi maka gantilah Fs=22000, dan amati yang terjadi.
Pada BPF dan Banstop, ulangi percobaan ini untuk Wn = [1000 2000], Wn = [3000 8000], Wn = [5000 10000]. Jika program tidak dapat dieksekusi
maka gantilah Fs=22000, dan amati yang terjadi.
%---------------------------------------------------
% Nama File : Tanggapan_LPF_Ellip.m
% Oleh : Yulianto
%---------------------------------------------------
clear
all
Fs=16000;
Wn
=5000;
%
Bagian inisialisasi filter
%[B,A]
= ELLIP(N,Rp,Rs,Wn)
[B,A]
= ELLIP(4,0.1,40,Wn*2/Fs);
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'p','LineWidth',1);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
Amati hasilnya!. Ganti
nilai variabelnya agar anda dapat memahami filter tersebut. Ingat-ingat / catat
responnya, karena nantinya anda harus menganilisis termasuk membandingkan
tanggapan filter elliptic terhadap filter lainnya. Lanjutkan dengan menjalankan
program elliptik berikutnya. Sama dengan percobaan di atas, tapi berikut ini
adalah filter untuk melewatkan bagian frekuensi tinggi.
%----------------------------------------------------
%
Nama File : Tanggapan_HPF_Ellip.m
%
Oleh :
Yulianto
%----------------------------------------------------
clear
all
Fs=16000;
Wn
=5000;
%
Bagian inisialisasi filter
%[B,A]
= ELLIP(N,Rp,Rs,Wn, 'high')
[B,A] = ELLIP(4,0.1,40,Wn*2/Fs,'high');
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'p','LineWidth',1);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%--------------------------------------------------
%
Nama File : Tanggapan_BPF_Ellip.m
%
Oleh : Yulianto
%--------------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas
=5000;
%
Bagian inisialisasi filter
[B,A]
= ELLIP (4,0.1,40,[Bawah Atas]*2/Fs);
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'p','LineWidth',1);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%----------------------------------------------------------
%
Nama File : Tanggapan_Stopband_Ellip.m
%
Oleh : Yulianto
%----------------------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas =5000;
% Bagian inisialisasi filter
[B,A] = ELLIP (4,0.1,40,[Bawah
Atas]*2/Fs,'Stop');
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'p','LineWidth',1);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
Berikut ini beberapa contoh perangkat lunak untuk
filter chebyshev 1, yaitu untuk LPF, HPF, BPF, dan Bandstop. Silakan dijalankan perangkat lunak tersebut untuk
mengetahui tanggapannya. Pada LPF dan HPF, ulangi percobaan ini untuk R = 0.2,
0.5, 1, dan 1.5.
%---------------------------------------------
%
Nama File : Tanggapan_LPF_Cheby1.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Wn=5000;
%
Bagian inisialisasi filter
%[B,A]
= CHEBY1(N,R,Wn)
[B,A]
= CHEBY1(4,0.2,Wn*2/Fs);
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'r','LineWidth',1);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%---------------------------------------------
%
Nama File : Tanggapan_HPF_Cheby1.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Wn=5000;
%
Bagian inisialisasi filter
% [B,A] = CHEBY1(N,R,Wn,'high')
[B,A]
= CHEBY1(4,0.2,Wn*2/Fs,'high');
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'r','LineWidth',1);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%---------------------------------------------
%
Nama File : Tanggapan_Stopband_Cheby1.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas
=5000;
%
Bagian inisialisasi filter
[B,A]
= CHEBY1(N,Rp,[Bawah Atas]*2/Fs,'Stop');
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'b','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
Berikut ini beberapa contoh perangkat lunak untuk filter Bessel, yaitu untuk LPF, HPF, BPF, dan Bandstop. Silakan dijalankan perangkat lunak tersebut untuk mengetahui tanggapannya.
%---------------------------------------------
%
Nama File : Tanggapan_LPF_Bessel.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas
=5000;
%
Bagian inisialisasi filter
[B,A]
= BESSELF(N,FA*2/Fs);
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'r','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%---------------------------------------------
%
Nama File : Tanggapan_HPF_Bessel.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
%
Bagian inisialisasi filter
[B,A]
= BESSELF(N,Bawah*2/Fs,'high');
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'g','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%---------------------------------------------
%
Nama File : Tanggapan_BPF_Bessel.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas
=5000;
%
Bagian inisialisasi filter
[B,A] = BESSELF(N,[Bawah Atas]*2/Fs);
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'c','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%---------------------------------------------
%
Nama File : Tanggapan_Stopband_Bessel.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas
=5000;
%
Bagian inisialisasi filter
[B,A]
= BESSELF(N,[Bawah Atas]*2/Fs,'Stop');
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'b','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
Berikut ini beberapa
contoh perangkat lunak untuk filter Butterworth, yaitu untuk LPF, HPF, BPF, dan
Bandstop. Silakan dijalankan perangkat
lunak tersebut untuk mengetahui tanggapannya.
%------------------------------------------------------------
%
Nama File : Tanggapan_LPF_Butterworth.m
%
Oleh : Yulianto
%------------------------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas =5000;
% Bagian
inisialisasi filter
[B,A] = BUTTER(N,FA*2/Fs);
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'r','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%-------------------------------------------------------------
%
Nama File : Tanggapan_HPF_Butterworth.m
%
Oleh : Yulianto
%-------------------------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas
=5000;
%
Bagian inisialisasi filter
[B,A]
= BUTTER(N,FB*2/Fs,'high');
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'g','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%---------------------------------------------
%
Nama File : Tanggapan_BPF_Butterworth.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas
=5000;
%
Bagian inisialisasi filter
[B,A]
= BUTTER(N,[FB FA]*2/Fs);
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'c','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
%---------------------------------------------
%
Nama File : Tanggapan_Stopband_Butterworth.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Bawah=3000;
Atas
=5000;
%
Bagian inisialisasi filter
[B,A]
= BUTTER(N,[FB FA]*2/Fs,'Stop');
[H,W]=freqz(B,A,512);
plot(W*Fs/(2*pi),abs(H),'b','LineWidth',3);
grid on
xlabel('Frekuensi (Hz)');
ylabel('Magnitude
dari tanggap frekuensi');
%---------------------------------------------
% Nama File : Stopband_Butter_Diberi_Masukan.m
%
Oleh : Yulianto
%---------------------------------------------
clear
all
Fs=16000;
Bawah=2000;
Atas
=4000;
N=2;
%
Bagian inisialisasi filter
[B,A]
= BUTTER(N,[Bawah Atas]*2/Fs,'Stop');
[H,W]=freqz(B,A,512);
Fs=100;
t=(1:300)/Fs;
s1=sin(2*pi*t*20);
s2=sin(2*pi*t*7);
Data_Masukan=s1
+ s2;
a=length(Data_Masukan);
Data_Keluaran=filter(B,A,Data_Masukan);
subplot(3,1,1),
plot(t,Data_Masukan);
title('Sinyal Masukan');
ylabel('amplitudo');
subplot(3,1,2),plot(W*Fs/(2*pi),abs(H));
xlabel('Frekuensi (Hz)');
ylabel('Magnitude dari tanggap frekuensi');
subplot(3,1,3),
plot(t,Data_Keluaran);
title(' Hasil Penyaringan');
xlabel('waktu (sekon)'); ylabel('amplitudo');
10.4 Analisis Data
Pada akhir percobaan ini,
anda harus memahami dan mejelaskan beberapa hal berikut ini:
- Tunjukkan perbedaan tanggapan dari beberapa jenis filter tersebut di atas (elliptik, Bessel, Butterworth, dan chebyshev). Dan jelaskan implementasi dari filter tersebut?
- Coba anda buat rekaman suara anda atau suara yang lain, terserah berupa vokal atau ucapan yang lain, dan umpankan pada sebuah filter dengan berbagai batasan frekuensi untuk meniadakan derau yang terjadi. Amati dan jelaskan.
- Dari pertanyaan nomor 2, tampilkan gelombang masukan dan keluaran sebagai fungsi frekuensi dalam satu kurve tapi dengan warna yang berbea.
10.5 Tugas
- Rancang perangkat lunak sebuah filter eliiptik yang dapat melewatkan frekuensi antara 1000 – 4000 Hz. Tampilkan tanggapan filter tersebut. Tampilkan tanggapan filter tersebut.
- Rancang perangkat lunak sebuah filter Bessel yang dapat melewatkan frekuensi antara 1000 – 4000 Hz. Tampilkan tanggapan filter tersebut. Tampilkan tanggapan filter tersebut.
- Rancang perangkat lunak sebuah filter Butterworth yang dapat melewatkan frekuensi antara 1000 – 4000 Hz. Tampilkan tanggapan filter tersebut. Tampilkan tanggapan filter tersebut.
- Rancang perangkat lunak sebuah filter chebysev 1 yang dapat melewatkan frekuensi antara 1000 – 4000 Hz. Tampilkan tanggapan filter tersebut. Tampilkan tanggapan filter tersebut.
- Rancang perangkat lunak sebuah filter chebysev 1 yang dapat melewatkan frekuensi di bawah 1000 dan di atas 4000 Hz. Abaiakan frekuensi di atas 8000. Tampilkan tanggapan filter tersebut.
- Buat program yang dapat menampilkan tiga kurve sekaligus yaitu gelombang masukan, tanggapan frekuensi, dan gelombang keluaran.