Optimaliseren van IIR Filterontwerpen voor verminderde computational complexiteit in draagbare apparaten

Draagbare apparaten zoals smartwatches, fitnesstrackers en medische monitoring patches vertrouwen op continue sensor data-aanwinst en real-time verwerking. Van het verwijderen van bewegingsartefacten van elektrocardiogram (ECG) signalen tot het reinigen van versnellingsmetergegevens voor het tellen van stappen, digitale filtering speelt een centrale rol. Onder de vele filtertypes, Infinite Impulse Response (IIR) filters zijn een werkpaard in deze toepassingen vanwege hun vermogen om scherpe frequentiereacties te bereiken met relatief weinig coëfficiënten. Echter, de recursieve aard van IIR filters introduceert computationele overhead die de levensduur van de batterij en real-time prestaties kan belasten. Dit artikel presenteert een uitgebreide reeks strategieën om de rekencomplex van IIR filterontwerpen te verminderen, waardoor efficiënte inzet in resource-gestrainde draagbare systemen mogelijk wordt.

IIR-filters begrijpen in draagbare stoffen

IIR filters zijn digitale filters gedefinieerd door een overdrachtsfunctie die zowel feedforward als feedbackcoëfficiënten omvat. Mathematisch kan een IIR filter worden weergegeven als:

y[n] = b0·x[n] + b1·x[n-1] + ... + bM·x[n-M] - a1·y[n-1] - ... - aN·y[n-N]

Omdat de output afhankelijk is van eerdere outputs (feedback), kunnen IIR filters een bepaalde frequentierespons bereiken met een lagere volgorde dan een equivalent Finite Impulse Response (FIR) filter. Voor draagbare apparaten betekent dit minder vermenigvuldig-accumuleren (MAC) operaties per monster, verminderd geheugen voor coëfficiëntopslag en lagere latentie. Klassieke IIR filter topologieën omvatten Butterworth, Chebyshev, en elliptische ontwerpen, elk met verschillende afwegingen tussen rimpel, roll-off en fase-lineariteit.

Ondanks hun efficiëntie, IIR filters vormen uitdagingen in wearables: ze kunnen instabiel worden als gevolg van coëfficiënt kwantisering, lijden aan limiet-cyclus oscillaties, en vereisen zorgvuldige schaalvergroting om overflow in vaste-punt rekenen te voorkomen. Bovendien, de recursieve berekeningen voorkomen gemakkelijk parallelisatie, waardoor elk monster een seriële afhankelijkheid. In batterij-aangedreven apparaten met een laag vermogen microcontrollers of aangepaste ASICs, elke opgeslagen rekenkundige operatie vertaalt zich direct in een langere levensduur van de batterij of lagere silicium gebied.

Belangrijkste strategieën voor het verminderen van IIR-computatiecomplexiteit

1. Filter ordevermindering

De meest directe manier om de berekeningskosten te verlagen is het verminderen van de filtervolgorde. Minder coëfficiënten betekenen minder MAC-bewerkingen per monster. Echter, eenvoudig verlagen van de bestelling zonder rekening te houden met de specificatie degradeert vaak prestaties. Gelukkig kunnen verschillende technieken helpen bij het bereiken van de vereiste respons met een minimale volgorde:

  • Pole-nul plaatsing optimalisatie: Door zorgvuldig te positioneren palen en nullen in het z-vlak, kunnen ontwerpers voldoen aan passband en stopband beperkingen met een lagere volgorde filter dan een standaard Butterworth of Chebyshev ontwerp. Bijvoorbeeld, met behulp van een elliptic filter met een kleine toegestane stopband rimpel geeft vaak de laagste volgorde voor een bepaalde overgang breedte.
  • Matched-z transform: Bij het omzetten van analoge prototypes is de bilineaire transformatie standaard, maar de matched-z transform kan soms de frequentierespons behouden met een lagere digitale volgorde als het analoge filter eenvoudig is.
  • Iteratieve ordevermindering: Begin met een hoog-orde ontwerp, vervolgens modelreductie technieken zoals evenwichtige truncation of Hankel norm benadering toe te passen om een stabiele, gereduceerde-orde IIR filter dat nauw overeenkomt met de oorspronkelijke frequentierespons te produceren. Dit is vooral handig wanneer het oorspronkelijke filter is afgeleid van meetgegevens.

