Eit FIR-filter innanføre signalhandsaming (frå engelsk; Finite Impulse Response filter) er eit digitalt filter med ein endeleg impulsrespons[1]. Desse filtera står i kontrast til IIR-filter, som har uendeleg lang impulsrespons.

Fig. 1 Direkte form FIR-filter.

Tidsplanet endre

Eit FIR-filter kan uttrykkast med differanselikninga

 

der   er koeffisientvektoren,   er inngangssekvensen,   er utgangsekvensen,   er talet på koeffisientar og   er ein sampelindeks. Eit FIR-filter er med andre ord foldninga mellom koeffisientvektoren   og inngangssekvensen  . Koeffisientvektoren er av lengd  , medan inn- og utgangssekvensane kan ha vilkårleg lengd; i eit sanntidssystem er ikkje lengda avgrensa. FIR filter vil alltid vere stabile ettersom dei ikkje nyttar tilbakekopling.

Filteret genererer ein ny utgangsverdi   ein gong per sampelinterval. Den artimetiske kompleksiteten er difor   multiplikasjonar og   addisjonar per sampel. Ein multiplikasjon pluss addison blir ofte kalla ein MAC-operasjon, som står for multiplikasjon-akkumulasjon.

Eit FIR-filter kan òg uttrykkjast som foldninga mellom koeffisientvektoren og inngangssekvensen:

 

der   er foldningsoperatoren.

Impulsresponsen til filteret er av lengd  , der   er sampelintervalet og   er sampelfrekvensen. Mange FIR-filter har lineær faseresponse, men treng ikkje ha det. Om filteret har symmetrisk coeffisientvektor er faseresponsen lineær.

Transferfunksjon endre

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 faktiriserer ut  :

 

og finn transferfunksjonen ved å dividera med   på begge sider av likheitsteiknet:

 

Transferfunksjon har   røter, som vert kalla nullpunk, av di   når   samsvarar med ei rot,

Strukturar for symmetrisk filtervektorar endre

 
Fig. 2 FIR-struktur for   eit like tal
 
Fig. 3 FIR-struktur for   eit ulike tal

Når eit FIR-filter blir implementert som i fig. 1 er talet på multiplikasjonar   og talet på addisjonar/subtraksjonar er  . FIR-filtere med lineær fase har enten symmetriske (Type I og Type II) eller asymmetriske (Type III og Type IV) koeffisientvektor. For filter med symmetrisk koeffisientvektor har vi at

 

og for usymmetrisk koeffisentvektor har vi at

 

Når   er eit oddetall kan vi dirfor skriva differanselikninga som

 

og når   er eit paretall som

 

Som vist i fig. 2 og 3 kan vi bretta skiftregisteret i Fig. 1, utføra addisjonane  ,  , etc., før vi utfører multiplikasjonane. Dette er illustrert i fig. 2 og fig. 3 for   eit partal respektivt eit oddetall. Talet på multiplikasjonar kan dermed reduserast til  , eller  , medan talet på addisjonar blir   som før. Typiske døme på FIR-filtere med symmetrisk impulsrespons er LP-, HP-, BP- og BS-filter. Filtere med asymmetrisk impulsrespons (Type III og Type IV) kan òg implementerast med strukturane vist i fig. 2 og 3; addisjonane må da byttast ut med subtraksjonar. Filtere som ikkje har nokon symmetri derimot, må implementerast med strukturen vist i fig. 1 og krev   multiplikasjonar.

Når eit FIR-filter med lineær fase skal implementerast med ein digital signalprosessor (DSP) vil vi ikkje kunne dra fordel av å bruka strukturane i fig. 2 og 3, ettersom ein DSP kan utføra både ein multiplikasjon og ein addisjon/subtraksjon per instruksjonsperiode. Det same er tilfellet med mikroprosessorar i moderne PCar. Men om filteret blir implementert i form av ein ASIC, FPGA eller ein mikrokontroller kan vi dra fordel av dei folda strukturane i fig. 2 og 3. I et sanntids-system må alle multiplikasjonane og addisjonane/subtraksjonane utførast ein gong per sampelinterval, så dei folda strukturane i fig. 2 og 3 kan utnyttast for å redusera klokkefrekvensen eller for å spara areal.

Design av FIR-filter endre

Vanlege metodar for design av FIR-filter er

Vindaugemetoden endre

Med denne metoden tek ein utgangspunkt i eit ideelt LP-filter, som har ein frekvensrespons som er heilt flat opp til knekkfrekvensen, og null for høgare frekvensar. Eit tek så den inverse Foruier-transformen, som resulterer i impulsresponsen, som for eit ideelt LP-filter er ein sinc-funksjon. Koeffisientvektoren er ein sampla versjon av impulsresponsen. Etter som sinc-funksjonen har uendeleg stor utstrekning vil koeffisientvektoren ha uendeleg mange koeffisientar. For at det skal vera muleg å realisera filteret i maskinvare, eller programvare, lyt ein avgrensa talet på koeffisientar  .

Koeffiseintvektoren til eit ideelt FIR LP-filter er symmetrisk om midten, så halvparten av koeffisientane skal multipliserast med framtidige inngangsverdiar.Om ein har samla inn inngangsverdiane på førehand skapar ikkje dette problem, men for sanntidsrealiseringar har ein ikkje framtidig data. Ein løyser då dette problemet ved å samla opp   verdiar i ein buffer, ofte ein ringbuffer. Dette fører til at utgangssekvensen blir forsinka med   sampelinterval i høve til inngangssekvensen. Men alle frekvensane i passbandet blir forsinka med  , som er det sama som at faseresponsen er lineær:

 

der   er frekvensen i rad/s og   er frekvensen i Hz.

Om ein kuttar koeffisientvektoren abrupt seien ein at ein nyttar ein rektangulært vindu. Dette fører til ripple i frekvensresponsen (Gibbs fenomen). Ein kan redusera dette problemet ved å multiplisera koeffisientventoren med ein glattefunksjon, òg kalla glattevindu, som vektar ned endane på koeffisientvektoren. Det finst mange slike glattevindu[2], men ein av dei vanlegaste i samband med FIR-filter er eit sokalla Hanning-vindu.

Parks-McClellan-metoden endre

Denne algoritmen vert nytta til design av equirippel FIR-filter og lineær fase FIR-filter generelt. Algoritmen er ein iterativ prosedyre som er basert på eit vekta feilkriterie[3]. Han finn dei optimale FIR filter koeffisientane i samhøve til minimiseringa av dette feilkriteriet. Parks-McClellan metoden er meir fleksibel enn til dømes vindusmetoden, og er ein mykje nytta metode for design av FIR-filter.

Referansar endre

  1. S.K. Mitra, Digital signal processing - A computer-based approach, 2. utg., McGraw-Hill, 2011.
  2. F.J. Harris, On the use of windows for harmonic analysis with the discrete Fourier transform, Proc. IEEE, bind 66, nr 1, jan. 1978, ss. 51-83.
  3. J.H. McClellan og T.W. Parks, A unified approach to the design of optimum FIR linear-phase digital filters, IEEE Trans. on Circuit Theory, bind. CT-20, nr 6, nov. 1973, ss. 697-701.

Sjå òg endre