Amplitude loss during resampling with IIR I have a problem in that I am resampling a signal and loosing amplitude. The steps I do are the following, in c++:


Upsample/interpolate signal by 16x by padding with zeros.
Run an IIR Bessel 2nd order low pass filter with cutoff frequency of downsampler.
Downsample/decimate the signal by 13x (I take every 208th data point to achieve this).


The problem I am having is that I get a large amplitude loss after running the Bessel filter and lots of ringing. If I change the cutoff frequency of the filter to match the new sampling rate of the upsampler then I get a clean signal, as I wanted, but I still get the large loss in amplitude. I am loosing around 13x to 23x in intensity. I figure the zero padding is reducing the signal a lot. I'm really stuck on this and haven't done this type of processing before so any help is appreciated.
Try adding a gain of 16 before your low pass filter, or equivalently using a low pass filter with a passband gain of 16 instead of 1.