Anda di halaman 1dari 11

LAPORAN PRAKTIKUM

PENGOLAHAN SINYAL DIGITAL


FILTER DIGITAL JENIS IIR





DISUSUN OLEH :

AZAZ TRI WAHYUDI 10507131003
MAHMUDAH HARDIYANTI 10507131006
YUDHA NAWA ANGGARA 10507131011

PROGRAM STUDI TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
2012
2

A. Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat merancang suatu filter digital sederhana

B. Sub Kompetensi
Setelah mengikuti praktikum ini, mahasiswa dapat:
1. Merancang filter analog, khususnya yang menggunakan pendekatan Butterworth
2. Merancang filter digital IIR berbasis rancangan filter analog
3. Menerapkan filter digital IIR untuk memfilter sinyal


C. Dasar Teori
Filter prototype adalah filter low pass dengan frekuensi cut off 1 rad/detik.

Orde Filter ditentukan oleh pangkat tertinggi dari polinomial s yang ada pada penyebut fungsi
alih suatu filter.
Contoh: Filter orde 1 : ( )
1 s
1
s G
+
=
Filter orde 2 : ( )
1 s 414 . 1 s
1
s G
2
+ +
=
Filter orde 3 : ( )
1 s 2 s 2 s
1
s G
2 3
+ + +
=

1 rad/s
3



Transformasi frekuensi adalah proses transformasi dari fungsi alih filter prototype ke fungsi alih
filter yang dikehendaki :
Prototype orde n Transformasi frekuensi ke frekuensi Orde
Lowpass ke lowpass
0
s
s
e
=
n
Lowpass ke highpass
s
s
0
e
=
n
Lowpass ke bandpass
( )
1 2
2 1
2
s
s
s
e e
e e +
=
2n
Lowpass ke bandstop
( )
2 1
2
1 2
s
s
s
e e +
e e
=
2n

dengan e = 2tf radian dan f adalah frekuensi cut-off filter dalam Hz.
Transformasi bilinear adalah proses transformasi dari transformasi Laplace ke transformasi Z,
dengan rumus :
|
.
|

\
|
+

=
1 z
1 z
T
2
s , dimana T adalah periode sampling.
a m < n

