Fit IIR filter to a transfert function without knowing the analytical function

Started by TanguyClt 1 month ago3 replieslatest reply 1 month ago116 views


I try to play with a equal-loudness-curve compensation. Using the Fletcher & Munson curves I end up with the bass boost curves for each level that I need to apply in order compensate the way human distord the sound with respect to the level. I know I can get the digital IIR filter coefficients knowing the analytic analog filter ones, but I don't have theses since it came from calculation I made from F&M curves. My question is : is there any algorithm that can find the IIR coeficients knowing the values (and not the analytic equation) of the transfert function that I want them to describe ?


Thank you !

[ - ]
Reply by fharrisOctober 25, 2021

What you want is part of the attached presentation... this is a parametric filter with independent control of amount of boos or cut, control of BW of the same boost or cut and independent control of center frequency. The paper and an expanded ppt/pdf is attached



[ - ]
Reply by kschutzOctober 26, 2021

I think fharris answered your question so I would stick with that. I lack significant domain expertise in acoustics and as such I can't offer such specific advice. It sounds like you have a very constrained problem and as such there is likely a very efficient solution. That's how most engineering works. 

However to the title of your post, "Fit IIR filter to a transfer function without knowing the analytical function", there are general FIR and IIR fitting methods available, which I call system identification, which you can leverage should you need one. Imagine that you just randomly scribbled a magnitude response on a piece of paper and needed to get said transfer function as a rational function in s (or z). You could also further constrain this exercise by specifying the phase response as well, keeping in mind there are typically joint constraints between magnitude and phase when causality and stability is assumed.

One such algorithm for doing that is described here:

The fitting algorithm described in this paper is implemented in tfest from System Identification Toolbox.

I am not here to push any commercial solution. I only want to point out that in addition to specific solutions for well-constrained problems there are also a number of general algorithms for taking frequency domain data and extracting the generating poles/zeros or poles/residues, however you want to look at it. I've just pointed to 1 of N possibilities. Best of luck to you.

[ - ]
Reply by TanguyCltOctober 26, 2021

Thanks a lot for your answers ! I will look at your documents which look interesting and come back if needed.