Wat is FIR-filter?

Digitaal filter waarvan de impulsrespons na een eindige lengte ophoudt (filter met eindige impulsrespons). Het berekent y[n] = Σh[k]x[n − k] door de huidige en N vroegere ingangswaarden met coëfficiënten te vermenigvuldigen en op te tellen, en heeft geen terugkoppeling van de uitgang. De polen liggen alleen bij z = 0, dus het filter is altijd stabiel, welke coëfficiënten het ook heeft, en symmetrische coëfficiënten geven een lineaire fase, waarbij elke frequentiecomponent met (N − 1)/2 samples wordt vertraagd. Daar staat tegenover dat een steile karakteristiek veel taps vergt, en dat elke uitgangssample evenveel multiply-accumulate-bewerkingen kost als er taps zijn.

Japanse benaming: FIRフィルタ

“FIR-filter” komt voor in 9 oefenvragen uit 2 onderwerpen, bijv. Basis van digitale signaalverwerking, A/D- en D/A-conversie.

Vakgebied: Basis van digitale signaalverwerking

Structuur en rekenlast

De structuur zet vertragingselementen op een rij die elk de ingang met één sample vertragen, vermenigvuldigt de waarde van elke trap met een coëfficiënt en telt de resultaten op; de keten van vertragingselementen heet een vertragingslijn met aftakkingen (tapped delay line). N taps vergen N multiply-accumulates per uitgangssample: 256 taps bij 44,1 kHz kosten bijvoorbeeld ongeveer 11,3 miljoen multiply-accumulates per seconde. Daarom hebben DSP's instructies die een multiply-accumulate in één cyclus uitvoeren, of speciale MAC-eenheden.

Ontwerpmethoden

De meest elementaire methode is de venstermethode: de impulsrespons van de ideale karakteristiek (een sinc-functie bij een laagdoorlaatfilter) wordt op een eindige lengte afgekapt en vermenigvuldigd met een vensterfunctie om het effect van de uiteinden te verzachten. De Parks-McClellan-methode, die de maximale afwijking van de gespecificeerde frequentiekarakteristiek minimaliseert, wordt ook veel gebruikt. Bij beide methoden komt de karakteristiek dichter bij het ideaal naarmate er meer taps zijn.

Lineaire fase en vertraging

Een FIR-filter met symmetrische coëfficiënten vertraagt elke frequentiecomponent even lang en behoudt dus de vorm van pulsen en audiogolfvormen. De vertraging is (N − 1)/2 samples, ongeveer 1,04 ms voor 101 taps bij 48 kHz. Waar vertraging een probleem is, wordt soms afgezien van een lineaire fase ten gunste van een FIR-filter met minimale fase en een kleinere vertraging.

Nu oefenen: vragen over FIR-filter

Een FIR-filter met overdrachtsfunctie H(z) = 1 + z⁻² (y[n] = x[n] + x[n − 2]) werkt met een bemonsteringsfrequentie van 8 kHz. Bij welke frequentie van een sinusvormig ingangssignaal is de uitgang 0?

  1. A1 kHz
  2. B2 kHz
  3. C4 kHz
Antwoord en toelichting tonen

Antwoord: B. 2 kHz

De oplossingen van 1 + z⁻² = 0, dus de nulpunten, zijn z = ±j uit z² = −1; ze liggen op de eenheidscirkel bij ω = ±π/2. ω = π/2 komt overeen met f = ω·fs/(2π) = fs/4 = 2 kHz; een sinusgolf van 2 kHz heeft twee samples eerder precies het tegengestelde teken, dus de som is 0. Een nulpunt op de eenheidscirkel maakt een notch die die frequentie volledig verwijdert. Bij 4 kHz (de nyquistfrequentie) is z⁻² = 1, dus de versterking is 2.

Wat is een kenmerk van een FIR-filter (filter met eindige impulsrespons)?

  1. AHet heeft terugkoppeling van de uitgang naar de ingangskant, zodat met weinig coëfficiënten een steile karakteristiek wordt verkregen
  2. BDe impulsrespons loopt eindeloos door, zodat het gemakkelijk instabiel wordt als de coëfficiënten worden gekwantiseerd
  3. CHet heeft geen terugkoppeling en is dus altijd stabiel, en symmetrische coëfficiënten geven het een lineaire fase
