Matching a IIR filter to a higher order FIR filter

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

Christian Budde wrote:
braindoc wrote:
Christian Budde wrote: It's been a while since I had this topic at the university, but as far as I remember the phase information is cancelled out in one step to get the AR model.
really is it? it's some time ago for me, too
The only thing I remember exactly is where I can look. The book is on the attic. I will bring it down tomorrow.
intuively i would say, that phase information is not lost, because the estimation of the filter model is based on the autocorrelation function of the output (where an uncorrelated (white) input is assumed). and i guess, the phase response of a filter will strongly affect the output autocorrelation function. but - as said - that's just my intuition. let's wait what the book says...
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

OK, got the book. It's called 'Digital Speech Processing' and on page 167 there is something about the AR modell (ARMA is the page before). The AR-Process consists only of poles. Starting from the ARMA-Model (Poles and Zeroes) it is splitted in a minimalphase filter and an allpass filter. On page 169 it is said, that for the human ear phase doesn't matter a lot and so we got the AR-Model.
Within this context it sounds like a AR-Model (only consisting of Poles) ignores the phase information. The resulting filter has minimal-phase instead. But I'm not that sure about it.

Christian

P.S.: It's a german book called "Digitale Sprachsignalverarbeitung" by P.Vary/U.Heute/W.Hess. Maybe someone else got the book and like to correct my understanding.

Post

I never experimented with iterative search to match a filter spec. So here is a probably dumb question.

If one's source template was a causal impulse response (such as from a speaker cabinet or other real-world resonant cavity)-- Would it be absurd to write the error function to run an impulse thru the filter chain, and compare the filter chain's impulse response against the template impulse response?

In other words, directly compare impulse responses as an alternative to comparing frequency responses?

On a high-order IIR filter, perhaps there would be so many degrees of freedom that a search might never converge on a best fit before the next ice age? But if it could converge on a best fit, wouldn't this 'impulse response best fit' approximate both the frequency and phase response?

Thanks.

Post

Christian Budde wrote:Within this context it sounds like a AR-Model (only consisting of Poles) ignores the phase information. The resulting filter has minimal-phase instead.
An IIR filter is minimum-phase if and only if all of its zeros and poles lie within the unit circle on the z-plane. Thus, an AR model does not need to be minimum-phase.
JCJR wrote:In other words, directly compare impulse responses as an alternative to comparing frequency responses?

On a high-order IIR filter, perhaps there would be so many degrees of freedom that a search might never converge on a best fit before the next ice age? But if it could converge on a best fit, wouldn't this 'impulse response best fit' approximate both the frequency and phase response?
Yes, and that is exactly what the matlab functions prony and stmcb (Steiglitz McBride) do. They attempt to minimize the squared error between the filter's IR and the input IR.

Those functions work quite well, but you might want to apply some frequency warping on the input to get better estimation of the lower frequencies.

If you're planning on implementing some kind of realtime IIR filter identification, you might want to look into gradient descent algorithms, or the faster RLMS algorithm. They update the filter coefficients using the negative gradient of the cost function.

Post

Thanks, BarendB

Post

Christian Budde wrote: Starting from the ARMA-Model (Poles and Zeroes) it is splitted in a minimalphase filter and an allpass filter. On page 169 it is said, that for the human ear phase doesn't matter a lot and so we got the AR-Model.
Within this context it sounds like a AR-Model (only consisting of Poles) ignores the phase information. The resulting filter has minimal-phase instead.
mmmhhh....i guess, it is because the predictor is the inverse of the filter to be modelled. and if the filter to be modelled has zeros outside the unit circle, then it's inverse would have poles outside the unit circle...ALERT!!!...the predictor would have to be unstable! so the allpass-part of the synthesis filter can not be inverted and therefore not be modelled in a linear prediction setting. ....again just some intuitive thoughts....

correction: it is not the predictor which is the inverse of the filter to be modeled, but the prediction error filter.
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post Reply

Return to “DSP and Plugin Development”