DSPRelated.com
Forums

how to make nonlinear phase system linear

Started by HyeeWang December 10, 2009
For a such filter with nonlinear phase ,How to operate or modify
(compensate ) to make it linear phase? Thank you in advance!

Cheers
HyeeWang
On Dec 10, 4:09&#4294967295;am, HyeeWang <hyeew...@gmail.com> wrote:
> For a such filter with nonlinear phase ,How to operate or modify > (compensate ) to make it linear phase? Thank you in advance! > > Cheers > HyeeWang
One common approach is to follow your filter with an "all pass" filter. The "all pass" filter is one that modifies phase, so use this filter to compensate for the nonlinearities of phase in your original filter. Try looking here: http://en.wikipedia.org/wiki/All-pass_filter IHTH, Clay
On Dec 11, 2:46&#4294967295;am, Clay <c...@claysturner.com> wrote:
> On Dec 10, 4:09&#4294967295;am, HyeeWang <hyeew...@gmail.com> wrote: > > > For a such filter with nonlinear phase ,How to operate or modify > > (compensate ) to make it linear phase? Thank you in advance! > > > Cheers > > HyeeWang > > One common approach is to follow your filter with an "all pass" > filter. The "all pass" filter is one that modifies phase, so use this > filter to compensate for the nonlinearities of phase in your original > filter. Try looking here: > > http://en.wikipedia.org/wiki/All-pass_filter > > IHTH, > Clay
Thank you! Clay. All-pass filters do change the phase,not affecting magnitude. But how to chose the pole of All-pass filter, to make a arbitrary nonlinear phase to linearity state? Is it possible? Where can I seek the relevant information about that? HyeeWang
HyeeWang wrote:
> On Dec 11, 2:46 am, Clay <c...@claysturner.com> wrote: >> On Dec 10, 4:09 am, HyeeWang <hyeew...@gmail.com> wrote: >> >>> For a such filter with nonlinear phase ,How to operate or modify >>> (compensate ) to make it linear phase? Thank you in advance! >>> Cheers >>> HyeeWang >> One common approach is to follow your filter with an "all pass" >> filter. The "all pass" filter is one that modifies phase, so use this >> filter to compensate for the nonlinearities of phase in your original >> filter. Try looking here: >> >> http://en.wikipedia.org/wiki/All-pass_filter >> >> IHTH, >> Clay > > Thank you! Clay. > > All-pass filters do change the phase,not affecting magnitude. > But how to chose the pole of All-pass filter, to make a arbitrary > nonlinear phase to linearity state? > > Is it possible? > > Where can I seek the relevant information about that?
Recognize that you can make the response only approximately linear, and only over a limited frequency range. The more stringent the linearity specification, the more all-pass stages will be needed. It is often simpler to start with a linear-phase filter than to approximate linearity afterward. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
On Dec 10, 10:51&#4294967295;pm, Jerry Avins <j...@ieee.org> wrote:
> HyeeWang wrote: > > On Dec 11, 2:46 am, Clay <c...@claysturner.com> wrote: > >> On Dec 10, 4:09 am, HyeeWang <hyeew...@gmail.com> wrote: > > >>> For a such filter with nonlinear phase ,How to operate or modify > >>> (compensate ) to make it linear phase? Thank you in advance! > >>> Cheers > >>> HyeeWang > >> One common approach is to follow your filter with an "all pass" > >> filter. The "all pass" filter is one that modifies phase, so use this > >> filter to compensate for the nonlinearities of phase in your original > >> filter. Try looking here: > > >>http://en.wikipedia.org/wiki/All-pass_filter > > >> IHTH, > >> Clay > > > Thank you! Clay. > > > All-pass filters do change the phase,not affecting magnitude. > > But how to chose the pole of All-pass filter, to make a arbitrary > > nonlinear phase to linearity state? > > > Is it possible? > > > Where can I seek the relevant information about that? > > Recognize that you can make the response only approximately linear, and > only over a limited frequency range. The more stringent the linearity > specification, the more all-pass stages will be needed. > > It is often simpler to start with a linear-phase filter than to > approximate linearity afterward. > > Jerry > -- > Engineering is the art of making what you want from things you can get. > &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
To design a phase compensation filter consisting of all-pass sections you will need to some kind of optimization routine. If you search the IEEE for "all pass" and "phase compensation" you will get some results. Cheers, David
On Dec 10, 9:36&#4294967295;pm, HyeeWang <hyeew...@gmail.com> wrote:
> On Dec 11, 2:46&#4294967295;am, Clay <c...@claysturner.com> wrote: > > > > > On Dec 10, 4:09&#4294967295;am, HyeeWang <hyeew...@gmail.com> wrote: > > > > For a such filter with nonlinear phase ,How to operate or modify > > > (compensate ) to make it linear phase? Thank you in advance! > > > > Cheers > > > HyeeWang > > > One common approach is to follow your filter with an "all pass" > > filter. The "all pass" filter is one that modifies phase, so use this > > filter to compensate for the nonlinearities of phase in your original > > filter. Try looking here: > > >http://en.wikipedia.org/wiki/All-pass_filter > > > IHTH, > > Clay > > Thank you! Clay. > > All-pass filters do change the phase,not affecting magnitude. > But how to chose the pole of All-pass filter, to make a arbitrary > nonlinear phase to linearity state? > > Is it possible? > > Where can I seek the relevant information about that? > > HyeeWang
You should be able to use the frequency-domain least-squares (FDLS) method to do this; it can design filters with arbitrary magnitude/ phase responses. The number of taps you have to throw at it will control the quality of fit to your desired response. Jason

