Filter Design dengan Scilab

Table of Contents

Filter Design dengan Scilab

Filter Design dengan Scilab

Filter Design dengan Scilab

Tulisan filter design dengan scilab ini menjelaskan tentang cara merancang filter dengan software open source Scilab. Filter seperti tersurat pada namanya berarti dipakai untuk menyaring. Sama seperti konsep saringan tahu, saringan pasir atau saringan oli, filter juga digunakan untuk menyaring. Masing-masing saringan yang disebutkan diatas adalah beda pada object yang disaring. Filter dalam bidang signal processing mempunyai kegunaan untuk menyaring frekuensi. Filter dalam perkembangannya mempunyai pemanfaatan yang beragam cntohnya filter adaptif.

Untuk klasifikasi berdasarkan frequensi responnya filter dibedakan menjadi:
– Low Pass Filter (LPF): melewatkan frekuensi rendah, menolak frekuensi diatas cut ofnya
– Band Pass FIlter (BPF): melewatkan band frekuensi (dari frekuensu cut off 1 sampai frekuensi cut off 2), menolak frekuensi ynag lebih rendah dari fc1 dan lebih besar dari fc2
– High Pass Filter (HPF): melewatkan frekuensi diatas frekuensi cut offnya
– Band Rejection: Kebalikan dari Bandpas, diantara fc1 dan fc 2 yang ditolak
Pemanfaatan filter bisa dicontohkan misalnya sinyal EKG terganggu oleh sinyal frekuensi rendah. Suara percakapan manusia terganggu oleh bunyi mesin pabrik juga merupakan contoh kasus perlunya filter.

Berikut akan disimulasikan penghapusan derau dari sinyal aslinya. Sinyal asli dimisalkan sinyal sinus 5 Hz selama 4 detik. Deraunya adalah sinyal sinus 50 Hz selama 4 detik. Maka untuk mensimulasikannya dalam scilab dapat kita tulis sebagai berikut(frekuensi cuplik dibuat 1kHz):

t = 0:0.001:4
sinyal = sin(2*%pi*5*t);
derau = sin(2*%pi*50*t);
gabungan= sinyal + derau

Untuk mendapatkan sinyal terpisah dari derau yang dapat dilakukan adalah menapis frekuensi tinggi sinyal gabungan. Dengan demikian digunakan filter low pass. Langkah selanjutnya adalah menentukan frekuensi cut off filter low pass tersebut. Perancangan filter dengan Scilab sangat mudah sekali. Pada Scilab terdiri beberapa fungsi perancangan dengan teknik butterworth, chebisev ataupun eliptik.

Untuk menentukan cut of sebenarnya sangatlah mudah dengan melihat frekuensi derau 50 Hz dan frekuensi suara 5 Hz maka frekuensi cut off dengan mudah dapat kita pilih diantara 5Hz sampai 50 Hz. Usahakan frekuensi cut of jangan terlalu dekat 5 Hz karena sifat filter yang tidak ideal akan membuat sinyal di 5 Hz juga terpotong. Untuk itu kita pilih 25 Hz. Fungsi untuk merancang filter infinite impulse respon (iir) pada scilab dengan memanfaatkan iir. Hasil fungsi tersebut adalah fungsi alih H(z)

filterku = iir(15,’lp’,’butt’,[0.025 0],[0 0]);

– Parameter pertama pada fungsi iir yang bernilai 15 menunjukan orde filter. Semakin tinggi orde filter akan membuat filter menjadi semakin ideal tetapi harus diingat bahwa semakin tinggi ordenya maka komputasi yang dilakukan akan semakin banyak.
– Parameter yang kedua adalah type filter, lp= lowpass, hp=highpass, bp=bandpass. Pada contoh adalah filter lowpass
– Parameter yang ketiga dalah teknik perancangan filter yang digunakan dalam hal ini menggunakan metode Butterworth. Tersedia metode lain yaitu cheb1, chep2 dan ellip.
– Parameter yang keempat adalah frekuensi cut off 1 dan frekuensi cut off 2 berbentuk vektor baris. untuk bandpass kedua kolom tidak bernilai nol
– Parameter yang kelima adalah vektor error. Digunakan untuk teknik chebisev dan elliptik

Untuk menerapkan filter yang telah dirancang pada sinyal gabungan dapat dituliskan perintah berikut:

keluaran = flts(gabungan,filterku);

Untuk menggambar sinyal masukan dan sinyal keluaran filter adalah sebagai berikut

xsetech([0,0,1,1/2])
plot2d(t,gabungan)
xtitle(‘Sinyal asli’)
xsetech([0,1/2,1,1/2])
plot2d(t,keluaran)
xtitle(‘sinyal keluaran filter’)

Perintah diatas adalah untuk menggambar sinyal masukan dan keluaran filter dalam satu window yang terdiri dari dua gambar.

Baca Juga :