Filterdesign - Filter design

Filterdesign er prosessen med å designe et signalbehandlingsfilter som tilfredsstiller et sett med krav, hvorav noen er motstridende. Hensikten er å finne en realisering av filteret som oppfyller hvert av kravene i tilstrekkelig grad for å gjøre det nyttig.

Filterdesignprosessen kan beskrives som et optimaliseringsproblem der hvert krav bidrar til en feilfunksjon som bør minimeres. Visse deler av designprosessen kan automatiseres, men normalt er det behov for en erfaren elektroingeniør for å få et godt resultat.

Utformingen av digitale filtre er et villedende komplekst tema. Selv om filtre er lette å forstå og beregne, er de praktiske utfordringene med design og implementering av dem betydelige og er gjenstand for avansert forskning.

Typiske designkrav

Typiske krav som vurderes i designprosessen er:

Frekvensfunksjonen

En viktig parameter er ønsket frekvensrespons . Spesielt er brattheten og kompleksiteten i responskurven en avgjørende faktor for filterrekkefølgen og gjennomførbarheten.

Et rekordfilter av første ordre vil bare ha en enkelt frekvensavhengig komponent. Dette betyr at frekvensenes helling er begrenset til 6 dB per oktav . For mange formål er dette ikke tilstrekkelig. For å oppnå brattere skråninger er det behov for filtre av høyere orden.

I forhold til ønsket frekvensfunksjon kan det også være en tilhørende vektingsfunksjon , som beskriver for hver frekvens hvor viktig det er at den resulterende frekvensfunksjonen tilnærmer seg den ønskede. Jo større vekt, jo viktigere er en nær tilnærming.

Typiske eksempler på frekvensfunksjon er:

  • Et lavpasfilter brukes til å kutte uønskede høyfrekvente signaler.
  • Et høypassfilter passerer høye frekvenser ganske bra; det er nyttig som et filter for å kutte uønskede lavfrekvente komponenter.
  • Et båndpasfilter passerer et begrenset frekvensområde.
  • Et båndstoppfilter passerer frekvenser over og under et bestemt område. Et veldig smalt båndstoppfilter er kjent som et hakkfilter.
  • En differensiator har en amplituderespons proporsjonal med frekvensen.
  • Et filter med lav hylle passerer alle frekvenser, men øker eller reduserer frekvenser under hyllefrekvensen med spesifisert mengde.
  • Et filter med høy hylle passerer alle frekvenser, men øker eller reduserer frekvenser over hyllefrekvensen med spesifisert mengde.
  • Et topp EQ-filter gir en topp eller en dukkert i frekvensresponsen, ofte brukt i parametriske equalizere .

Fase- og gruppeforsinkelse

  • Et all-pass filter passerer uendret gjennom alle frekvenser, men endrer signalfasen. Filtre av denne typen kan brukes til å utjevne gruppeforsinkelsen til rekursive filtre. Dette filteret brukes også i phaser-effekter .
  • En Hilbert-transformator er et spesifikt all-pass filter som passerer sinusoider med uendret amplitude, men forskyver hver sinusform med ± 90 °.
  • Et brøkforsinkelsesfilter er et all-pass som har en spesifisert og konstant gruppe- eller faseforsinkelse for alle frekvenser.

Impulsresponsen

Det er en direkte samsvar mellom filterets frekvensfunksjon og dets impulsrespons: førstnevnte er Fourier-transformasjonen av sistnevnte. Det betyr at ethvert krav til frekvensfunksjonen er et krav til impulsresponsen, og omvendt.

Imidlertid kan det i visse applikasjoner være filterets impulsrespons som er eksplisitt, og designprosessen tar da sikte på å produsere så nær en tilnærming som mulig til den etterspurte impulsresponsen gitt alle andre krav.

I noen tilfeller kan det til og med være aktuelt å vurdere en frekvensfunksjon og impulsrespons for filteret som er valgt uavhengig av hverandre. For eksempel kan vi ønske oss både en spesifikk frekvensfunksjon for filteret og at det resulterende filteret har en liten effektiv bredde i signaldomenet som mulig. Sistnevnte tilstand kan realiseres ved å vurdere en meget smal funksjon som ønsket filterimpulsrespons, selv om denne funksjonen ikke har noen sammenheng med ønsket frekvensfunksjon. Målet med designprosessen er da å realisere et filter som prøver å oppfylle begge disse motstridende designmålene så mye som mulig.

Kausalitet

