Rekursivt diskret filter

Frå Wikipedia – det frie oppslagsverket
Fig. 1 Flytdiagram for generisk rekursivt filter.

Rekursivt diskret filter, rekursivt digitalt filter, eller IIR-filter, er eit tids-diskret filter som gjer bruk av tidlegare utgangsverdiar. Mange rekursive filter gjer òg bruk av tidlegare inngangsverdiar, men treng ikkje gjera det.

Tidsplanet[endre | endre wikiteksten]

Generelt kan vi beskriva eit rekursivt filter med differanselikninga[1][2][3]

eller på meir kompakt form

Vi ser at summasjonen til venstre består av dei delprodukta , , der er ikkje-rekursive filterkoeffisientar og er tidligere inngansverdier, medan summasjonen til høgre består av dei delprodukta , der er rekursive filterkoeffisientar og er tidlegare utgansverdiar. Flytdiagrammet i fig. 1 inneheld same informasjon som diffanselikninga, men på visuell form. I praksis må dei tidlegere verdiane, og , lagrast i skiftregistre, eller sirkulære bufferar i RAM. I staden for å subtrahera dei rekursive koeffisientane kan vi bytta forteikn på dei og addera. Talet på rekursive og ikkje-rekursive koeffisientar treng ikkje vera like, så generelt har vi at .

På grunn av at tidlegare utgangsverdiar er med på å bestemma utgangsverdien vil impulsresponsen dø ut sakte og gå asymptotisk mot null. Han er difor i prinsippet av uendeleg lengd, noko som har gjeve opphav til betaglesen IIR-filter, der akronymet IIR kjem frå engelsk «Infinite Impulse Response».

Filter som har berre rekursive koeffisientar blir ofte kalla AR-filter, der akronymet AR står for autoregressive, som er lånt frå regresjonsanalyse innan statistikk. Etter som eit filter med både rekursive og ikkje-rekursive koeffisientar er sett saman av eit AR- og eit MA-filter blir det kalla eit ARMA-filter. Medan eit MA-filter er ikkje-rekursive og har endeleg impulserespons, er både AR- og ARMA-filtere rekursive og har uendeleg lang impulsrespons.

Transferfunksjon[endre | endre wikiteksten]

Når differenselikninga er kjent kan ein finna transferfunksjonen ved å z-transformera differenselikninga ledd for ledd; ein forsinkelse med sampelinterval i tidsplanet tilsvarar multiplikasjon med i -planet:

Vi samlar så alle ledd med til venstre for likheitteiknet og alle ledd med til høgre:

Transferfunksjonen finn vi så ved å dividera med og polynomet på begge sider:

Vi har no ein rasjonal transferfunksjon, med polynomet i tellaren og polynomet i nemnaren. Desse blir kalla tellarpolynomet respektivt nemnarpolymomet.

Om det er eit AR-filter er tellarpolymomet og transferfunkasjonen får forma

Begge filtera er rekursive, så impulsresponsen er uendeleg lang.

Strukturar for realisering av rekursive filtere[endre | endre wikiteksten]

Rekursive filtere kan realiserast med fleire forskjellige strukturar. Om ein ser bort frå aritmetisk ardundingsfeil har alle strukturane same transferfunksjon, og difor same frekvensresponse. Men ulike strukturar har ulik følsamheit for avrundingsfeil og ulik tal på tilstandsvariablar.

Direkte form-strukturar[endre | endre wikiteksten]

Fig. 2 Direkte form I ARMA-struktur.
Fig. 3 Direkte form II ARMA-struktur.

Transferfunksjonen til eit ARMA-filter kan faktorerast og skrivast som

Inngangssekvensen blir fyrst filtrert av eit MA-filter, med transferfunksjon og deretter av eit AR-filter med transferfunksjon , som vist i fig. 2. Men vi kan like godt bytta om på rekkjefylgja av MA- og AR-filtera, som illustrert i Fig. 3, og skriva transferfunksjon som

Medan strukturen i Fig. 2 har registere, har strukturen i Fig. 3 berre registere, som er det mindste talet på registre som er muleg. Ein struktur som har det mindste talet på registre som er muleg blir kalla «kanonisk». Strukturane i fig. 2 og 3 vert kalla «direkte form I» respektivt «direkte form II». Dei kreve begge like mange multiplikasjonar og addisjonar.

Filter realiserte som direkte-form I og II krev at alle rekursive og alle ikkje-rekursive delprodukta i differenselikninga blir summerte kvar for seg, for deretter å bli adderte. Dette medfører at det er naudsynt med eit stort dynamikkområde (dvs. at filteret må realiserast med stor ordlengd). For å få betre innsikt i denne problematikken er det nyttig å merkja seg at ein finn polane og nullpunkta ved å faktorisera tellar- respektivt nevnar-polynoma. Faktorisering av polynom med høg orden er ein numerisk ustabil operasjon (polynom med orden som ikkje er større enn 20 kan i nokre tilfelle vera problematiske). Ei lita endring i ein (eller flere) koeffisient(ar) kan føra til ee stor endring av røterne til polynomet.

