I have the impulse response (from the filter coefficients) of an FIR filter obtained from MATLAB's "interp" function using the command: [y, b] = interp(x, 5); % where b contains the interpolation filter coefficients. When I plot the magnitude response of this filter using "freqz" in MATLAB, I get the following

What do those side lobes between 0.5 and 0.7 (x pi rad/sample) and 0.9 and 1 (x pi rad/sample) mean for my FIR filter? Why are they there?

  • 3
    $\begingroup$ because your design put them here. We don't know how you've designed this, but that's the reason. $\endgroup$ Jul 18, 2019 at 21:12
  • $\begingroup$ The filter coeffs I used were the coeffs returned by the MATLAB function "interp". This function is supposed to design a low pass filter to filter the interpolated signal but I don't understand why it has these extra side lobes apart from the main pass band. $\endgroup$ Jul 18, 2019 at 22:19
  • $\begingroup$ that would be critical information that should be in your question. Also, how exactly you called that function. $\endgroup$ Jul 19, 2019 at 8:51
  • $\begingroup$ Thanks for the input! I edited my question. $\endgroup$ Jul 19, 2019 at 18:23

1 Answer 1


The filter is optimized to suppress signal components in the frequency ranges where the side lobes are low. The high side lobes in are just a consequence of optimizing the stopband suppression in those other frequency bands, where aliasing components are expected. The regions with high side lobes are basically "don't care" regions. If you wanted to increase stopband attenuation there, the stopband attenuation in the other - more important - regions would be decreased.


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.