Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

low pass FIR filter - with no latency

I'm using a FIR filter to oversample audio. It's a simple typical windowed sinc, i.e. a sinc function truncated and windowed. As usual it requires past and 'future' samples to work. in practical terms this means the audio output is delayed. The sinc function is an ideal low pass filter. My question what is the equivalent, except with no 'future' samples required. I guess this function is the same as the impulse response of a brick wall IIR filter. It will have a perfect brick-wall cuttoff, but will not have perfect phase response.

like image 238
Jeff Avatar asked Dec 02 '10 08:12

Jeff


1 Answers

If you want a particular frequency response, then a minimum phase filter would provide the lowest "delay" or latency of IIR or FIR filter with that response. An IIR filter with all its poles and zeros inside the unit circle would be a minimum phase filter. A minimum phase filter is also not linear phase, so you'll have to release that constraint to reduce latency. A FIR filter can be approximately converted to minimum phase either by cepstum techniques (see Oppenheim & Schafer), or by numerically solving for an IIR filter with a similar enough frequency response, flipping all the poles and zeros inside, and converting a suitably windowed impulse response back to a FIR filter.

Trying to get any less than minimum phase delay will flatten a filter's transition band(s) until, at "zero" delay, the filter would either have to reject nothing or reject everything, and thus become useless.

like image 94
hotpaw2 Avatar answered Oct 11 '22 22:10

hotpaw2