For å være implementerbart må ethvert tidsavhengig filter (som fungerer i sanntid) være årsakssammenheng : filterresponsen avhenger bare av gjeldende og tidligere innganger. En standard tilnærming er å la dette kravet være til siste trinn. Hvis det resulterende filteret ikke er årsakssammenheng, kan det gjøres årsakssammenheng ved å innføre en passende tidsskift (eller forsinkelse). Hvis filteret er en del av et større system (som det normalt er), må disse forsinkelsene innføres med forsiktighet siden de påvirker driften av hele systemet.

Filtre som ikke fungerer i sanntid (f.eks. For bildebehandling) kan være uten årsak. Dette tillater f.eks. Utforming av nullforsinkelsesrekursive filtre, der gruppeforsinkelsen til et årsaksfilter blir kansellert av det ikke-kausale filteret fra Hermitian.

Stabilitet

Et stabilt filter sikrer at hvert begrenset inngangssignal gir et begrenset filterrespons. Et filter som ikke oppfyller dette kravet kan i noen situasjoner vise seg å være ubrukelig eller til og med skadelig. Enkelte designtilnærminger kan garantere stabilitet, for eksempel ved å bare bruke fremadgående kretser, for eksempel et FIR-filter. På den annen side har filtre basert på tilbakemeldingskretser andre fordeler og kan derfor være foretrukket, selv om denne klassen av filtre inkluderer ustabile filtre. I dette tilfellet må filtrene utformes nøye for å unngå ustabilitet.

Lokalitet

I visse applikasjoner må vi håndtere signaler som inneholder komponenter som kan beskrives som lokale fenomener, for eksempel pulser eller trinn, som har en viss tidsvarighet. En konsekvens av å påføre et filter på et signal er intuitivt at varigheten av de lokale fenomenene utvides med filterets bredde. Dette innebærer at det noen ganger er viktig å holde bredden på filterets impulsresponsfunksjon så kort som mulig.

I henhold til usikkerhetsforholdet til Fourier-transformasjonen, må produktet av bredden på filterets impulsresponsfunksjon og bredden på frekvensfunksjonen overstige en viss konstant. Dette betyr at ethvert krav på filterets lokalitet også innebærer en avgrensning av frekvensfunksjonens bredde. Derfor er det kanskje ikke mulig å oppfylle kravene på lokaliteten til filterets impulsresponsfunksjon så vel som på dets frekvensfunksjon. Dette er et typisk eksempel på motstridende krav.

Beregningskompleksitet

Et generelt ønske i ethvert design er at antall operasjoner (tillegg og multiplikasjoner) som trengs for å beregne filterresponsen, er så lavt som mulig. I visse applikasjoner er dette ønsket et strengt krav, for eksempel på grunn av begrensede beregningsressurser, begrensede kraftressurser eller begrenset tid. Den siste begrensningen er typisk i sanntidsapplikasjoner.

Det er flere måter et filter kan ha forskjellig beregningskompleksitet på. For eksempel er rekkefølgen på et filter mer eller mindre proporsjonal med antall operasjoner. Dette betyr at beregningstiden kan reduseres ved å velge et lavordrefilter.

For diskrete filtre er beregningskompleksiteten mer eller mindre proporsjonal med antall filterkoeffisienter. Hvis filteret har mange koeffisienter, for eksempel når det gjelder flerdimensjonale signaler som tomografidata, kan det være aktuelt å redusere antall koeffisienter ved å fjerne de som er tilstrekkelig nær null. I multirate-filtre, antall koeffisienter ved å dra nytte av båndbreddegrensene, der inngangssignalet blir samplet (f.eks. Til den kritiske frekvensen), og samplet etter filtrering.

Et annet problem relatert til beregningskompleksitet er separerbarhet, det vil si om og hvordan et filter kan skrives som en konvolusjon av to eller flere enklere filtre. Spesielt er dette problemet av betydning for flerdimensjonale filtre, for eksempel 2D-filter som brukes i bildebehandling. I dette tilfellet kan en betydelig reduksjon i beregningskompleksitet oppnås hvis filteret kan skilles fra som konvolusjon av ett 1D-filter i horisontal retning og ett 1D-filter i vertikal retning. Et resultat av filterdesignprosessen kan f.eks være å tilnærme noe ønsket filter som et separerbart filter eller som en sum av separerbare filtre.

Andre hensyn

Det må også avgjøres hvordan filteret skal implementeres:

Analoge filtre

Utformingen av lineære analoge filtre er for det meste dekket av den lineære filterseksjonen .

