Robert Adams
07-11-2008, 03:47 AM
One method of creating a quadrature signal is to pass an input signal
through two parallel allpass networks, where the outputs of the two
networks differ in phase by 90 degrees. Each allpass network is
typically high-order to obtain reasonable accuracy in terms of holding
the phase difference over frequency. One advantage of this technique
compared with the more usual anti-symmetric Hilbert filter is that the
number of multiplies is smaller for a given accuracy (note that the
Hilbert filter is perfect for phase accuracy, but suffers from
amplitude errors and becomes very long if you need a frequency range
that spans a large portion of the band from 0 to PI, whereas the
allpass filters are perfect for amplitude accuracy but cannot hold the
phase difference at frequencies near DC and PI).
The problem I have is designing the allpass filter networks to hold
the 90-degree phase difference. In the past I have seen people apply
non-linear optimizers to the problem. I am trying to solve it with
Matlab fminsearch, but am having trouble getting a starting point that
is close enough that it converges to the desired 90-degree phase
difference.
Has anyone seen any papers on this?.
Thanks!
Bob Adams
through two parallel allpass networks, where the outputs of the two
networks differ in phase by 90 degrees. Each allpass network is
typically high-order to obtain reasonable accuracy in terms of holding
the phase difference over frequency. One advantage of this technique
compared with the more usual anti-symmetric Hilbert filter is that the
number of multiplies is smaller for a given accuracy (note that the
Hilbert filter is perfect for phase accuracy, but suffers from
amplitude errors and becomes very long if you need a frequency range
that spans a large portion of the band from 0 to PI, whereas the
allpass filters are perfect for amplitude accuracy but cannot hold the
phase difference at frequencies near DC and PI).
The problem I have is designing the allpass filter networks to hold
the 90-degree phase difference. In the past I have seen people apply
non-linear optimizers to the problem. I am trying to solve it with
Matlab fminsearch, but am having trouble getting a starting point that
is close enough that it converges to the desired 90-degree phase
difference.
Has anyone seen any papers on this?.
Thanks!
Bob Adams