From: jungledmnc on
>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
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
>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