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.