What is KVR Audio? | Submit News | Advertise | Developer Account

Options (Affects News & Product results only):

OS:
Format:
Include:
Quick Search KVR

"Quick Search" KVR Audio's Product Database, News Items, Developer Listings, Forum Topics and videos here. For advanced Product Database searching please use the full product search. For the forum you can use the phpBB forum search.

To utilize the power of Google you can use the integrated Google Site Search.

Products 0

Developers 0

News 0

Forum 0

Videos 0

Search  

IIR filters and frequency warping

DSP, Plug-in and Host development discussion.

Moderator: Moderators (Main)

Wolfen666
KVRian
 
628 posts since 11 Aug, 2004, from Marcoussis, France

Postby Wolfen666; Tue Jan 22, 2013 9:04 am IIR filters and frequency warping

Hello everybody !

If I want the digital equivalent of the analog transfer function of a (linear) filter (no zero-delay or nonlinear stuff here), I need to apply frequency warping stuff, because I use the bilinear transform. To proceed, I have to correct the frequency cutoff values before the transformation, so the frequency response of the filter in the digital domain will match more the analog one.

This operation is easy when we want to calculate, say the classic biquads / SVF digital implementation coefficients, because the cutoff frequency is displayed explicitely in the equations. Moreover, it is also possible to simplify a lot the equations needed to get the digital filters coefficients, using remarkable indentities, when we want to change one parameter during the execution of the filter (see for example the formulas in the RBJ cookbook).

My question is the following : how do I apply the frequency warping efficiently if I want to get the digital implementation of any analog filter, when I have only the numerical values of its coefficients, and no formula where the frequency cutoff values are explicit ?

I think one way to do that would be to calculate the poles and zeros of the analog filter, to apply the frequency warping on these frequency-like values, and then calculate again the coefficients in the Laplace domain, but I think there may be another way more efficient to do the things too...

Thanks in advance !
Z1202
KVRian
 
541 posts since 11 Apr, 2002

Postby Z1202; Wed Jan 23, 2013 1:46 am

Wolfen666 wrote:Hello everybody !

If I want the digital equivalent of the analog transfer function of a (linear) filter (no zero-delay or nonlinear stuff here), I need to apply frequency warping stuff, because I use the bilinear transform. To proceed, I have to correct the frequency cutoff values before the transformation, so the frequency response of the filter in the digital domain will match more the analog one.

This operation is easy when we want to calculate, say the classic biquads / SVF digital implementation coefficients, because the cutoff frequency is displayed explicitely in the equations. Moreover, it is also possible to simplify a lot the equations needed to get the digital filters coefficients, using remarkable indentities, when we want to change one parameter during the execution of the filter (see for example the formulas in the RBJ cookbook).

My question is the following : how do I apply the frequency warping efficiently if I want to get the digital implementation of any analog filter, when I have only the numerical values of its coefficients, and no formula where the frequency cutoff values are explicit ?

I think one way to do that would be to calculate the poles and zeros of the analog filter, to apply the frequency warping on these frequency-like values, and then calculate again the coefficients in the Laplace domain, but I think there may be another way more efficient to do the things too...

Thanks in advance !
The idea of the "cutoff" choice in the frequency warping is that you can choose a single point on the frequency response that will map exactly to the same value (there is exactly one degree of freedom to play with). Customarily the cutoff is chosen as such point, but you can choose any other one. (This is actually explained in S.3.9 of the VAFilterDesign book)
Wolfen666
KVRian
 
628 posts since 11 Aug, 2004, from Marcoussis, France

Postby Wolfen666; Wed Jan 23, 2013 2:56 am

Hello !

If I have two first order lowpass filters, which have a different cutoff frequency, I can apply the frequency warping to each one a different way, so their digital implementation will have a frequency response which match the one from the analog filter, for each cutoff frequency, right ? So there are two degrees of freedom here isn't it ?

Well, you have answered to my question partially :D
Z1202
KVRian
 
541 posts since 11 Apr, 2002

Postby Z1202; Wed Jan 23, 2013 3:29 am

Wolfen666 wrote:So there are two degrees of freedom here isn't it ?
Because in this case you apply the prewarping to two different transfer functions separately ;) This will change their combined transfer function is a non-mappable way, though (it won't preserve the relationship between magnitude and phase).
Wolfen666
KVRian
 
628 posts since 11 Aug, 2004, from Marcoussis, France

Postby Wolfen666; Wed Jan 23, 2013 5:30 am

OK, thanks for the information :wink:

Moderator: Moderators (Main)

Return to DSP and Plug-in Development