11/23/200611/23/2006 11
MengenalMengenal IIR Filter IIR Filter
OlehOleh::Tri Budi SantosoTri Budi Santoso
Lab Lab SinyalSinyal,,EEPISEEPIS--ITSITS
11/23/200611/23/2006 22
KonsepKonsep DasarDasar
Infinite Infinite ImpuseImpuse Response (IIR) Response (IIR) dalamdalam halhal iniini janganjangandipahamidipahami sebagaisebagai suatusuatu kondisikondisi response impulse response impulse daridari -- ~ ~ dandan berakhirberakhir sampaisampai + ~+ ~LebihLebih tepattepat dipahamidipahami sebagaisebagai suatusuatu filter yang filter yang memperhitungkanmemperhitungkan kondisikondisi sebelumsebelum dandan sesudahnyasesudahnya, , atauatau sebagaisebagai gabungangabungan antaraantara “feedback” “feedback” dandan “feed “feed forward” forward”
Pada FIR: “feed forward” Pada IIR: “feedback” dan “feedforward”
11/23/200611/23/2006 33
1. 1. BentukBentuk UmumUmum PersamaanPersamaan BedaBedaIIRIIR
∑∑==
−+−=M
kk
N
ll knxblnyany
01][][][ (1)
dua set koefisien{bk} koefisien feedback{al} koefisien feed forewardbanyaknya (total koefisien) = M+N+1biasanya N ditetapkan sebagai orde filter IIR
11/23/200611/23/2006 44
ContohContoh 1:1:Suatu sistem IIR memiliki nilai M=N=1 dengan fungsi output sebagai berikuty[n] = a1y[n-1] + b0x[n] + b0y[n-1] (2)Maka bentuk diagram bloknay didapatkan sebagai:
z-1
x[n]b0
b1
z-1
a1
y[n]
y[n-1]
11/23/200611/23/2006 55
2 2 ResponRespon dalamdalam Domain Domain WaktuWaktu
Kondisikan koefisien-koefisien dalam persamaan (2) sebagai berikut:a1= 0.8, b0= 5 dan b1=0 sehingga:
y[n] = 0.8 y[n-1] + 5x[n] (3)
dengan asumsi input berupa impulse sebagai berikut:
]3[2]1[3][2][ −+−−= nnnnx δδδ (4)
Dapatkan disini x[0]=2, x[1]=-3, x[2]=0, x[3]=2y[0] = 0,8 y[n-1] +5x[n] = 0,8 y[-1] +5x[0] = 0,8(0) + 5(2) = 10y[1] = 0,8 y[0] +5x[1] = 0,8(10) + 5(-3) = -7y[2] = 0,8 y[1] +5x[2] = 0,8(-7) + 5(0) = -5,6y[3] = 0,8 y[2] +5x[3] = 0,8(-5,6) + 5(2) = 5,52y[4] = 0,8 y[3] +5x[4] = 0,8(5,52) + 5(0) = 4,416y[5] = 0,8 y[4] +5x[5] =0,8(4,416) + 5(0) = 3,5328y[6] = 0,8 y[5] +5x[6] =0,8(3,5328) + 5(0) = 2,8262….dst
11/23/200611/23/2006 66
MatlabMatlab CodeCodey(1)=0;x(2)=2; x(3)=-3; x(4)=0; x(5)=2;for n=2:5
y(n) = 0.8*y(n-1) + 5*x(n);endfor n=6:10
y(n) = 0.8*y(n-1);endnn=0:9;stem(nn-1,y)grid
11/23/200611/23/2006 77
Dalam hal ini input = 0 untuk n > 3Maka persamaan beda menjadi y[n]=0,8y[n-1]; n>3Rasio antar deret bernilai konstan a =0,8, sehingga bisa dimodifikasi kembali sebagai:
( ) 38,0]3[][ −= nyny untuk n>3
11/23/200611/23/2006 88
3 3 FungsiFungsi SistemSistem padapada SuatuSuatu Filter IIRFilter IIR
Hubungan domain-n dengan domain-z dapat dinyatakan sebagai berikut:
][][][][][][ zXzHzYnxnhny =⇔∗=juga berlaku pada sistem IIR
3.1 Kasus Umum First Order
]1[][]1[][ 101 −++−= nxbnxbnyany (5)
bentuk-z nya adalah:
)()()()( 110
11 zXzbzXbzYzazY −− ++=
Coba cari formulasi H(z)=Y(z)/X(z)
11/23/200611/23/2006 99
Maka akan didapatkan bentuk:
( ) ( ) )()(1
)()()()(1
101
1
110
11
zXzbbzYza
zXzbzXbzYzazY−−
−−
+=−
+=−
( )( ) )(
)(1)(
)()( 11
110
zAzB
zazbb
zXzYzH =
−+
== −
−
(6)
Syntax umum dalam Matlab:yy=filter(bb,aa,xx)bb=koefisien numerator (pembilang) B(z)aa=koefisien denumerator (penyebut) A(z)
11/23/200611/23/2006 1010
ContohContoh 2:2:Suatu feedback filter dinyatakan dalam domain-n sebagai:y[n] = 0,5y[n-1] - 3x[n] + 2x[n-1]Buat program Matlab untuk filter ini.
Penyelesaian:Dari kasus ini didapatkan:aa = 1; -0,5bb = -3; 2Dengan Matlab bentuk ini akan dituliskan sebagai:yy=filter([-3,2], [1,-0.5],xx)
11/23/200611/23/2006 1111
ContohContoh 3:3:Pada kasus yang sama coba anda cari bentuk system function dalam domain-z
Penyelesaian:Dengan cara yang sudah standar kita rubah persamaan diatas menjadi domain-z
( ) ( )( )( )1
1
11
11
11
5,0123
)()()(
)(23)(5,01)(2)(3)(5,0)(
)(2)(3)(5,0)(
−
−
−−
−−
−−
−+−
==
+−=−
+−=−
+−=
zz
zXzYzH
zXzzYzzXzzXzYzzY
zXzzXzYzzY
11/23/200611/23/2006 1212
ContohContoh 4:4:Suatu syntax Matlab dinyatakan sebagai berikut:yy=filter(5,[1,0.8],xx)Cari system function dan respon impulsenya (respon dalam domain-n)
Penyelesaian:Dalam hal ini didapatkan nilai bb=5 dan aa=1; 0,8Maka kita dapat menyususn system function dalam domain-z sebagai berikut:
)(5)(8,0)()()8,01)((
8,015
)()()(
1
1
zXzYzzYzXzY
zzXzYzH
+−=
=++
==
−
−
Dalam domain-n akan didapatkan bentuk:y[n] = -0,8y[n-1] + 5x[n]
11/23/200611/23/2006 1313
3.2 System Function 3.2 System Function dandan BlockBlock--Diagram StructureDiagram Structure
Direct Form I Structure
Block Diagram Structure Direct Form II Structure
Transpose Form Structure
11/23/200611/23/2006 1414
3.2.1. Direct Form I Structure3.2.1. Direct Form I Structure
z-1
x[n]b0
b1
z-1
a1
y[n]
y[n-1]
v[n]
Feed forward part B(z) Feed back part = 1/A(z)
Bentuk dasar kita ulangi sebagai berikut
11/23/200611/23/2006 1515
Kembali kita lihat:
( ) )()(
11
11
)( 11011
110 zB
zAzbb
azazzbb
zH =+⎟⎠⎞
⎜⎝⎛−
=−+
= −−−
−
Bisa juga sebagai rasio dua persamaan beda:v[n] = b0x[n] + b1x[n-1] y[n] = a1y[n-1] + v[n] bentuk ini dikenal sebagai “Direct Form I Sructure”
11/23/200611/23/2006 1616
3.2.2. Direct Form II Structure3.2.2. Direct Form II StructureCoba kita rubah
⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛=
)(1)()(
)(1)(
zAzBzB
zAzH
Blok diagramnya menjadi
x[n]
y[n]w[n]
z-1
b0
b1
Feed forward part B(z)
z-1
a1
w[n-1]
Feed back part = 1/A(z)
w[n-1]
11/23/200611/23/2006 1717
SistemSistem iniini equilvalenequilvalen dengandengan::w[nw[n] = a] = a11x[nx[n--1] + 1] + x[nx[n]]y[ny[n] = b] = b00x[nx[n--1] + b1] + b11w [nw [n--1]1]
Dari persamaan dalam domain-z yang sudah diperoleh:
1
110
1)( −
−
−+
=az
zbbzH
memberikan bentuk Direct Form II Structure secara lebih sederhana sebagai:
11/23/200611/23/2006 1818
x[n]
y[n]w[n] b0
b1
z-1
a1w[n-1]
Blok diagram ini memberikan informasi tentang transformasi:
1. Semua panah yang dibalik arahnya dengan multiplier tidak merubahnilai atau lokasinya
2. Semua titik-titik cabang menjadi jumlahan, dan semua titik jumlahanmenjadi cabang
3. Input dan output dipertukarkan
11/23/200611/23/2006 1919
3.2.3. Transpose Form Structure3.2.3. Transpose Form Structure
Bentuk gambar pada Direct Form II Structure bisa ditranspose menjadi:
x[n] y[n]
v[n]
b0
b1
z-1
a1
v[n-1]
11/23/200611/23/2006 2020
Modifikasi persamaan dengan menjumlah node:y[n] = b0x[n] + v[n-1] (7)v[n] = b1x[n] + a1y[n] (8)
Transformasi z memberikan:
)()()(
)()()(1
11
10
zYzazXbzV
zVzzXbzY−
−
+=
+=
Eliminasi terhadap V(z) memberikan
( )( ) ( )
11
110
110
11
111
10
1)()()(
)()(1
)()()()(
−
−
−−
−−
−+
==
+=−
++=
zazbb
zXzYzH
zXzbbzYza
zYzazXbzzXbzY
11/23/200611/23/2006 2121
HubunganHubungan SistemSistem IIR IIR dengandengan Impulse ResponseImpulse Response
( ) 10
1
0 11)( −
∞
=
−∞
=
−
−=== ∑∑ az
azzazHn
n
n
nn
dengan h[n] = anu[n]
Maka Ekuivalennya adalah:
nn
aznua −−⇔
11][
11/23/200611/23/2006 2222
ContohContoh::Sistem IIR memiliki respon impulse:y[n] = a1y[n-1] + b0x[n] + b1x[n-1]
System functionnya adalah:
]1[)(][)(][ 11110 −+= − nuabnuabnh nn
Gunakan sifat linearitas dan delay pada transformasi–z:
11
110
11
111
10
1
11
11)(
−
−
−−
−
−+
=
⎟⎟⎠
⎞⎜⎜⎝
⎛−
+⎟⎟⎠
⎞⎜⎜⎝
⎛−
=
zazbb
zazb
zabzH
11/23/200611/23/2006 2323
4. 4. ResponRespon FrekuensiFrekuensi padapada Filter IIRFilter IIR
Sistem LTI, jika:
ωω
ω
ω
ω
ω
jezj
nj
nj
zHeHHeHny
enx
===
=
=
)()()()(][
][
Kembali ke system function H(z) pada IIR:
ω
ωω
ω j
j
ezj
eaebb
zHeH
zazbb
zH
j −
−
=
−
−
−+
==
−+
=
1
10
11
110
1)()(
1)(
11/23/200611/23/2006 2424
KuadratKuadrat magnitudonyamagnitudonya memberikanmemberikan::
( )
{ }{ }ω
ω
ωω
ωω
ω
ω
ω
ω
ωωω
j
j
jj
jj
j
j
j
j
jjj
eaa
ebbbb
eaeaa
ebbebbbb
eaebb
eaebb
eHeHeH
−
+
−+
++
−
−
−
−
−+
++=
−−+
+++=
−+
×−+
=
=
12
1
0*0
21
20
1*1
21
0*0
*10
21
20
*1
*1
*0
1
10
*2
Re21
Re2
1
11
)()(
Dalam hal ini tidak ada asumsi bahwa koefisien filter adalah real
11/23/200611/23/2006 2525
Jika koefisien-koefisien bernilai real, maka:
( )( )ω
ωω
cos21
cos2)(
12
1
0*0
21
202
aa
bbbbeH j
−+
++=
Fasenya dinyatakan sebagai:
( ) ( )( )
( )( )⎟
⎟⎠
⎞⎜⎜⎝
⎛−
−⎟⎟⎠
⎞⎜⎜⎝
⎛+−
= −−
ωω
ωω
ωφcos1
sintan
cossin
tan1
11
10
11
aa
bbb
Dengan perangkat lunak Matlab akan sangat membantu untukmelihatr respon frekuensinya.
Misal suatu IIR Filter memiliki reponse impulse sebagai berikut:y[n] = 0,8y[n-1] + 2x[n] +2x[n-1]
Kita bisa memodifikasinya menjadi:y[n] - 0,8y[n-1] = 2x[n] +2x[n-1]
11/23/200611/23/2006 2626
Maltab Code:
aa=[1,-0.8];bb=[2,2];w=-6:0.03:6;HH=freqz(bb,aa,w);subplot(2,1,1)plot(w,abs(HH),'linewidth',2)gridylabel('Magnitudo')subplot(2,1,2)plot(w,phase(HH),'linewidth',2)gridylabel('Fase')
11/23/200611/23/2006 2727
Top Related