FIR-filter

Frå Wikipedia – det frie oppslagsverket
Hopp til navigering Hopp til søk
Fig. 1 Direkte form FIR-filter.

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.

Tidsplanet[endre | endre wikiteksten]

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 | 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 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 | endre wikiteksten]

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 | endre wikiteksten]

Vanlege metodar for design av FIR-filter er

Vindaugemetoden[endre | endre wikiteksten]

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 | endre wikiteksten]

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 | endre wikiteksten]

  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 | endre wikiteksten]