Antwoord en toelichting tonen

Antwoord: C. Het heeft geen terugkoppeling en is dus altijd stabiel, en symmetrische coëfficiënten geven het een lineaire fase

Een FIR-filter vermenigvuldigt alleen de huidige en vroegere ingangswaarden met coëfficiënten en telt ze op; het heeft geen terugkoppeling van de uitgang. De impulsrespons houdt op na het aantal coëfficiënten (taps), en de polen liggen alleen bij z = 0, dus het filter is stabiel, welke waarden de coëfficiënten ook hebben. Met symmetrische coëfficiënten heeft het een lineaire fase, waarbij elke frequentiecomponent even lang wordt vertraagd en de vorm van de golfvorm behouden blijft. Daar staat tegenover dat een steile karakteristiek meer taps vergt dan bij een IIR-filter.

Veelgestelde vragen

Hoe kies ik tussen FIR- en IIR-filters?

FIR-filters zijn geschikt als een lineaire fase, gegarandeerde stabiliteit of een geringe gevoeligheid voor kwantisatie van de coëfficiënten nodig is. IIR-filters zijn geschikt als een steile karakteristiek met weinig rekenwerk en een kleine vertraging nodig is, maar hun fase is niet lineair, en op instabiliteit door kwantisatie van de coëfficiënten moet worden gelet.

Wat bepaalt het aantal taps?

Hoe smaller de overgangsband (de breedte van de doorlaatband tot de sperband) en hoe groter de demping in de sperband, hoe meer taps er nodig zijn. Als vuistregel is het aantal taps evenredig met „bemonsteringsfrequentie ÷ breedte van de overgangsband”, en de evenredigheidsfactor groeit met de vereiste demping.

“FIR-filter” in de toelichting

Vragen met “FIR-filter” (9)

  1. Een FIR-filter met overdrachtsfunctie H(z) = 1 + z⁻² (y[n] = x[n] + x[n − 2]) werkt met een bemonsteringsfrequentie van 8 kHz. Bij welke frequentie van een sinusvormig ingangssignaal is de uitgang 0?
  2. Wat is een kenmerk van een FIR-filter (filter met eindige impulsrespons)?
  3. Welk van de volgende FIR-filters met 5 taps heeft een lineaire fase?
  4. Wat is de groepsvertraging van een FIR-filter met lineaire fase en 101 taps (met symmetrische coëfficiënten)?
  5. Een FIR-filter met 256 taps draait in realtime bij een bemonsteringsfrequentie van 44,1 kHz. Hoeveel multiply-accumulate-bewerkingen (MAC) zijn er per seconde nodig?
  6. De uitgang van een FIR-filter wordt voor elke sample berekend bij een bemonsteringsfrequentie van 48 kHz, op een processor met een klok van 200 MHz die één multiply-accumulate per cyclus uitvoert. Welke waarde ligt, als de tijd voor andere bewerkingen wordt verwaarloosd, het dichtst bij het maximale aantal taps dat in realtime kan worden verwerkt?
  7. In de berekening van een FIR-filter worden de producten van 16-bits gegevens en coëfficiënten in vaste komma weergegeven in 32 bits, en worden 256 van die producten opgeteld. Wat is de minimale breedte van de accumulator die garandeert dat tijdens de berekening geen overflow optreedt?
  8. Welke digitale schakeling in een ΔΣ-AD-converter zet de snelle, grove kwantisatie-uitgang om in hoge-resolutiedata met een lage samplefrequentie?
  9. Welke voorzorg is juist bij het implementeren van een IIR-filter van hoge orde in vaste komma met coëfficiënten van beperkte bitbreedte?

Verwante termen

Lineaire fase IIR-filter Vaste komma (fixed-point) Nyquistfrequentie Impulsrespons Groepsvertraging (group delay) Interrupt Verzadigingsrekenkunde (saturating arithmetic) Decimatie ΔΣ-ADC (delta-sigma-ADC)

Naar de woordenlijst