In de praktijk kan een derde-orde IIR filter vaak een vijfde-orde ontwerp vervangen door een verwaarloosbaar prestatieverlies voor biosignaal filtertaken zoals EMG of ECG basislijn dwalen verwijdering.

2. Coëfficiënte kwantisering en woord-lange reductie

Draagbare microcontrollers werken meestal met 16-bits of 24-bits vaste-punt rekenkundig. Met behulp van volledige dubbel-precisie floating-point is zowel power-hongerig en onnodig. Het verminderen van de coëfficiënt woordlengte van 32-bit floating-point tot, laten we zeggen, 16-bits vaste-point snijdt geheugengebruik door de helft en versnelt rekenkundige bewerkingen (vooral als de processor heeft toegewijde integer vermenigvuldig-accumuleren instructies).

  • Kies het juiste quantiseringsschema: Gebruik het Q-formaat (bv. Q15 voor 16-bits getekende fractionele) om coëfficiënten te vertegenwoordigen. Afronden tot de dichtstbijzijnde representatieve waarde kan instabiliteit veroorzaken; gezien de pole gevoeligheid helpt meer bits toe te wijzen aan gevoelige coëfficiënten.
  • Optimaliseren van de quantisering met behulp van statistische methoden: Gebruik gesimuleerde gloeien of genetische algoritmen om een reeks gequantiseerde coëfficiënten te vinden die nog steeds voldoen aan de filterspecificatie. Dit kan een vermindering van 2
  • Gebruik twee coëfficiënten: Als coëfficiënten kunnen worden benaderd door sommen van twee, kan de vermenigvuldiging worden vervangen door een paar verschuivingen en voegt dit toe, waardoor de complexiteit van de berekeningen drastisch wordt verminderd. Dit is bijzonder effectief voor vaste-coëfficiënt IIR-filters die worden gebruikt in draagbare audio- of hartslagbewaking.

Zo kan een tweede-orde IIR-inkepingsfilter met coëfficiënten die zijn gequantiseerd tot powers-of-two worden geïmplementeerd met slechts vier shift-bewerkingen en drie toevoegingen per sample, perfect voor een ARM Cortex-M0-kern met een laag vermogen.

3. Cascade vs. Direct vormstructuren

De structuur waarin een IIR filter wordt geïmplementeerd, heeft een grote invloed op de belasting, stabiliteit en gevoeligheid voor quantisering. De meest voorkomende vormen zijn Direct Form I en II, en hun omgezette varianten. Voor high-order ontwerpen, een cascade van tweede-orde secties (SOS) wordt over het algemeen de voorkeur gegeven aan:

  • Tweede-orde secties (biquads): Elk gedeelte implementeert een tweede-orde IIR filter. De cascade structuur vermindert de gevoeligheid van de coëfficiënt, waardoor het gemakkelijker wordt om stabiliteit te handhaven met korte woordlengtes. Computatie per sample schaal lineair met volgorde: een zesde-orde filter vereist drie biquads, elk nodig 5 MACs, totaal 15 MACs per sample.
  • Parallelle vorm: Ontleed de overdrachtsfunctie in een som van eerste- en tweedeordeonderafdelingen. Dit kan soms het totale aantal MAC's verminderen als het oorspronkelijke filter herhaalde polen heeft.
  • Latentie/ladderstructuur: Terwijl meer rekenkrachtig in het algemeen, roosterstructuren bieden uitstekende stabiliteit eigenschappen en zijn minder gevoelig voor quantisatie. Ze kunnen aantrekkelijk zijn wanneer de orde laag is (bijv. adaptieve filters).

Voor wearables is de cascade biquad implementatie vaak de optimale balans tussen de berekeningskosten, stabiliteit en geheugengebruik. Fabrikanten zoals Analog Devices en STMicroelectronics bieden referentie implementaties geoptimaliseerd voor hun MCU's met een laag vermogen.

4. Frequentie-domeinimplementatie met behulp van de CFD

