I am trying to understand the following:

Consider a system implementing a rational sampling rate change by $\frac{5}{7}$: for this, we cascade upsampler by 5, a lowpass filter with cutoff frequency $\frac{\pi}{7}$ and a downsampler by 7. The lowpass filter is a 4th order Butterworth filter with transfer function

$$ H(z) = \frac{b_0 + b_1 z^{-1} + b_2 z^{-2} + b_3 z^{-3} + b_4 z^{-4}}{1 - a_1 z^{-1} - a_2 z^{-2} - a_3 z^{-3} - a_4 z^{-4}} $$

Assume that the input works at a rate of 1000 samples per second. What is the number of multiplications per second required by the system? Assume that multiplications by zero do not count and round the number of operations to the nearest integer.

I would like to know how to approach this problem and get a general idea. I am taking an online course on my own and there is very little reference material, so I was trying to figure out a good way to approach this problem, but I am stuck with the logic behind it.


That depends a fair bit on how exactly you implement the conversion but if you follow the textbook approach it would probably look like this:

  1. The generic order of sampling rate change is "upsample", "filter", "downsample".
  2. That means that you need to run the filter at the upsampled rate, i.e 5000
  3. Your IIR filter has 9 non-trivial coefficients, i.e. you need to do 9 multiplies per input/output sample
  4. In total that's 9*5000 = 45000 multiplications per second.

That's a lot and that's whey rational sample rate converters often implemented as polyphase FIR filters. Using an IIR requires you to calculate all output samples of the filter although you will be throwing 6 out of 7 away.

  • $\begingroup$ But since there is upsampling with 0's in them, wouldn't it mean there are only 1000 per sample (1 original, 4 0's per sample for the 1000 samples/second). I also tried using that logic, but I believe that I am missing something, as both logic does not seem to be correct according to applying this logic. $\endgroup$
    – qxzsilver
    Sep 1 '20 at 15:50

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.