Kategori
Pengolahan Sinyal Informasi

Filter Respons (Matlab)

Desain Respon Frekuensi Filter

Parameter desain dapat dijelaskan sebagai berikut:

  • Passband : batas frekuensi yang akan dilewatkan filter (fp)
  • Stopband : batas frekuensi yang akan dilarang filter (fs)
  • Transition band : area antara passband dan stopband. Pada daerah ini, sinyal input akan dilemahkan oleh filter. Semakin kecil dan curam daerah ini, semakin bagus filter menyaring sinyal input, yang berarti semakin bagus performansinya.
  • Passband ripple : dinyatakan dB, menunjukkan besarnya pelemahan pada passband. Besarnya adalah 20log ((1+δ1)/(1-δ1))
  • Stopband ripple : dinyatakan dB, menunjukkan pelemahan pada stopband. Δ Biasanya diukur dari puncak passband. Besarnya adalah 20log ((1+δ1)/δ2)
  • Frekuensi cutoff (fc): frekuensi ketika amplitudo melemah sebesar 0.70740

Tipe-Tipe Respon Frekuensi

Ada empat tipe respon frekuensi, yaitu :

  1. butterworth,
  2. chebishev (1,2),
  3. bessel, dan
  4. elliptical.

Masing-masing memiliki karakteristik tersendiri sesuai kebutuhan pemakai. Misal apakah filter harus benar-benar selektif, atau filter memiliki stopband yang datar atau memiliki ripple, atau apakah filter harus memiliki group delay yang datar, dsb. Dibawah ini ditunjukkan gambar respon frekuensi masing-masing tipe filter.

  • Filter Butterworth memiliki ciri : datar pada passband dan stop band, transition band lebar
  • Filter Chebyshev 1 memiliki ciri : ripple pada passbad, datar pada stopband, transition band sempit.
  • Filter Chebyshev 2 memiliki ciri : datar pada passband, ripple pada stopband, transition band sempit
  • Filter Bessel memiliki ciri : passband dan stop band datar, transition band paling lebar
  • Filter Elliptical memiliki ciri : passband dan stopband memiliki ripple, transition band paling sempit

Desain Filter

Filter Butterworth

Perintah matlab yang biasa digunakan adalah:
[b,a]=butter(n,Wn,‟s‟);
[b,a]=butter(n,Wn,‟ftype‟,‟s‟);
[z,p,k]= butter(n,Wn,‟s‟);
[z,p,k]= butter(n,Wn,‟ftype‟,‟s‟);

Parameternya dapat dijelaskan sebagai berikut :

  • n menunjukkan orde filter
  • Wn menunjukkan nilai 0 sampai, dimana Wn adalah fc / 0.5fs . fc ini adalah frekuensi cutoff, sementara fs adalah frekuensi sampling.
  • ftype menunjukkan respon frekuensi filter. Untuk LPF gunakan ftype „low‟. Untuk HPF gunakan ftype : „high‟. Untuk BSF, gunakan ftype „stop‟. Untuk BPF, gunakan ftype „bandpass‟. Jika ftype tidak dsebut berarti digunakan LPF
  • Jika digunakan LPF dan HPF analog butterworth, maka dengan cutoff frekuensi dinyatakan sebagai Wn rad/s. Untuk BPF dan BSF gunakan Wn = [w1 w2].
  • Output [z,p,k] adalah zero(z), pole(p) dan gain(k)yang konstan.
  • Output [b,a] adalah koefisien-koefisien filter.

Hasil perintah matlab diatas sebenarnya dapat ditulus dalam persamaan Laplace dibawah : H(s) adalah transfer function filter dalam domain Laplace. Perhatikan persamaan ini :

Dimana :

Selain perintah diatas, masih ada beberapa perintah seperti :

Dimana :

  • Wp adalah rasio antara frekuensi passband / 0.5fs
  • Ws adalah rasio antara frekuensi stopband / 0.5fs
  • Rp adalah ripple atau attenuasi pada passband (dB)
  • Rs adalah attenuasi pada stopband (dB)

Untuk LPF, dengan menginputkan orde, kita dapat menggunakan perintah :

Ini berlaku untuk persamaan:

Filter Chebyshev 1