Wanneer de filtertaak lange duursignalen of meerdere kanalen omvat, kan tijddomein IIR-filtering worden vervangen door een overlap-add of overlappende-opslaan methode met behulp van de Fast Fourier Transform (FFT). Hoewel dit contra-intuïtief lijkt (IIR is al efficiënt in tijddomein), voor zeer hoge volgorde IIR filters (orde > 50) of wanneer het tegelijkertijd verwerken van meerdere kanalen, kan de op de stroom gebaseerde stroomconcentratie op basis van de OTC efficiënter worden.

  • Gedeelde convolutie: Voor real-time toepassingen moet de impulsrespons van het IIR-filter (die oneindig is) worden afgekapt. Een praktische benadering is het benaderen van het IIR-filter met een lang FIR-filter (als de impulsrespons snel vervalt) en vervolgens gebruik maken van de op de OTC gebaseerde convolutie. Dit is gebruikelijk bij draagbare audioruisonderdrukking.
  • Subbandfiltering: Sommige wearables gebruiken filterbanken (bv. voor spectrale analyse). In dergelijke gevallen kan het nuttig zijn om de hele bank in het frequentiedomein te implementeren, waarbij de combinatie van de OFI's en de omgekeerde OFI's per frame.

De frequentie-domein methoden zijn het meest geschikt voor wearables met een ruime RAM en een hardware-lcd-versneller (gewoonlijk in veel moderne Bluetooth Audio SoCs).

5. Geschatte Filtering en verminderde precisie rekenkundig

Niet alle draagbare toepassingen vereisen de volledige precisie van een IIR-filter uit het leerboek. Geschatte rekentechnieken kunnen een kleine hoeveelheid nauwkeurigheid inruilen voor aanzienlijke rekenbesparingen:

  • Getroefde multiplicatoren: Gebruik inexacte rekenkundige circuits die het vermenigvuldigingsresultaat met minder bits berekenen. Een 10-bits multiplier in plaats van 16-bit kan de stroom door 30
  • Stochastische computing: Voor zeer low-power ontwerpen kunnen stochastische voorstellingen (bits van 1s en 0s) vermenigvuldiging uitvoeren met één poort, maar dit vereist vaak re-timing en foutcorrectie.
  • Inkrimping en upsampling: Als de signaalbandbreedte groter is dan noodzakelijk, decimeer het signaal voordat u filtert. IIR filtering met een lagere snelheid bespaart per monster MAC's, en het decimatiefilter kan een ander goedkoop ontwerp zijn.
  • Adaptieve ordermodificatie: Gebruik een variabele-orde filter dat begint met een hoge volgorde tijdens de kalibratie en vermindert de volgorde (door biquad secties uit te schakelen) wanneer het signaal stilstaat. Deze dynamische complexiteit schaalverdeling kan worden gecontroleerd door een eenvoudige activiteit detector.

Voorbeeld: Een pols-gewrongen versnellingsmeter-gebaseerde valdetectiesysteem kan een tweede-orde IIR highpass filter gebruiken in plaats van een vierde-orde wanneer de gebruiker stilstaat, waardoor het energieverbruik met 20% wordt verminderd.

6. Hardware-Software Co-Design voor Ultra-Low Power

Veel draagbare apparaten insluiten een speciale digitale signaalprocessor (DSP) of een microcontroller met een hardware MAC-eenheid. Het optimaliseren van IIR-filters voor de specifieke instructieset en geheugenarchitectuur is cruciaal:

  • Circulaire bufferadressering: Gebruik de hardware-circulaire buffer voor staat variabele opslag in biquad structuren. De meeste DSP's ondersteunen dit zonder extra adresberekening overhead.
  • SIMD (Single Instruction, Multiple Data): Sommige ARM Cortex-M4/7 cores ondersteunen SIMD instructies die twee 16-bits MAC's gelijktijdig verwerken. Als de filtercoëfficiënten worden gequantiseerd tot 16 bits, kunnen twee biquad secties worden berekend in een enkele MAC-cyclus.
  • Clock-gating en slaapmodi: Implementeer het filter in een taak die alleen draait wanneer sensorgegevens beschikbaar zijn. Gebruik de slaapmodi van de MCU met een laag vermogen tussen de samples. Veel microcontrollers hebben hardwarefilterrandapparatuur (bv. CORDIC, digitale filtercoprocessor) die onafhankelijk kan draaien.
  • Zero-overhead loops: Unroll loops voor vaste-order filters om takstraffen te elimineren. Een derde-orde IIR filter geïmplementeerd als inline code loopt tot 30% sneller dan een loop-gebaseerde implementatie.

Praktische casestudy: ECG-signaalfiltering in een smartwatch

