Is er een vuistregel voor het berekenen van de geschatte filtervolgorde van een FIR / IIR op basis van doorlaatband versus samplefrequentie? Ik meen me te herinneren dat ik er ooit in Undergrad over gelezen heb. Ik zou denken dat je een ruwe schatting zou kunnen maken zoals scaler * passband / stopband.

Ik heb gewerkt aan het implementeren van verschillende FIR / IIR-filters en zou graag een ruwe formule willen die zegt dat als één variabele wordt gewijzigd, dit is ongeveer hoeveel tikken je nodig zou hebben om vergelijkbare prestaties te krijgen.

Reacties

Antwoord

Mijn favoriete " Vuistregel " voor de volgorde van een laagdoorlaat FIR-filter is de " fred harris vuistregel ":

$$ N = \ frac {f_s} {\ Delta f} \ cdot \ frac {\ rm atten_ {dB}} {22} $$

waar

  • $ \ Delta f $ is de overgangsband, in dezelfde eenheden van $ f_s $
  • $ f_s $ is de samplefrequentie van het filter
  • $ \ rm atten_ {dB} $ is de doelafwijzing in dB

Als u bijvoorbeeld een overgangsband van 100 Hz hebt in een systeem dat is bemonsterd op 1 kHz, en uw afwijzingsvereiste is 50 dB in de stopband, dan is de volgorde kan worden benaderd door:

$$ N = \ frac {1 \ \ rm kHz} {100 \ \ rm Hz} \ cdot \ frac {50} {22} = 23 \ \ rm taps \ tag {rounding up} $$

Bedankt Fred Harris!

Let op nog een meer gedetailleerde formule die rekening houdt met passband rimpel is de formule van Kaiser dankzij James Kaiser van Bell Labs, die ik in mijn onderstaande afbeelding heb opgenomen.

Voor de meeste toepassingen die ik heb gedaan, was de Fred Harris-aanpak prima, gezien een zekere afwijzing hebben de resulterende filters die gebruikmaken van traditionele algoritmen voor filterontwerp, zoals Parks-McClellan en Remez, mijn doorlaatband-rimpelvereisten overtroffen toen ze aan de afwijzingsvereiste voldeden. (Wat ik meestal doe, is de volgorde schatten, het filter met die volgorde ontwerpen, het resultaat inspecteren en van daaruit de volgorde verhogen of verlagen om het af te stemmen). De resultaten van de schattingen zijn precies dat: schattingen, en kunnen sterk variëren afhankelijk van de algemene ontwerpparameters en er mag niet worden aangenomen dat ze een exacte oplossing zijn.

voer de beschrijving van de afbeelding hier in

Voor degenen die bekend zijn met filterontwerp met behulp van vensterbenaderingen: een recensie van de goederenwagen of het rechthoekige venster (dit is eenvoudig afkappen) laat zien waarom er $ f_s / \ Delta f $ tikken nodig zijn (wat hetzelfde is als $ 2 \ pi / \ Delta \ omega $ als de eenheden voor genormaliseerde frequentie radialen / sample zijn, zoals vaak wordt gedaan) om de overgangsband te voltooien. Zie de afbeeldingen hieronder die dit helpen verklaren.

De bovenste afbeelding hieronder toont de verwachte Sinc in frequentie voor een rechthoekig venster in de tijd, in dit geval als een niet-causale rechthoekige puls gecentreerd op $ t = 0 $ . Dit wordt vervolgens herhaald in discrete vormen als een causale golfvorm beginnend bij $ t = 0 $ , beide met de Discrete Time Fourier Transform (DTFT) en Discrete Fourier Transform (DFT) waarbij het verschil is dat de samples in de tijd zich uitstrekken tot $ \ pm \ infty $ voor de DTFT, wat resulteert in een continue golfvorm in het frequentiedomein. In beide gevallen is het resultaat een alias Sinc-functie die periodiek is over het interval $ f = [0, f_s) $ , met als belangrijkste punt dat voor $ N $ samples in de tijd van de rechthoekige functie, zal de frequentierespons zijn eerste nul hebben op $ f = 1 / N $ (Waarbij $ f $ de genormaliseerde frequentie is, waarbij 1 de bemonsteringsfrequentie is).

Tranform Review

Deze volgende afbeelding hieronder toont de rechthoekige vensterbenadering van filterontwerp (die ik nooit zou aanbevelen, maar wel informatief). De eerste grafiek in de linkerbovenhoek toont de doelfrequentierespons voor ons filter als een ideale " bakstenen muur " respons. Verwar dat niet met het " boxcar-venster " (of " rechthoekig venster ") die ook een rechthoekige vorm heeft – het venster bevindt zich in het tijddomein!

Om een dergelijk filter te realiseren, zouden we de impulsresponsie van de gewenste frequentierespons gebruiken als de coëfficiënten in ons FIR-filter (de coëfficiënten van het filter zijn de impulsresponsie — zet een impuls in en eruit komen alle coëfficiënten!). De impulsresponsie voor een rechthoekige frequentierespons (brickwall) is de inverse FT die een Sinc-functie is, in het tijdsdomein, weergegeven in de linker benedenhoek als de " Vereiste impulsrespons ". Een Sinc-functie strekt zich uit tot plus en min oneindig, dus om een dergelijk filter daadwerkelijk te realiseren, hebben we een oneindig lang filter nodig en het zou een oneindig lange vertraging hebben. Dat kunnen we natuurlijk niet doen, dus kappen we de coëfficiënten af tot iets dat realiseerbaar is. Hoe langer het filter, hoe dichter we de ideale brickwall-reactie benaderen, maar ook hoe langer de vertraging zal zijn (en hoe meer middelen we nodig hebben in termen van de filterconstructie; meer tikken).