Clay wrote:

> On Dec 10, 4:09 am, HyeeWang <hyeew...@gmail.com> wrote: > >>For a such filter with nonlinear phase ,How to operate or modify >>(compensate ) to make it linear phase? Thank you in advance! >> > One common approach is to follow your filter with an "all pass" > filter. The "all pass" filter is one that modifies phase, so use this > filter to compensate for the nonlinearities of phase in your original > filter. Try looking here:
The textbook closed form solution is linear equalizer. FDLS of Greg Berchin applies as well; it could be a good starting point for further optimization. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

Jason wrote:

> On Dec 10, 9:36 pm, HyeeWang <hyeew...@gmail.com> wrote:
>>>>For a such filter with nonlinear phase ,How to operate or modify >>>>(compensate ) to make it linear phase? Thank you in advance! >>
> > You should be able to use the frequency-domain least-squares (FDLS) > method to do this; it can design filters with arbitrary magnitude/ > phase responses. The number of taps you have to throw at it will > control the quality of fit to your desired response.
It is not quite so simple. If you throw non-linear phase as is on FDLS, you can very well get unstable result. Causality and minimum phase considerations apply. VLV
On Thu, 10 Dec 2009 01:09:40 -0800 (PST), HyeeWang <hyeewang@gmail.com> wrote:

>For a such filter with nonlinear phase ,How to operate or modify >(compensate ) to make it linear phase? Thank you in advance!
The question is ambiguous. Do you have an existing filter transfer function exhibiting nonlinear phase, and you just want to find a filter with the same magnitude response but linear phase? Then create the zero-phase magnitude response, compute the Inverse Fourier Transform, and delay a sufficient amount to satisfy causality. (If it's an analog filter, good luck implementing the delay.) Do you have an existing physical system whose transfer function exhibits nonlinear phase, but it is NOT necessary to maintain the magnitude response of that system through the phase compensator? If not, then sample the impulse response of the system, implement that impulse response BACKWARDS as an FIR filter, and use that as the phase compensator. The original magnitude response will be approximately squared, but the phase will be approximately linear (the quality of the approximation depending upon how well your FIR approximation fits the impulse response -- subject to all of the shortcomings of the Impulse Invariance technique). Do you have an existing physical system whose transfer function exhibits nonlinear phase, and it IS necessary to maintain the magnitude response of that system through the phase compensator? Others have pointed out that there are numerical methods for designing allpass filters to do that. FDLS has also been mentioned, though it is tricky because FDLS can only design causal filters so you have to be certain to incorporate sufficient delay into your target frequency response. And there are approximation techniques for designing analog filters with maximally-flat and equiripple phase responses that could possibly be adapted to deal with this situation. See, e.g., Temes and Mitra, "Modern Filter Theory and Design", section 2.2. Greg
On Dec 12, 12:46=A0am, Greg Berchin <gberc...@comicast.net.invalid>
wrote:
> On Thu, 10 Dec 2009 01:09:40 -0800 (PST), HyeeWang <hyeew...@gmail.com> w=
rote:
> >For a such filter with nonlinear phase ,How to operate or modify > >(compensate ) to make it linear phase? Thank you in advance! > > The question is ambiguous. > > Do you have an existing filter transfer function exhibiting nonlinear pha=
se, and
> you just want to find a filter with the same magnitude response but linea=
r
> phase? =A0Then create the zero-phase magnitude response, compute the Inve=
rse
> Fourier Transform, and delay a sufficient amount to satisfy causality. =
=A0(If it's
> an analog filter, good luck implementing the delay.) > > Do you have an existing physical system whose transfer function exhibits > nonlinear phase, but it is NOT necessary to maintain the magnitude respon=
se of
> that system through the phase compensator? =A0If not, then sample the imp=
ulse
> response of the system, implement that impulse response BACKWARDS as an F=
IR
> filter, and use that as the phase compensator. =A0The original magnitude =
response
> will be approximately squared, but the phase will be approximately linear=
(the
> quality of the approximation depending upon how well your FIR approximati=
on fits
> the impulse response -- subject to all of the shortcomings of the Impulse > Invariance technique). > > Do you have an existing physical system whose transfer function exhibits > nonlinear phase, and it IS necessary to maintain the magnitude response o=
f that
> system through the phase compensator? =A0Others have pointed out that the=
re are
> numerical methods for designing allpass filters to do that. =A0FDLS has a=
lso been
> mentioned, though it is tricky because FDLS can only design causal filter=
s so
> you have to be certain to incorporate sufficient delay into your target > frequency response. =A0And there are approximation techniques for designi=
ng analog
> filters with maximally-flat and equiripple phase responses that could pos=
sibly
> be adapted to deal with this situation. =A0See, e.g., Temes and Mitra, "M=
odern
> Filter Theory and Design", section 2.2. > > Greg
Thank you! Grey. My question is in your first case. That is: have an existing filter transfer function exhibiting nonlinear phase, and just want to find a filter with the same magnitude response but linear phase. By the way,what is the distinct difference between "filter" and "physical system" in your opinon?