Rekursivt diskret 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 
Generelt kan vi beskriva eit rekursivt filter med differanselikninga

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

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 

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.

Filterkonstruksjon 
Det er utvikla mange forskjellige metodar for konstruksjon av rekursive filter, dvs. for å finna filterkoeffisientane. 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.

Referansar

Sjå òg 
 Digitalt filter (generelt om diskrete filter)
 FIR-filter (ikkje-rekursivt diskret filter)

Signalhandsaming
Lineære system