0
$\begingroup$

I have a second order analogue high pass transfer function (unity gain at infinity). It's magnitude response hits the -20 decibel line at a frequency of 5706 Hz (the corner frequency is 18000 and sample rate is 44100). When I convert this analogue filter to a digital IIR via the BLT method, the digital filter's magnitude response hits the -20 line at 11149 Hz. This will happen with the standard RBJ audio EQ cookbook formula i.e. it's not a problem with my maths. I know that digital filters suffer from cramping and that's what I'm interested in. Is there a formula to predict what an analogue frequency will be cramped to when the digital filter is realized given the analogue filter's frequency? i.e. something that will tell me 11149 given 5706. Just to be super clear I'm not asking how to do pre-warping using: $ tan(\frac{w_c}{2}) $.

$\endgroup$
  • $\begingroup$ i hadn't seen this question before. not sure what is asked, since you are "super clear" it's not about pre-warping. (so that i can be super clear, the cookbook has already dealt with pre-warping both the resonant frequency and the bandwidth of BPF, notch, and peaking EQ filters.) essentially it fudges the relationship between BW and Q from the analog design. $\endgroup$ – robert bristow-johnson Oct 12 '15 at 0:23
  • $\begingroup$ I answered my own question below. Essentially I was interested in predicting/plotting the cramped frequency response without generating the IIR via the BLT design approach. The mapping below gives a change of variable to the analogue function to plot the cramped response of the IIR that would be generated from your cookbook formulas without actually applying them. Useful for predicting the cramping effect of any analogue function that will be converted to an IIR via BLT. $\endgroup$ – keith Oct 12 '15 at 14:54
  • $\begingroup$ oh, i get it. i think i transcribed wrong and i cannot edit my earlier comment anymore. i think it's $$ f_\text{d} = \frac{f_\text{s}}{\pi}\arctan\left( \frac{f_\text{a} \tan(\pi f_\text{c}/f_\text{s}) }{ f_\text{c}} \right) $$ here, it's all properly pre-warped. when $f_\text{a} = f_\text{c}$, then also $f_\text{d} = f_\text{c}$, and as $f_\text{a} \rightarrow \infty$, then $f_\text{d} \rightarrow \frac{f_\text{s}}{2} = $ Nyquist, which is what you want. $\endgroup$ – robert bristow-johnson Oct 13 '15 at 21:03
0
$\begingroup$

I've come up with a solution.

Let $ f_a = $ analogue frequency, $ f_d $ = digital frequency, $ f_s = $ sampling rate and $ f_c = $ corner frequency with $ \omega_c = \frac{\pi f_c}{f_s} $ and $ \omega_a = \frac{\pi f_a}{f_s} $ then:

$$ c = \frac{\omega_c}{\tan(\omega_c)} $$

$$ \omega_d = \arctan\left(\frac{\omega_a}{c}\right) $$

Giving:

$$ f_d = \frac{\omega_d f_s}{\pi} $$

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.