Digitale filtre

Digitale filtre er klassifisert i en av to grunnleggende former, i henhold til hvordan de reagerer på en enhetsimpuls :

  • Endelig impulsrespons , eller FIR , filtre uttrykker hver utgangsprøve som en vektet sum av de siste N inngangsprøvene, der N er rekkefølgen på filteret. FIR-filtre er vanligvis ikke-rekursive, noe som betyr at de ikke bruker tilbakemelding og som sådan er iboende stabile. Et glidende gjennomsnittsfilter eller CIC-filter er eksempler på FIR-filtre som normalt er rekursive (som bruker tilbakemelding). Hvis FIR-koeffisientene er symmetriske (ofte tilfelle), er et slikt filter lineær fase , så det forsinker signaler fra alle frekvenser likt, noe som er viktig i mange applikasjoner. Det er også greit å unngå overløp i et FIR-filter. Den største ulempen er at de kan kreve betydelig mer prosesserings- og minnesressurser enn smart utformede IIR-varianter. FIR-filtre er vanligvis lettere å designe enn IIR-filtre - Parks-McClellan filterdesignalgoritme (basert på Remez-algoritmen ) er en passende metode for å designe ganske gode filtre halvautomatisk. (Se metodikk .)
  • Uendelig impulsrespons , eller IIR , filtre er det digitale motstykket til analoge filtre. Et slikt filter inneholder intern tilstand, og utgangen og neste interne tilstand bestemmes av en lineær kombinasjon av de forrige innganger og utganger (med andre ord, de bruker tilbakemelding , som FIR-filtre normalt ikke gjør). I teorien dør impulsresponsen til et slikt filter aldri helt, derav navnet IIR, men i praksis er dette ikke sant med tanke på den endelige oppløsningen til dataritmetikk. IIR-filtre krever normalt mindre databehandlingsressurser enn et FIR-filter med lignende ytelse. På grunn av tilbakemeldingen kan imidlertid IIR-filtre av høy ordre ha problemer med ustabilitet , aritmetisk overløp og begrensningssykluser , og krever nøye design for å unngå slike fallgruver. I tillegg, siden faseskiftet iboende er en ikke-lineær funksjon av frekvens, er tidsforsinkelsen gjennom et slikt filter frekvensavhengig, noe som kan være et problem i mange situasjoner. Andre ordens IIR-filtre kalles ofte ' biquads ', og en vanlig implementering av høyere ordensfiltre er å kaskade biquads. En nyttig referanse for beregning av biquadkoeffisienter er RBJ Audio EQ Cookbook .

Prøvefrekvens

Med mindre samplingsfrekvensen er fastlagt av noen utenforstående begrensninger, er det en viktig designbeslutning å velge en passende samplingsfrekvens. En høy hastighet vil kreve mer når det gjelder beregningsressurser, men mindre når det gjelder anti-aliasing-filtre . Forstyrrelse og banking med andre signaler i systemet kan også være et problem.

Anti-aliasing

For ethvert digitalt filterdesign er det avgjørende å analysere og unngå aliaseffekter . Ofte gjøres dette ved å legge til analoge utjevningsfiltre ved inngang og utgang, og dermed unngås frekvenskomponenter over Nyquist-frekvensen . Kompleksiteten (dvs. brattheten) av slike filtre avhenger av det nødvendige signal / støyforholdet og forholdet mellom samplingsfrekvensen og den høyeste frekvensen av signalet.

Teoretisk grunnlag

Deler av designproblemet er knyttet til det faktum at visse krav er beskrevet i frekvensdomenet mens andre uttrykkes i signaldomenet, og at disse kan være i strid. For eksempel er det ikke mulig å oppnå et filter som både har en vilkårlig impulsrespons og vilkårlig frekvensfunksjon. Andre effekter som refererer til forholdet mellom signal- og frekvensdomenet er

  • Usikkerhetsprinsippet mellom signal- og frekvensdomenene
  • Teori for variansforlengelse
  • Den asymptotiske oppførselen til ett domene kontra diskontinuiteter i det andre

Usikkerhetsprinsippet

Som angitt av Gabor-grensen , kan et usikkerhetsprinsipp, produktet av bredden på frekvensfunksjonen og bredden på impulsresponsen ikke være mindre enn en spesifikk konstant. Dette innebærer at hvis en spesifikk frekvensfunksjon blir bedt om, tilsvarende en spesifikk frekvensbredde, settes minimumsbredden til filteret i signaldomenet. Omvendt, hvis den maksimale bredden på responsen er gitt, bestemmer dette den minste mulige bredden i frekvensen. Dette er et typisk eksempel på motstridende krav der filterdesignprosessen kan prøve å finne et nyttig kompromiss.

