DSPRelated.com
Forums

Between min. phase and lin. phase filters

Started by Alexey Lukin November 8, 2003
Hi comp.dsp members,

I have one filter design question. Are there any methods to design a
FIR filter with the specified magnitude response, so that its phase
response is somewhere between min. phase and linear phase? In other
words, are there any ways to control the ratio of post- and
pre-ringing in the filter's impulse response? Maybe it's possible for
some special cases? (e.g. lowpass filters)

Clearly, just mixing the phase responses of min.phase and lin.phase
filters is not a solution.

Thanks for any suggestions.
Alex

Alexey Lukin wrote:
> > Hi comp.dsp members, > > I have one filter design question. Are there any methods to design a > FIR filter with the specified magnitude response, so that its phase > response is somewhere between min. phase and linear phase?
A filter design with a given amount of phase distortion is pretty standard task.
> In other > words, are there any ways to control the ratio of post- and > pre-ringing in the filter's impulse response?
Ringing is a different thing which is not directly related to phase linearity or minimal phase.
> Maybe it's possible for > some special cases? (e.g. lowpass filters) > > Clearly, just mixing the phase responses of min.phase and lin.phase > filters is not a solution.
What are you trying to achieve? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
"Alexey Lukin" <lukin@ixbt.com> wrote in message
news:b225ff4d.0311081035.5d90f1c@posting.google.com...
> Hi comp.dsp members, > > I have one filter design question. Are there any methods to design a > FIR filter with the specified magnitude response, so that its phase > response is somewhere between min. phase and linear phase? In other > words, are there any ways to control the ratio of post- and > pre-ringing in the filter's impulse response? Maybe it's possible for > some special cases? (e.g. lowpass filters) > > Clearly, just mixing the phase responses of min.phase and lin.phase > filters is not a solution.
Look at all-pass phase compensation. Any filter or cascade of filters can be split into a minimum phase part and a maximum phase part. A linear phase filter has these two parts as conjugates about the unit circle. Fred
Vladimir Vassilevsky <vlv@abvolt.com> wrote in message news:<3FAD3F1A.CCF807A3@abvolt.com>...
> Alexey Lukin wrote: > > > > Hi comp.dsp members, > > > > I have one filter design question. Are there any methods to design a > > FIR filter with the specified magnitude response, so that its phase > > response is somewhere between min. phase and linear phase? > > A filter design with a given amount of phase distortion is pretty > standard task.
Would you provide any references, please?
> > In other > > words, are there any ways to control the ratio of post- and > > pre-ringing in the filter's impulse response? > > Ringing is a different thing which is not directly related to phase > linearity or minimal phase.
It is directly related. By ringing I mean the decaying oscillations in the impulse response of the filter. For linear phase filters, there's an equal amount of pre- and post-ringing (around main lobe of the impulse response). For minimum-phase filters, there's minimal pre-ringing, but maximal post-ringing (i.e. most impulse response energy is placed in the early points of the impulse response).
> > Maybe it's possible for > > some special cases? (e.g. lowpass filters) > > > > Clearly, just mixing the phase responses of min.phase and lin.phase > > filters is not a solution. > > What are you trying to achieve?
I'm looking for a way to build some intermediate filters between lin. phase and min. phase, to control the amount of pre- and post-ringing in the filter's impulse response. Alex
Alexey Lukin  wrote:
> Hi comp.dsp members, > > I have one filter design question. Are there any methods to design a > FIR filter with the specified magnitude response, so that its phase > response is somewhere between min. phase and linear phase? In other > words, are there any ways to control the ratio of post- and > pre-ringing in the filter's impulse response? Maybe it's possible for > some special cases? (e.g. lowpass filters)
Hi Alexey, I recently read a paper from Michael Gerzon (I don't have the link handy, and Google didn't turn it up, but I downloaded it from somewhere on the net) where he claimed that an ideal audio filter would have an impulse response somewhere "between" minimum and linear phase (not really specifiying by which metric to measure betweeness). Perhaps you have also read it. His argument was that pre-ringing even at even very low (-60dB) levels (as compared to the main impuls) resulted in unpleasant audible colouration. The main support for this claim was a paper by Lagadec (working for Studer) regarding a multibank FIR-based crossover for tape noise reduction, which appearantly sounded horrible, even though the combined frequency response of all filter banks (if none of the bands volume was altered) was flat. Another support is the "well known" fact, that audio EQ filters with a Q higher than a certain number (I think it was around 1.5) sounded "coloured" - the high Q results in a slower decreasing impulse response (longer ringing), which supposedly explains the "colouredness" (why not the amplitude response?). Both examples should show the sensitivity of the ear to wigglyness of the impulse response, especially to slowly decaying pre-impulse wigglyness. I'm not so sure about these claims and would like to see them verified by independent listening tests. In the mean-time I had a couple of ideas on how to go about implementing some kind of control over the pre-impulse ringing, starting off with a linear-phase filter (resulting in a non-linear and non-minimum-phase filter). One was to apply a "window" to the pre-impulse response part (you can do this very easily by modifying FIR coefficients). However, directly modifying the impulse response alters amplitude _and_ phase response. How much so can be controlled by knowing the complex frequency response of the window (think of windowing for FFTs), and designing your window appropriately.
> Clearly, just mixing the phase responses of min.phase and lin.phase > filters is not a solution.
What do you mean by "mixing phase responses"?
> Thanks for any suggestions.
Regards, Andor
I wrote:
...
> I recently read a paper from Michael Gerzon (I don't have the link handy, > and Google didn't turn it up, but I downloaded it from somewhere on the net)
... Here it is: http://www.audiosignal.co.uk/Gerzon%20archive.html Look at the paper "Why do equalisers sound different?" Regards, Andor
"Andor" <an2or@nospam.com> wrote in message news:<3fae8c55_1@news.tiscalinet.ch>...
> I recently read a paper from Michael Gerzon (I don't have the link handy, > and Google didn't turn it up, but I downloaded it from somewhere on the net) > where he claimed that an ideal audio filter would have an impulse response > somewhere "between" minimum and linear phase (not really specifiying by > which metric to measure betweeness). Perhaps you have also read it.
I've read a similar paper by J. Smith.
> support is the "well known" fact, that audio EQ filters with a Q higher than > a certain number (I think it was around 1.5) sounded "coloured" - the high Q > results in a slower decreasing impulse response (longer ringing), which > supposedly explains the "colouredness" (why not the amplitude response?).
I think that by "coloration" one could mean quite anything: from pre-echos to time smearing of transients.
> I'm not so sure about these claims and would like to see them verified by > independent listening tests. In the mean-time I had a couple of ideas on how > to go about implementing some kind of control over the pre-impulse ringing, > starting off with a linear-phase filter (resulting in a non-linear and > non-minimum-phase filter). One was to apply a "window" to the pre-impulse > response part (you can do this very easily by modifying FIR coefficients).
Sure. But I believe this is not a proper way, unfortunately. For example, you can not get minimal phase filter from linear phase filter in this way. Any windowing alters the freqeuncy response significaltly. I'm looking for a way to get the desired phase response not altering the freeuncy response (similarly to how it can be done during lin-phase -> min-phase conversion).
> > Clearly, just mixing the phase responses of min.phase and lin.phase > > filters is not a solution. > > What do you mean by "mixing phase responses"?
Just take the magnitude response of lin-phase filter, substitute some phase response, and take the inverse FFT. If you subst. the phase resp. of the min-phase filter - you get the min. phase filter. If you subst. the phase resp. of the lin-phase filter - you get the lin. phase filter. But if you subst. some intermediate phase response (an average, for example), you won't get any good filter, due to time domain aliasing (?) the magnitude response will be altered too. So the phase response must be carefully designed somehow, and not just thought out. Best, Alex
Alexey Lukin wrote:
> > In the mean-time I had a couple of ideas on how > > to go about implementing some kind of control over the pre-impulse ringing, > > starting off with a linear-phase filter (resulting in a non-linear and > > non-minimum-phase filter). One was to apply a "window" to the pre-impulse > > response part (you can do this very easily by modifying FIR coefficients). > > Sure. But I believe this is not a proper way, unfortunately. For > example, you can not get minimal phase filter from linear phase filter > in this way. Any windowing alters the freqeuncy response > significaltly. I'm looking for a way to get the desired phase response > not altering the freeuncy response (similarly to how it can be done > during lin-phase -> min-phase conversion).
I was suggesting an approach which tries to reduce pre-ringing for linear-phase filters. What are you aiming at? You didn't specify how and why you wanted the phase response to lie "between" linear and minimum. Perhaps if you state your goal there are better ways. Regards, Andor
Alexey Lukin wrote:

   ...

