0
$\begingroup$

Is there a way to get IIR coefficients that only amplify a signal, nothing more? I suppose some phase shifting would be ok as well as long as it's not too noticeable.

Background: I am using a MiniDSP board and I'm attempting to use the filter section as a level booster to drive the sound into a compressor downstream. The MiniDSP allows you to type in whatever filter coefficients you want in the EQ section.

$\endgroup$
2
  • 2
    $\begingroup$ Set b0 to whatever gain you want. Set b1, b2, a1, a2 to 0. $\endgroup$
    – Ben
    Apr 29 '20 at 19:43
  • 1
    $\begingroup$ @Ben that should be an answer. Also please point out that scaling the coefficients of any other, already used, filter would do, too. $\endgroup$ Apr 29 '20 at 19:46
4
$\begingroup$

I will assume that your IIR filter is an order-2 biquad. But the reasoning remains the same if the implementation is different.

Original filter : $H(z) = \frac{b_0+b_1\cdot z^{-1}+b\cdot z^{-2}}{1 + a_1\cdot z^{-1} + a_2\cdot z^{-2}}$

If you want to boost your signal by G

$H_G(z) = G\frac{b_0+b_1\cdot z^{-1}+b_2\cdot z^{-2}}{1 + a_1\cdot z^{-1} + a_2\cdot z^{-2}}$

simply distribute G to the numerator

$H_G(z) = \frac{G\cdot b_0+G\cdot b_1\cdot z^{-1}+G\cdot b_2\cdot z^{-2}}{1 + a_1\cdot z^{-1} + a_2\cdot z^{-2}}$

Simply multiply your b0-b2 coefficients by G.

In the case where you simply want to boost the signal without filering it at all. Set $b_0$ to $G$, $b_1$, $b_2$ to $0$, as well as $a_1$ and $a_2$ to 0.

$\endgroup$
1
  • 1
    $\begingroup$ upvoted (replaced all the $*$ with $\cdot$ to avoid confusion with convolution). Nice work! Thanks! $\endgroup$ Apr 29 '20 at 22:40
2
$\begingroup$

Example:

% Octave packages -------------------------------
pkg load signal

GdB = 6.0; % gain in dB
gain = 10^(GdB/20); % convert

a = 1;
b = gain;

CB = tf(b, a, 1);

figure(1);

bode(CB,'b');
grid on;

enter image description here

If you need to use biquad type filter then just set those other coefficients to 0. Example: b 0 0 1 0 0 (IIRC, MiniDSP had some other ordering ...?).

$\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.