Perintah matlab yang biasa digunakan adalah:
[z,p,k]=cheby1(n,R,Wp,‟s‟);
[z,p,k]=cheby1(n,R,Wp,‟ftype‟,‟s‟);
[b,a]=cheby1(n,R,Wp,‟s‟);
[b,a]=cheby1(n,R,Wp,‟ftype‟,‟s‟);
[z,p,k]=cheb1ap(n,Rp);

Parameternya dapat dijelaskan sebagai berikut:

  • N digunakan untuk menunjukkan orde chebyshev
  • R digunakan untuk menunjukkan ripple passband dalam dB
  • ftype digunakan untuk tipe respon frekuensi filter : ‟low‟ , ‟high‟ , atau ‟stop‟.
  • Wp adalah nilai normalisasi antara 0 dan 1, yang didapat dari hasil pembagian frekuensi stopband / 0.5fs
  • Rp adalah ripple di passband dalam dB

Persamaan filter nya dapat ditulis:

Dimana:

Filter Chebyshev 2

Perintah matlab yang biasa digunakan adalah:
[z,p,k]=cheby2(n,R,Wst,‟s‟);
[z,p,k]=cheby2(n,R,Wst,‟ftype‟,‟s‟);
[b,a]=cheby2(n,R,Wst,‟s‟);
[b,a]=cheby2(n,R,Wst,‟ftype‟,‟s‟);

Parameternya dapat dijelaskan sebagai berikut:

  • n digunakan untuk menunjukkan orde chebyshev
  • R digunakan untuk menunjukkanripple pada stopband atau attenuasi pada stopband (dB)
  • Wst adalah nilai normalisasi antara 0 dan 1, yang didapat dari hasil pembagian frekuensi stopband / 0.5fs
  • ftype digunakan untuk tipe respon frekuensi filter : ‟low‟ , ‟high‟ , atau ‟stop‟. Jika tidak disebutkan ftype, berarti tipe filter LPF

Bila ditulis persamaannya sama dengan pada Chebyshev 1 Sedangkan untuk perintah:

Dimana Rs menunjukkan ripple pada stopband dalam dB dan n adalah orde filter Digunakan pada persamaan:

Filter Bessel

Untuk membuat LPF bessel, dapat digunakan perintah:

Persamaan filter ditunjukkan oleh

Dimana :
n adalah orde filter, besarnya lebih kecil dari 25

Selain itu dapat juga menggunakan perintah:

[z,p,k]=besself(n,Wn);
[z,p,k]=besself(n,Wn,‟ftype‟)
[b,a]=besself(n,Wn);
[b,a]= besself(n,Wn,‟ftype‟);

Persamaan filter sama dengan chebyshev 1

Filter Ellips

Untuk membuat filter ellips di matlab, dapat menggunakan
[b,a]=ellip (n,Rp,Rs,Wn,‟s‟);
[b,a]=ellip(n,Rp,Rs,Wn,‟ftype‟,‟s‟);


Dimana :

  • n adalah orde filter. Orde menjadi 2*n saat filter adalah BSF
  • Rp adalah ripple amplitudo pada passband (dB)
  • Rs adalah ripple amplitudo pada stop band atau attenuasi pada stopband (dB)
  • Wn adalah hasil pembagian antara frekuensi cutoff dan 0.5fs yang besarnya antara 0 dan 1
  • Ftype yang bisa dipakai adalah „high‟ dan „stop‟. Jika tidak dideklarasikan, berati LPF

Persamaan filternya sama dengan chebyshev 1

Praktek Matlab

  1. Buatlah plot frekuensi respon chebishev 1 untuk filter dengan fs 3000 Hz, orde : 9, ripplepassband 0.5dB dan cutofffrekuensi 300 Hz.
    Berikut adalah code program untuk butterwordh. Ketikkan Program pada Editor di Matlab.

Berikut adalah sinyal keluaran nya:

2. Rancanglah suatu butterworth filter LPF dengan parameter samping rate 8000 sample/detik, orde filter=5, frekuensi cutoff = 1000Hz dengan menggunakan matlab. Setelahitu, plot magnitude hasil frekuensi respon butterworth |H(jw)|
a. Seperti pa da teori diatas gunakan [b, a]=butter(n, fc/(fs/2), ‘low’) untuk mendapatkan filter butterworth LPF.
b. Untuk menge plotf rekuensi respon gunakan:

Berikut adalah code program untuk butterwordh orde. Ketikkan Program pada Editor di Matlab.

Berikut hasil keluaran nya:

3. Jawab pertanyaan dibawah:
a. Coba tarik garis dari 0.707 dari sumbu y dengan titik 1. Frekuensi saat magnitude melemah sebesar 0.707 disebut frekuensi cutoff. Berapa frekuensi cutoff?
b. Jelaskan perintah freqz di matlab. Apa input parameter dan outputnya!


Jawab:
a. Tarik garis dari 0.707 dari sumbu y dengan titik 1

Frekuensi cutoff

Jadi, frekuensi cutoff nya adalah sebesar 1000 Hz

b. Frequency Response
Dalam Signal Processing Toolbox terdapat beberapa fungsi untuk analisa dalam frequency domain baik untuk filter digital maupun analog. Khususnya fungsi freqz dan freqs akan menghasilkan respon frekuensi kompleks berturut turut untuk filter digital dan analog.
Freqz menggunakan algoritma FFT untuk menghitung respon frekuensi transformasi-z dari filter digital.

Contoh:

[h,w] = freqz(b,a,n,‟whole‟)

akan menghasilkan respon frekuensi kompleks, H(ejω) dari filter digital:

Freqz juga dapat menerima parameter lain seperti frekuensi sampling ataupun vector dari sembarang titik frekuensi.

Contoh:

[b,a]= cheby1(12,0.5,200/500); [h,f] = freqz(b,a,256,1000);

Karena parameter mengandung frekuensi sampling, freqz menghasilkan vektor f yang mempunyai 256 titik frekuensi antara 0 dan Fs/2 yang digunakan dalam penghitungan respon frekuensi.
Jika menggunakan freqz tanpa output argument, ia akan otomatis memplot baik magnitude vs frekuensi maupun fasa vs frekuensi.

Contoh: Butterworth lowpass filter dengan frekuensi cutoff 400 Hz, dan menggunakan frekuensi sampling 2000 Hz adalah sbb:

[b,a] = butter(9,400/1000);
freqz(b,a,256,2000)

Maka akan menghasilkan output seperti berikut:

4. Membuat Butterworth LPF filter dengan orde berbeda. Gambarkan frekuensi respon untuk orde 1 sampai 8. Gunakan for untuk mengumpulkan filter dg orde berbeda

Setelah itu, plot magnitude hasil frekuensi respon butterworth |H(jw)| sepertidi atas. Jangan lupa tambahkan keterangan dengan perintah legend legend (‘order=1’, ‘order=2’, ‘order=3’, ‘order=4’, ‘order=5’, ‘order=6’, ‘order=7’, ‘order=8’);
Berikut adalah code program. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

5. Lakukan hal yang sama untuk chebyshev 1 dan 2, Bessel dan Ellips LPF. Plot responfrekuensinya |H(jw)|.

Chebysev1

Berikut adalah code program untuk Chebyshev 1. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

  • Chebysev2
    Berikut adalah code program untuk Chebyshev 2. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

Bessel

Berikut adalah code program untuk bessel. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

Ellips

Berikut adalah code program untuk ellips. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

6. Buat untuk orde1 sampai 8 untuk tiap filter yaitu chebyshev1,2, Bessel dan ElipChebyshev 1 orde

Berikut adalah kode program untuk Chebyshev1orde. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

Chbeyshev 2 orde

Berikut adalah code program untuk Chebyshev 2 orde. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

Bessel orde

Berikut adalah code program untuk besselorde. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

Ellips orde

Berikut adalah code program untuk Ellipsorde. Ketikkan Program pada Editor di Matlab.

Berikut sinyal keluaran nya:

ANALISA

Filter Butterworth