Teori for variansforlengelse

La være variansen til inngangssignalet og la være variansen til filteret. Variansen av filterresponsen,, blir deretter gitt av

= +

Dette betyr at og innebærer at lokaliseringen av forskjellige funksjoner som pulser eller trinn i filterresponsen er begrenset av filterbredden i signaldomenet. Hvis det kreves en nøyaktig lokalisering, trenger vi et filter med liten bredde i signaldomenet, og via usikkerhetsprinsippet kan bredden i frekvensdomenet ikke være vilkårlig liten.

Diskontinuiteter kontra asymptotisk oppførsel

La f (t) være en funksjon og la være Fourier-transformasjonen. Det er en teorem som sier at hvis det første derivatet av F som er diskontinuerlig har orden , så har f et asymptotisk forfall som .

En konsekvens av denne teoremet er at frekvensfunksjonen til et filter skal være så jevn som mulig for å tillate dets impulsrespons å få et raskt forfall, og derved en kort bredde.

Metodikk

En vanlig metode for å designe FIR-filtre er Parks-McClellan filterdesignalgoritme , basert på Remez-utvekslingsalgoritmen . Her kan brukeren spesifiserer en ønsket frekvensrespons, en vektingsfunksjon for feil fra denne reaksjon, og en filter orden N . Algoritmen finner da settet med N- koeffisienter som minimerer maksimal avvik fra idealet. Intuitivt finner dette filteret som er så nært som du kan komme til ønsket respons gitt at du bare kan bruke N- koeffisienter. Denne metoden er spesielt enkel i praksis, og minst en tekst inkluderer et program som tar ønsket filter og N og returnerer de optimale koeffisientene. En mulig ulempe med filtre utformet på denne måten er at de inneholder mange små krusninger i passbåndet (e), siden et slikt filter minimerer toppfeilen.

En annen metode for å finne et diskret FIR-filter er filteroptimalisering beskrevet i Knutsson et al., Som minimerer integralen av kvadratet til feilen, i stedet for den maksimale verdien. I sin grunnleggende form krever denne tilnærmingen at en ideell frekvensfunksjon for filteret spesifiseres sammen med en frekvensvektingsfunksjon og et sett med koordinater i signaldomenet der filterkoeffisientene er lokalisert.

En feilfunksjon er definert som

hvor er det diskrete filteret og er den diskrete tids Fourier-transformasjonen definert på det spesifiserte settet med koordinater. Normen som brukes her er formelt sett den vanlige normen på rom. Dette betyr at måler avviket mellom det ønskede frekvensfunksjonen for filteret, og den faktiske frekvensen funksjon av realisert filter, . Avviket er imidlertid også underlagt vektingsfunksjonen før feilfunksjonen blir beregnet.

Når feilfunksjonen er etablert, blir det optimale filteret gitt av koeffisientene som minimerer . Dette kan gjøres ved å løse det tilsvarende minste kvadratproblemet. I praksis må normen tilnærmes ved hjelp av en passende sum over diskrete punkter i frekvensområdet. Generelt bør imidlertid disse punktene være betydelig mer enn antall koeffisienter i signaldomenet for å oppnå en nyttig tilnærming.

Samtidig optimalisering på begge domener

Den forrige metoden kan utvides til å omfatte en ytterligere feilterm relatert til en ønsket filterimpulsrespons i signaldomenet, med en tilsvarende vektingsfunksjon. Den ideelle impulsresponsen kan velges uavhengig av den ideelle frekvensfunksjonen og brukes i praksis for å begrense den effektive bredden og for å fjerne ringeffekter av det resulterende filteret i signaldomenet. Dette gjøres ved å velge en smal ideell filterimpulsresponsfunksjon, f.eks. En impuls, og en vektingsfunksjon som vokser raskt med avstanden fra opprinnelsen, f.eks. Avstanden i kvadrat. Det optimale filteret kan fremdeles beregnes ved å løse et enkelt problem med minste kvadrat, og det resulterende filteret er da et "kompromiss" som har en total optimal tilpasning til de ideelle funksjonene i begge domener. En viktig parameter er den relative styrken til de to vektingsfunksjonene som avgjør i hvilket domene det er viktigere å ha en god passform i forhold til den ideelle funksjonen.

Se også

Referanser

Eksterne linker