Kravet til stort dynamikkområde aukar med orden på filteret og er dessutan avhengig av plasseringa av polane og nullpunkta i -planet. Frå geometrisk analyse av frekvensrsponsen er det kjend at polar og nullpunkt som ligg nært inntil eningssirkelen har større innflytelse på frekvensresponsen enn polar og nullpunkt som ligg langt frå eningssirkelen. Dette betyr i praksis at filtere som har polar eller nullpunkt som ligg helt inntil eningssirkelen ikkje bør realiserast som ein direkte form-struktur. I verste fall kan polar med liten avstand fra eningssirkelen hamne utanfor eningssirkelen på grunn av avrundingfeil i koeffisientene og dei aritmetiske einingane, slik at filteret blir ustabilt. Realisering på direkte form bør dirfor ikkje brukast i praksis (med unnatak av i helt spesielle tilfelle), spesielt ikkje når filteret blir realisert ved hjelp av fastkommaaritmetikk. Kaskade og parallell form-strukturar har begge mykje betre eigenskaper enn direkte form-strukturane, og bør nyttast.

Kaskadestruktur[endre | endre wikiteksten]

Fig. 4 Kaskaderealisering av ARMA-filter.
Fig. 5 2. ordens direkte form I ARMA-struktur.
Fig. 6 Transponert 2. ordens direkte form I ARMA-struktur.
Fig. 7 2. ordens direkte form II ARMA-struktur.
Fig. 8 Transponert 2. ordens direkte form II ARMA-struktur.

Ved å faktorisera tellar- og nemnarpolynoma respektivt kan den rasjonale transferfunksjonen skrivast som eit produkt av andre ordens rasjonale transferfunksjonar. Denne faktoriseringa blir utført med dobbelpresisjonsaritmetikk før koeffisientane blir lasta inn i filteret. På grunn av den store ordlengda fører denne operasjonen vanligvis ikkie til numeriske problem. Transferfunksjonen kan då skrivast

der er ein skaleringskonstant, og er takfunksjonen, som gir det minste heltallet større eller lik . kan no implementerast som 2. ordens seksjonar i kaskade, som vist i fig. 4.

For å gjera det så enkelt som mogleg kan vi gå ut i frå at talet på reelle nullpunkt/polar er grupperte to og to samen, slik at kvar 2. ordens seksjonen enten har eit par konjugerte nullpunkt og eit par konjugerte polar, eller to reelle nullpunkt og/eller to reelle polar. Om er eit oddetal vil ein av seksjonane vera eit 1. ordens filter.

Kvar enkelt 2. ordens seksjon

kan no implementerast som ein av fylgjande strukturar:

  • Direkte form I (fig. 5)
  • Transpose direkte form I (fig. 6)
  • Direkte form II (fig. 7)
  • Transpose direkte form II (fig. 8).

Direkte form II og transponset direkte form II har berre to tilstandsvariablar, medan direkte form I og transponert direkte form I har fire tilstandsvariablar.

Rekursive filtere implementert med 2. ordens seksjonar på kaskadeform har mykje mindre følsamheit for kvantisering av koeffisientane enn ein generisk direkte form stryktur. Grunnen til dette er at polane og nullpunkta til kvar 2. ordens seksjon kjem fram ved faktorisering av 2. ordens polynom[4].

Filterkonstruksjon[endre | endre wikiteksten]

Det er utvikla mange forskjellige metodar for konstruksjon av rekursive filter, dvs. for å finna filterkoeffisientane[5]. Ein vanlig fremgangsmåte er å konvertere et tids-kontinuerlig filter til diskret form. Dei mest kjende metodane for dette formålet er impuls-invariant metoden og den såkallte bilineære z-transformmetoden. Grunnen til at det er interessant å ta utgangspunkt i tids-kontinuerlige filtere (analoge filter) er at desse har vore studert over eit svært langt tidsrom og det eksisterer analytiske (lukka form) metodar for å konstruera analoge filter. Men det finnes òg mange numeriske optimaliseringsmetodar for å konstruera tids-diskrete rekursive filter direkte[5].

Referansar[endre | endre wikiteksten]

  1. S.K. Mitra, Digital signal processing - A computer-based approach, 2. utg., McGraw-Hill, 2011.
  2. A.V, Oppenheim og R.W. Schafer, Discrete signal processing, 3. utg., Pearson Prentice-Hall, 2010.
  3. J.G. Proakis og D.G. Manolakis, Digital signal processing: Principles, algorithms and applications, 4. utg., Pearson Prentise-Hall, 2007.
  4. L.B. Jackson, Digital filters and signal processing, 3. utg., Kluwer Academic Publishers, 1996.
  5. 5,0 5,1 T.W. Parks og C.S. Burrus, Digital filter design, John Wiley & Sons, 1978.

Sjå òg[endre | endre wikiteksten]