Prev: relationship between losslessness of an allpass and the l1 norm of the impulse response of the allpass
Next: QPSK Communication
From: jungledmnc on 21 Jan 2010 13:21 >Maybe, no, Hilbert transform. > >Maybe you can design an allpass filter with a phase response of 1/3T, >_if_ you restrict the frequency range in which it'll work (low >frequencies will _kill_ you). > >No, you cannot have zero latency, at least not with real-time input. >Filters give a result that's a weighted sum of prior inputs; allpass >filters do, too. Dictate the phase and magnitude responses and you >dictate the delay -- you really don't have a choice in this. > >A Hilbert transform will give you a filter output of 1/4T (and cost you a >lot of taps if you approximate it with an FIR). (your input) * cos >(2*pi/3) + (Hilbert of your input) * sin(2*pi/3) = your input shifted by >2*pi/3, i.e. your "1/3T delay". > >I haven't done this, but I dimly recall some threads about getting better >performance vs. complexity out of the Hilbert transform using IIR >filters. You _won't_ get better delay characteristics -- you'll just get >a more compact (and obscure) filter. > Thanks. Interesting idea. But probably a little hardcore for me :). I need to process digital audio. There was an interesting post saying that it basically cannot be done for all frequencies - which is true indeed, I'm probably too used think mostly in range 20Hz..20kHz. So this is my main range. About the latency, sorry for being inaccurate. I meant like overlatency, which would delay all frequencies like 100 samples more than the 1/3T itself. In fact it would be good enough for me to create some approximation like that in range 20..20000Hz. The idea came from 3-phase motor, but the goal is to smoothen out level detection used in several audio dynamic processors. Thanks a again folks! PS. I'd like to thank Vladimir Vassilevsky for his absolutely useless agressive answer :). As usual :)). We have a saying "talking is silver, silence is gold" ;).
From: Jerry Avins on 21 Jan 2010 16:07 jungledmnc wrote: ... > About the latency, sorry for being inaccurate. I meant like overlatency, > which would delay all frequencies like 100 samples more than the 1/3T > itself. > > In fact it would be good enough for me to create some approximation like > that in range 20..20000Hz. The idea came from 3-phase motor, but the goal > is to smoothen out level detection used in several audio dynamic > processors. For linear phase, the overall filter delay can't be less than 1/3T at the lowest frequency in the passband. For 20 Hz, that's 1/60th of a second; 17 ms. Simpler structures produce two channels with a _relative_ phase difference of 120 degrees, while the actual phase varies all over the lot. As a rough guess, decent performance for three decades would require a chain of 9 cascaded all-passes per channel. I extrapolated that from 3 all-passes per decade. ... Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
From: jungledmnc on 21 Jan 2010 18:56
>For linear phase, the overall filter delay can't be less than 1/3T at >the lowest frequency in the passband. For 20 Hz, that's 1/60th of a >second; 17 ms. > >Simpler structures produce two channels with a _relative_ phase >difference of 120 degrees, while the actual phase varies all over the >lot. As a rough guess, decent performance for three decades would >require a chain of 9 cascaded all-passes per channel. I extrapolated >that from 3 all-passes per decade. Thanks Jerry. But sorry for my lack of knowledge, but how exactly would this work? Any keywords to google? :) dmnc |