Mengenal IIR Filter

27
11/23/2006 11/23/2006 1 1 Mengenal Mengenal IIR Filter IIR Filter Oleh Oleh : : Tri Budi Santoso Tri Budi Santoso Lab Lab Sinyal Sinyal , , EEPIS EEPIS - - ITS ITS

Transcript of Mengenal IIR Filter

Page 1: Mengenal IIR Filter

11/23/200611/23/2006 11

MengenalMengenal IIR Filter IIR Filter

OlehOleh::Tri Budi SantosoTri Budi Santoso

Lab Lab SinyalSinyal,,EEPISEEPIS--ITSITS

Page 2: Mengenal IIR Filter

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”

Page 3: Mengenal IIR Filter

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

Page 4: Mengenal IIR Filter

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]

Page 5: Mengenal IIR Filter

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

Page 6: Mengenal IIR Filter

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

Page 7: Mengenal IIR Filter

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

Page 8: Mengenal IIR Filter

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)

Page 9: Mengenal IIR Filter

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)

Page 10: Mengenal IIR Filter

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)

Page 11: Mengenal IIR Filter

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

Page 12: Mengenal IIR Filter

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]

Page 13: Mengenal IIR Filter

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

Page 14: Mengenal IIR Filter

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

Page 15: Mengenal IIR Filter

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”

Page 16: Mengenal IIR Filter

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]

Page 17: Mengenal IIR Filter

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:

Page 18: Mengenal IIR Filter

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

Page 19: Mengenal IIR Filter

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]

Page 20: Mengenal IIR Filter

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

Page 21: Mengenal IIR Filter

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][

Page 22: Mengenal IIR Filter

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

Page 23: Mengenal IIR Filter

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)(

Page 24: Mengenal IIR Filter

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

Page 25: Mengenal IIR Filter

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]

Page 26: Mengenal IIR Filter

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')

Page 27: Mengenal IIR Filter

11/23/200611/23/2006 2727