I'm trying MIM (Magnitude Invariance Method) and PIM (Phase Invariance Method) for to improve biquad LPF response at low sampling rates. I'm looking some help and examples of usage if available.

EDIT_1: I tried MIM method for 2nd order



Peak filter 

Here are the resulting plots:

enter image description here enter image description here

Responses looks promising.

Example code (LPF):

% Analog model for LP filter:
  fs = 44100;
  fc = 10000;
  Q  = 0.707; 

  w0 = 2 * pi * fc;
  b2 = w0^2;
  a2 = [1 w0/Q w0^2];
  Ds = tf(a2, b2);

% Calculate coefficients using MIM
[Dz] = c2dn(Ds, fs, 'mim', 2, 4096*256);

bodemag(Ds, 'r', Dz, 'b');
  • 2
    $\begingroup$ What is MIM? PIM? What have you tried to implement? $\endgroup$
    – Peter K.
    Commented Jul 10, 2016 at 16:39
  • 1
    $\begingroup$ Matlab and Octave are very similar. Just try running the code and ask about errors on StackOverflow. $\endgroup$
    – Peter K.
    Commented Jul 14, 2016 at 12:08
  • $\begingroup$ Sorry! I've been traveling. Can you post your solution as an answer here? Thanks! $\endgroup$
    – Peter K.
    Commented Jul 17, 2016 at 8:40

1 Answer 1


2nd order MIM LPF results looks great for selected cutoff frequency (fs = 44.1kHz) as seen in plot (frequency range upto 23873Hz):

enter image description here

Coefficients for plotted 2nd order filter:

a [0.437417389844334 0.1220119196463959 -0.04071587087954469]
b [1 -0.6951293456643256 0.2138427842755107]


It looks like there are some problems in magnitude response when fs is increased and/or when fc is reduced. MIM/PIM paper mentions this as an issue.

So, it looks like MIM can be used for to improve 2nd order LPF magnitude response especially when using low fs and high enough fc. Magnitude issues can be bypassed by using higher order filters. Fortunately MIM method works correctly for my purposes.

EDIT: First and the second D(s) given in paper examples are wrong. The correct ones are (5s + 2) and (s + 10) / (s^2 + 4.1s + 0.4). With those all the MIM calculations become right. The third example (PIM) was correct.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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