4. Alat dan Bahan
PC (personal computer) yang sudah terinstal sistem operasi Windows dan perangkat lunak
Matlab (versi 5.3.1 atau yang lebih baru) yang dilengkapi dengan toolbox-nya.
D. Table Pengamatan
No Sintac Penjelasan Hasil Running
5.3
% Program 5.3
% Penerapan filter
analog
t = 0:0.001:2;
f1 = 2;
f2 = 30; % dalam Hz
x = sin(2*pi*f1*t) +
sin(2*pi*f2*t);
subplot(211), plot(t,x),
grid;
xlabel('waktu (detik)'),
ylabel('simpangan');
title('Sinyal sebelum
difilter');
[z,p,k] = buttap(2);
% filter prototype orde
2
[n,d] = zp2tf(z,p,k);
fc = 5; % dalam Hz
wc = 2*pi*fc; % dalam
radian/detik
[n1,d1] = lp2lp(n,d,wc);
% transformasi frekuensi
sys = tf(n1,d1);
y = lsim(sys,x,t);
subplot(212), plot(t,y),
grid;
xlabel('waktu (detik)'),
ylabel('simpangan');
title('Sinyal setelah
difilter');
- Program ini menampilkan hasil penerapan filter analog.
- Pada subplot(211) menampilkan sinyal hasil penjumlahan dua
sinyal dengan frekuensi f1 dan f2. Sinyal ini masih berupa sinus,
belum difilter.
- Fungsi buttap untuk membuat prototype butterworth filter
lowpass analog.
- Fungsi zp2tf untuk mengubah zero pole ke transfer konversi
fungsi dengan menggunakan rumus :
NUM(s)
H(s) = -----------
DEN(s)
- Fungsi 1p2lp = [NUMT,DENT] = LP2LP(NUM,DEN,Wo)
megubah low pass filter prototype NUM(s)/DEN(s) dengan
frekuensi cutoff 1 rad/sec ke low pass filter dengan frekuensi
cutoff Wo (rad/sec).
- Fungsi tf untuk membuat fungsi transfer atau konversi ke fungsi
transfer.
- Fungsi lsim sebagai simulasi respon waktu dari LTI ke
perubahan input.
- Pada subplot(212) menampilkan sinyal yang sudah difilter.

5

5.3a
t = 0:0.001:2;
f1 = 2;
f2 = 30; % dalam Hz
x = sin(2*pi*f1*t) +
sin(2*pi*f2*t);
subplot(211), plot(t,x),
grid;
xlabel('waktu (detik)'),
ylabel('simpangan');
title('Sinyal sebelum
difilter');
[z,p,k] = buttap(7);
[n,d] = zp2tf(z,p,k);
fc = 25;
wc = 2*pi*fc;
[n1,d1] = lp2hp(n,d,wc);
sys = tf(n1,d1);
y = lsim(sys,x,t);
subplot(212), plot(t,y),
grid;
xlabel('waktu (detik)'),
ylabel('simpangan');
title('Sinyal setelah
difilter');
- Program ini menampilkan hasil penerapan filter analog.
- Pada subplot(211) menampilkan sinyal hasil penjumlahan dua
sinyal dengan frekuensi f1 dan f2. Sinyal ini masih berupa sinus,
belum difilter.
- Fungsi buttap untuk membuat prototype butterworth filter
lowpass analog.
- Fungsi zp2tf untuk mengubah zero pole ke transfer konversi
fungsi dengan menggunakan rumus :
NUM(s)
H(s) = -----------
DEN(s)
- Fungsi 1p2hp > [NUMT,DENT] = LP2HP(NUM,DEN,Wo)
mengubah low pass filter dengan NUM(s)/DEN(s) dan satu
frekuensi ke high pass filter dengan frekuensi cutoff Wo.
- Fungsi tf untuk membuat fungsi transfer atau konversi ke fungsi
transfer.
- Fungsi lsim sebagai simulasi respon waktu dari LTI ke
perubahan input.
- Pada subplot(212) menampilkan sinyal yang sudah difilter.
- Nilai wc adalah 157.

6

5.3b
clc
clear
t = 0:0.001:2;
f1 = 2;
f2 = 50;
f3 = 100;
x = sin(2*pi*f1*t) +
sin(2*pi*f2*t)+
sin(2*pi*f3*t);
subplot(211), plot(t,x),
grid;
xlabel('waktu (detik)'),
ylabel('simpangan');
title('Sinyal Sebelum
Filter');
[z,p,k] = buttap(10);
[n,d] = zp2tf(z,p,k);
wo = f3/f1;
bw = f3-f1;
[n1,d1] =
lp2bp(n,d,wo,bw);
sys = tf(n1,d1);
y = lsim(sys,x,t);
subplot(212), plot(t,y),
grid;
xlabel('waktu (detik)'),
ylabel('simpangan');
title('Sinyal setelah
difilter');
- Program ini menampilkan hasil penerapan filter analog.
- Pada subplot(211) menampilkan sinyal hasil penjumlahan dua
sinyal dengan frekuensi f1 dan f2. Sinyal ini masih berupa sinus,
belum difilter.
- Fungsi buttap untuk membuat prototype butterworth filter
lowpass analog.
- Fungsi zp2tf untuk mengubah zero pole ke transfer konversi
fungsi dengan menggunakan rumus :
NUM(s)
H(s) = -----------
DEN(s)
- Fungsi lp2bp > [NUMT,DENT] = LP2BP(NUM,DEN,Wo,Bw)
mengubah low pass fiter NUM(s)/DEN(s) dengan frekuensi
cutoff ke band pass filter dengan Wo sebagai frekuensi jenuh
(cutoff) dan Bw adalah bandwidth.
- Fungsi tf untuk membuat fungsi transfer atau konversi ke fungsi
transfer.
- Fungsi lsim sebagai simulasi respon waktu dari LTI ke
perubahan input.
- Pada subplot(212) menampilkan sinyal yang sudah difilter.


7

5.4
% Program 5.4
% Desain filter digital
IIR
[z,p,k] = buttap(3); %
filter orde 3
[num,den] =
zp2tf(z,p,k);
fc = 2; %
frek cut-off dalam Hz
wc = 2*pi*fc; %
frek cut-off dalam
rad/detik
[n1,d1] =
lp2lp(num,den,wc);
fs = 50; %
frekuensi sampling (Hz)
points = 512;
[nd,dd] =
bilinear(n1,d1,fs);
[h,w] =
freqz(nd,dd,points,fs);
[h3,w] =
freqz(0.707,1,points,fs)
;
subplot(121),
plot(w,h3,w,abs(h)),
grid;
xlabel('frekuensi
(Hz)');
ylabel('magnitude');
title('Diagram Bode
Filter');
% *** tampilan dalam
semilog ***
mag = 20*log10(abs(h));
m3 = 20*log10(abs(h3));
subplot(122),
semilogx(w,m3,w,mag),
grid;
xlabel('frekuensi
(Hz)');
- Program ini digunakan untuk menampilkan Diagram Bode
Filter.
- Fungsi buttap digunakan untuk menampilkan low pass filter
prototype butterworth dalam bentuk analog dengan orde
tertentu.
- Fungsi zp2tf digunakan untuk membuat zero-pole untuk
mentransfer fungsi konversi.
- Fungsi lp2lp digunakan untuk mentransformasikan low pass
filter ke low pass filter.
- Fungsi bilinear digunakan untuk mengubah fungsi transformasi
s dengan z, p, dan k ke transformasi z.
- Fungsi freqz digunakan untuk melihat respon filter sinyal digital
- Pada hasil running terlihat letak frekuensi cut off sebesar 2 Hz.
Letaknya berada pada garis perpotongan garis biru dan sinyal
garis hijau.

Dari pengamatan, dapat dianalisa bahwa :
1. Semakin besar frekuensi cut off-nya, maka semakin banyak juga
frekuensi yang dilewatkan oleh filter.
2. Perbedaan terlihat jelas pada hasil running dalam tampilan
semilog. Semakin besar frekuensi cut off-nya, maka garis
sinyalnya semakin mendekati sudut 90. Semakin mendekati
- fc = 5

- fc = 10

8

ylabel('magnitude
(dB)');
title('Diagram Bode
Filter');
sudut 90 maka sinyal semakin bagus. Sinyal filter dengan sudut
90 dikatakan bagus karena sinyal tersebut lebih ideal.
- Tabel :
fc n1 d1 nd dd
5 1984.4017 1
25.13
315.82
1984.40
0.23
0.69
0.69
0.23
1
0.42
0.38
0.039
10 1984.4017 1
25.13
315.83
1984.4017
0.075
0.226
0.226
0.075
1
-0.83
0.52
-0.086















9

5.5
% Program 5.5
% Penerapan filter
digital
n = 0:250;
T = 0.01;
f1 = 2; f2 = 30;
% frekuensi sinyal dalam
Hz
x = sin(2*pi*f1*n*T) +
sin(2*pi*f2*n*T);
subplot(211),
plot(n*T,x), grid;
xlabel('waktu (detik)');
ylabel('simpangan');
title('Sinyal sebelum
difilter');
[z,p,k] = buttap(2);
% orde filter = 2
[num,den] =
zp2tf(z,p,k);
fc = 5; % frek
cut-off dalam Hz
wc = 2*pi*fc; % frek
cut-off dalam
radian/detik
[n1,d1] =
lp2lp(num,den,wc);
[nd,dd] =
bilinear(n1,d1,1/T);
y = filter(nd,dd,x);
subplot(212),
plot(n*T,y), grid;
xlabel('waktu (detik)');
ylabel('simpangan');
title('Sinyal setelah
difilter');
- Program ini digunakan untuk menampilkan simulasi Penerapan
Filter Digital di kehidupan nyata dengan sinyal yang
dijumlahkan adalah sinyal sinus dengan frekuensi 2 dan 30 Hz.
- Fungsi buttap digunakan untuk menampilkan low pass filter
prototype butterworth dalam bentuk analog dengan orde
tertentu.
- Fungsi zp2tf digunakan untuk membuat zero-pole untuk
mentransfer fungsi konversi.
- Fungsi lp2lp digunakan untuk mentransformasikan low pass
filter ke low pass filter.
- Fungsi bilinear digunakan untuk mengubah fungsi transformasi
s dengan z, p, dan k ke transformasi z.
- Fungsi filter digunakan untuk mengubah menjadi filter satu
dimensi.
- Sinyal yang dihasilkan tidak cacat.
- Dari gambar hasil running program, dapat dianalisa bahwa jika
orde filter semakin besar, maka pada hasil filter akan memiliki
delay yang lebih panjang pada awal sinyal hasil filter.
- Delay yang makin panjang pada awal sinyal hasil filter terlihat
jelas jika orde dinaikkan menjadi puluhan.

- Ordo 1

- Ordo 2






10

- Ordo 3

E. Kesimpulan
Dari praktikum yang telah dilakukan, dapat disimpulkan :
1. Filter lowpass melewatkan frekuensi sinyal rendah, filter highpass melewatkan frekuensi
tinggi. Sedangkan filter band pass frekuensi sedang.
2. Hasil sinyal filter yang sudah difilter sesuai dengan transformasi frekuensi yang
digunakan.
3. Semakin besar frekuensi cut off, maka semakin banyak juga frekuensi yang dilewatkan
oleh filter.
4. Perbedaan terlihat jelas pada hasil running dalam tampilan semilog. Semakin besar
frekuensi cut off-nya, maka garis sinyalnya semakin mendekati sudut 90. Semakin
mendekati sudut 90 maka sinyal semakin bagus.
5. Jika orde filter semakin besar, maka pada hasil filter akan memiliki delay yang lebih
panjang pada awal sinyal hasil filter.