Percobaan kali ini yaitu membuat filter Chebyshev1 menggunakan Matlab. Disini saya membuat untuk membuat filter LPF dengan mengetikkan „low‟. Filter Chebyshev adalah filter analog atau digital yang memiliki roll-off lebih curam daripada filter Butterworth. Filter chebyshev1 memiliki ciri ripple pada passbad, datar pada stopband, transition band sempit. Dalam program ini menggunakan n (jumlah orde) sebanyak 9, fs = 3000 Hz, Rp atau ripple passband yaitu 0.5 dB dan fs (frekuensi cutoff) sebanyak 300 Hz.

Kemudian menggunakan rumus untuk chebyshev1 yaitu [b,a]=cheby1(n,Rp,fc/(fs/2),‟low‟) dan menggunakan perintah plot untuk memplot gambar 2 dimensi.
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.

Filter Butterworth orde

Percobaan kali ini yaitu membuat Filter Butterworth LPF menggunakan Matlab. Filter butterworth adalah jenis filter yang meloloskan sinyal tertentu dengan karakteristik “maximally flat”, yang mana cenderung rata pada passband dan stop band, transition band lebar. Dalam program ini menggunakan fs = 8000, orde filter = 5, frekuensi cutoff = 1000 Hz.

Kemudian menggunakan rumus untuk mencari filter butterworth yaitu [b,a]=butter(n,fc/(fs/2),‟low‟); low untuk mendapatkan filter LPF. Kemudia dengan perintah plot untuk menampilkan plot 2 dimensi.
Pada percobaan kali ini yaitu membuat filter Butterworth untuk orde 1-8 menggunakan Matlab. Butterworth Filter adalah salah satu jenis signal processing yang dirancang untuk menghasilkan frekuensi respon yang sedatar mungkin pada passband. LPF Butterworth menghasilkan kerataan passband yang maksimal. Karena nya, sebuah low-pass Butterworth sering digunakan sebagai filter anti-aliasing pada aplikasi data konverter dimana dibutuhkan level sinyal yang tepat pada seluruh passband.

Menggunakan fungsi for untuk mebuat pengulangan orde 1-8. Dan fungsi legend untuk menampilkan penjelasan garis dilengkapi dengan sampel garis yang dijelaskan. Variabel abs untuk nilai absolut. Freqz untuk menghasilkan respon frekuensi nya. Filter Butterworth memiliki ciri datar pada passband dan stop band, transition band lebar.

Filter Low Pass

Filter Low Pass adalah sebuah rangkaian yang tegangan keluarannya tetap dari dc naik sampai ke suatu frekuensi cut-off fc. Bersama naiknya frekuensi di atas fc, tegangan keluarannya diperlemah (turun). Low Pass Filter adalah jenis filter yang melewatkan frekuensi rendah serta meredam/menahan frekuensi tinggi.

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. 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.

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.

KESIMPULAN

  • Filter adalah rangkaian pemilih frekuensi agar dapat melewatkan frekuensi yang diinginkan dan menahan (couple)/membuang (by pass) frekuensi lainnya.
  • Dalam pemrosesan sinyal, filter digunakan untuk memisahkan bagian-bagian yang tidak di inginkan dalam suatu sinyal, seperti noise dan harmonisa dengan cara meredam atau melewatkan frekuensi tertentu, sehingga diperoleh sinyal yang di inginkan.
  • Filter analog merupakan rangkaian elektronik yang terbuat dari resistor, kapasitor ataupun op-amp untuk menghasilkan rangkaian filter.
  • Butterworth filter memberikan optimasi pada daerah pass-band, Chebyshev memberikan optimasi pada roll-off, sedangkan Bessel memberikan optimasi terhadap step response.
  • Untuk melewatkan sinyal dengan frekuensi di bawah 20Khz dengan memblok sinyal di atas 22.05 kHz, dibuuhkan Low-Pass filter dengan performa yang tinggi. untuk itu digunakan filter tipe Bessel karena telinga tidak terlalu sensitif dengan perubahan phasa dari sinyal.
  • Filter Chebyshev mempunyai daerah transisi yang lebih kecil daripada filter Butterworth dengan orde yang sama, pada ripple di passband nya. Filter ini meminimalisir tinggi dari ripple maksimum.
  • Filter eliptik adalah pilihan yang tepat untuk memenuhi persyaratan magnitude-respon yang keras, dan sebuah teknik pembuatan yang membantu memaksimalkan selektifitas band-edge tanpa meningkatkan orde filter.