Non- causale filters
<laatst bijgewerkt: 2025-12-26>
In het kort:
Non-causaal
filteren betekent dat een filter al output geeft vóórdat er input
geweest is. In de echte, analoge wereld kan dat natuurlijk niet, maar bij digitale
signalen is het heel goed mogelijk, als het gehele signaal enige tijd
vertraagd wordt. Je kunt dan een filter maken dat vooruit kijkt naar
wat er komen gaat.
Er is een vermoeden dat zulke filters, die volop toegepast worden in de
digitale audiotechniek, gehoormatig ongewenste bij-effecten hebben
Bij het SACD systeem is de sample frequentie zo hoog gek
Bedenk dat geluidsopwekking in akoestische muziekinstrumenten en de akoestiek van
concertzalen altijd perfect causaal isn. In de echte wereld gaat een gevolg nooit vooraf aan z'n oorzaak.
Verwante onderwerpen:
SACD, Frequenties boven de gehoorgrens Filters, groeplooptijden, Fourier transformatie, impuls responsie, FIR-filter, IIR-filter, convolutie
Waarom niet-causale filters?
Nou, dat verhaal is niet gemakkelijk te vatten, maar ik ga het proberen.
Voor het CD-systeem met de sample frequentie van 44.1 kHz is het nodig om aan de opneem-kant een steil z.g. anti-alias filter te gebruiken dat alle frequenties boven ca. 20 kHz tegenhoudt. Zie ook AD-en DA conversie. Men heeft ook geargumenteerd dat zo'n filter in de doorlaatband alle frequenties met gelijke vertraging zou moeten doorlaten.
Die laatste eis vereist een filter met een in de tijd symmetrische
impulsresponsie. Deze symmetrie-eis wordt zichtbaar als je de filter
karakteristiek naar het tijdsdomein vertaalt met de Fourier
transformatie.
In de analoge filter techniek kan een symmetrische impulsresponsie
slechts benaderd worden, en dan nog alleen voor een beperkt
frequentiegebied. De z.g Bessel-karakteristiek geeft dan de beste benadering.
Met digitale filters kan echter een perfect symmetrische
impulsresponsie verkregen worden met een filter van het FIR type,
Finite Impuls Response.
Je bereikt dat met een convolutie van het ingangssignaal met de impuls-responsie van het filter.
Bij het SACD systeem is de samplefrequentie aanzienlijk hoger dan 44.1
kHz, en is de eis van een scherp afsnijdend anti-alias filter
aanzienlijk verlicht. Daar zitten dan 2 voordelen aan: in het hoorbare
frequentiegebied kan het filter gewoon causaal blijven en er hoeft niet
met een zeer hoge orde gefilterd te worden.
Wat is convolutie / convolueren?
Convolueren is een wat moeilijke manier van vermenigvuldigen van twee functies.
Het komt erop neer dat je de twee functies (grafieken van een reeks
getallen) boven elkaar zet, en dan alle overeenkomstige x-punten met
elkaar vermenigvuldigt en die producten sommeert. Dat geeft 1 punt van
de resultaat grafiek.
Vervolgens verschuif je 1 van de twee functies 1 plaats, en bereken je
opnieuw de som van de producten, dat geeft het tweede punt van het
resultaat. Etcetera..etcetera...... Je begrijpt dat dat een hoop rekenwerk wordt, vooral als de functie uit veel punten bestaat.
Wat ik hier schets is de manier waarop je dat in het digitale (tijddiscrete) domein kunt doen.
Er bestaan overigens slimmere methodes om de hoeveelheid rekenwerk te beperken.
Wat we ons niet zo vaak realiseren is dat analoge filters, dus die met
weerstanden, condensatoren en zelfinducties, precies hetzelfde doen,
echter met tijd-continue signalen en idem impuls-responsies. Een
belangrijk verschil is echter dat analoge filters altijd causaal zijn,
dus nooit output geven vóórdat er iets aan de input-kant gebeurt, en
een oneindige impulsresponsie hebben naar de toekomst. Zo'n filter zal
-in beginsel- oneindig lang een resultaat produceren t.g.v. een
inputsignaal (nou ja, totdat het in de ruis verzopen is)
E.e.a. impliceert dat analoge filters nooit een perfect symmerische
impuls responsie kunnen hebben. Immers, naar de toekomst toe kan het erg
lang doorgaan, maar in het verleden kan er niets. DUS: symmetrie
is onmogelijk. En: symmetrie is vereist voor gelijke (groep)looptijden
over het gehele frequentiebereik. Q.E.D.