Om deze strategieën te illustreren, overweeg een wearable die een single-lead ECG bij 250 Hz verwerft. Het ruwe signaal bevat baseline dwaling (0,5 Hz en lager), power-line interferentie (50/60 Hz) en hoogfrequent spiergeluid. De ontwerpdoelen zijn om deze artefacten te verwerpen met een passband van 0,5 tot 40 Hz en een stopband demping van 20 dB bij 50 Hz.

Een conventionele aanpak maakt gebruik van een vierde-orde Butterworth bandpass IIR filter (cascade van twee biquads). Bij een floating-point op een lage-vermogen Cortex-M4, dit vereist ongeveer 10 MAC operaties per monster. Het totale energieverbruik voor filtering alleen is ongeveer 0,5 mW. Door over te schakelen op een derde-orde elliptisch ontwerp (order reductie) dat nog steeds voldoet aan de 20 dB stopband eis, de MAC-telling daalt tot 7,5 per monster. Verder, kwantiseren coëfficiënten naar Q15 vaste-punt vermindert het geheugen en maakt het gebruik van 16-bit SIMD Macs: de biquad cascade kan nu worden berekend in 4 instructies per sectie, tot een totaal van 8 instructies per monster.

Bovendien vereist het inkepingsfilter door gebruik te maken van een power-of-two coëfficiënt voor het 50 Hz-inkepingsfilter (ingevoerd als een apart biquad), slechts 3 shift-add-bewerkingen in plaats van 3 MAC's. De totale filterketen verbruikt slechts 0,2 mW.A 60% reductie van het oorspronkelijke ontwerp en behoudt de signaalkwaliteitsmeting (SNR binnen 1 dB van het origineel).

Deze optimalisatie maakte het mogelijk om de ECG-aanwinst 24 uur continu te laten lopen en te filteren op een 150 mAh batterij, vergeleken met 16 uur met de oorspronkelijke implementatie.

Uitdagingen en afwegingen

Elke optimalisatie brengt potentiële valkuilen. Orderreductie kan de passband rimpel of degradatiegroepvertraging verhogen, wat problematisch kan zijn voor toepassingen die fase-uitlijning vereisen (bv. multikanaal EEG). Coëfficiënt quantiseren kan polen in de buurt van de eenheidscirkel duwen, wat instabiliteit veroorzaakt. Om dit te beperken, voert u altijd pole-nul analyse uit met quantized coëfficiënten. Geschatte filtering introduceert lawaai; in medische kwaliteit wearables, kunnen regelgevingsnormen (bv. IEC 60601) specifieke geluidsvloeren vereisen.

De ontwikkelaars moeten ook rekening houden met stroomoverhead uit het geheugen. Opslaan coëfficiënten in flash vs. SRAM beïnvloedt dynamisch vermogen; het gebruik van DMA-overdrachten voor coëfficiënten kan CPU cycli verminderen. Bij de implementatie van frequentie-domein methoden, de OTC zelf verbruikt stroom alleen gebruik als de filter orde is hoog genoeg om de crossover punt economisch (gewoonlijk orde > 50).

Ten slotte is het testen met echte sensorsignalen essentieel. Kwantiseringsartefacten kunnen onwaarneembaar zijn in sinus-golf testen maar worden merkbaar in de werkelijke ECG of PPG golfvormen. Altijd valideren met representatieve gegevens van het doelapparaat.

Externe middelen en verdere lezing

Conclusie

IIR filters blijven een hoeksteen van signaalverwerking in draagbare apparaten. Hun recursieve structuur biedt inherent lage-orde implementaties, maar ontwerpers moeten navigeren beperkingen van beperkte woordlengte, geheugen en energie. Door het toepassen van een combinatie van ordereductie, slimme coëfficiënt quantisering, cascade biquad structuren, bij benadering computing, en laag vermogen hardware gebruik, kunnen ontwikkelaars de rekencomplexe complexiteit met 50 . 80% verminderen zonder op te offeren essentiële prestaties. Aangezien randverwerking blijft bewegen in wearables voor privacy en latency redenen, zal een efficiënt IIR filter ontwerp een sleutel enabler voor de volgende generatie gezondheidsmonitors, slimme accessoires en AR/VR headsets. De strategieën die hier worden beschreven bieden een praktische toolkit voor elke ingenieur die werkt op embedded signaalverwerking in batterij-aangedreven apparaten.