> Just take the magnitude response of lin-phase filter, substitute some > phase response, and take the inverse FFT. If you subst. the phase > resp. of the min-phase filter - you get the min. phase filter. If you > subst. the phase resp. of the lin-phase filter - you get the lin. > phase filter. But if you subst. some intermediate phase response (an > average, for example), you won't get any good filter, due to time > domain aliasing (?) the magnitude response will be altered too. > So the phase response must be carefully designed somehow, and not just > thought out.
Zeros in the right-half s plane reduce a filter's "promptness" -- the weighting of its impulse early on. Moving a zero to its conjugate location -- reflecting it about the jw axis -- leaves the response for real frequencies unchanged. For a filter of N zeros, there are exactly [(2^n) - 1] other filters with exactly the same frequency response but different impulse responses. If N is not too large, you can try them all. 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;
an2or@mailcircuit.com (Andor) wrote in message news:<ce45f9ed.0311110717.7308ed8b@posting.google.com>...
> I was suggesting an approach which tries to reduce pre-ringing for > linear-phase filters. What are you aiming at? You didn't specify how > and why you wanted the phase response to lie "between" linear and > minimum. > > Perhaps if you state your goal there are better ways.
Yes, my goal is the same: trying to reduce the pre-ringing. The windowing of the pre-ringing is not a solution, because it heavily distorts the frequency response of the filter. Isn't it the case in your experiments? Alex