Het afkappen van de impulsresponsie in het tijdsdomein is wiskundig identiek aan vermenigvuldigen met een rechthoekig venster in het tijdsdomein. (merk op dat de impulsresponsie ook met de helft van de duur wordt vertraagd van het venster om ervoor te zorgen dat het systeem causaal is). Vermenigvuldiging in het tijdsdomein is equivalent aan convolutie in het frequentiedomein. Het frequentiedomein (FT) van de impulsresponsie voorafgaand aan afkappen is onze oorspronkelijke gewenste frequentierespons van brickwall. De frequentie respons voor het rechthoekige venster is een Sinc-functie in het frequentiedomein.

Dus wanneer we de gewenste impulsresponsie afkappen (vermenigvuldigen in de tijd met een rechthoekig venster), convolueren we de gewenste frequentierespons e met een Sinc-functie, wat resulteert in een benadering van onze doelfrequentierespons zoals weergegeven in de rechterbovenhoek van de onderstaande afbeelding.

Frequentierespons na windowing

Een belangrijke take-away voor Sinc-functies in het algemeen is dat de eerste null is $ 1 / T $ waarbij $ T $ de duur is van de rechthoekige functie. Voor een steekproefsysteem is de eerste null-waarde $ 2 \ pi / N $ waar $ N $ staat voor het aantal monsters voor de duur van de rechthoekige functie. In de afbeeldingen wordt een genormaliseerde radialenfrequentie gebruikt voor de frequentieas- (als dat verwarrend is, weet je gewoon dat $ 2 \ pi $ de radialenfrequentie is voor de bemonsteringssnelheid). Dus in het proces van de convolutie spreidt de scherpe brickwall-overgang zich uit en gaat in dit geval naar 0 (onze $ \ Delta \ omega $ ) over een frequentie van $ 2 \ pi / N $ ! Dus hier $$ N = 2 \ pi / \ Delta \ omega $$ en natuurlijk is het filter slecht met zijlobben etc. Let op: deze overgang van de Sinc-functie is de scherpste beschikbaar voor een bepaald aantal tikken; het heeft de beste resolutie qua frequentie, maar het slechtste dynamische bereik (afwijzing). Andere venstertypologieën (Blackman, Blackman-harris, Kaiser (mijn favoriet), enz.) Zullen het dynamisch bereik aanzienlijk verbeteren, maar altijd ten koste van de overgang.

N tikken om de overgang te voltooien

Dus uit het bovenstaande zien we de oorsprong van de $ 2 \ pi / \ Delta \ omega $ die wordt gebruikt in de benaderingsformules, en we zien ook waarom er een extra vermenigvuldigingsfactor is die het aantal tikken daarboven verhoogt voor typische filterontwerpen; het rechthoekige venster zou ons de best mogelijke overgang geven met $ N $ tikken waarbij $ N = 2 \ pi / \ Delta \ omega $ maar hebben een zeer slechte afwijzing. Er worden meer tikken gebruikt om de tijdovergang verder voorbij de scherpe overgang van het rechthoekige venster te verzachten, wat een grotere afwijzing oplevert ten koste van de overgangsbandbreedte.

Opmerkingen

  • Om verwarring te voorkomen: de formule die u " Kaiser ' s formule " noemt is eigenlijk de formule voor Parks McClellan optimale filters (inderdaad gevonden door Kaiser), maar niet voor de Kaiser window-methode. De laatste heeft geen ' t twee verschillende $ \ delta $ waarden, maar slechts één.
  • Inderdaad, goede verduidelijking Matt aangezien er een Kaiser window-methode is. Deze formule wordt echter " Kaiser ' s Formula " genoemd in de literatuur, net zoals lezers ' niet denken dat het mijn eigen gebruik van die term was. engold.ui.ac.ir/~sabahi/Advanced%20digital%20communication/…
  • Geweldig!Het lijkt erop dat dit afkomstig is van pagina 48 in Fred Harris ' boek: " Multirate signaalverwerking voor communicatiesystemen "?
  • De vuistregel of de afbeeldingen? De fotos zijn van mij voor een les die ik doe. Ik heb ' t het boek van Fred ' niet, maar ik ben een grote fan en maakte kennis met zijn " vuistregel " door hem tijdens een DSP World-presentatie die hij deed rond 1996. (Merk op dat hij erop staat dat zijn naam volledig in kleine letters wordt gespeld).
  • @DanBoschen Is de formule voor Parks McClellan ook geldig bij het ontwerpen van bandpass FIR-filters? Zo niet, is er dan een andere " vuistregel " die kan worden toegepast?

Antwoord

De lengte van een FIR-filter of de volgorde van een IIR-filter is ongeveer omgekeerd evenredig met de verhouding van de breedte van de overgangsband (smalste , als er veel zijn) aan de samplefrequentie, waarbij andere dingen enigszins equivalent zijn, behalve filters van zeer korte of zeer lage orde.

Opmerkingen

  • weet niet waarom iemand downstemde. Ik heb het terug op nul gezet.
  • Andere dingen die enigszins gelijkwaardig zijn?
  • Doorlaatbandrimpel en stopbandverzwakking zijn ook de andere belangrijke factoren die de filterlengte beïnvloeden.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *