On Fri, Jul 04, 2008 at 07:52:56AM -0700, irene159 wrote:
Decimation resampler = 3
from your rather short email I will have to guess the init code for
your resampler and the specs for your filter, but at first glance,
your spectrum does not look weird at all. Personally, I’d
choose a higher attenuation for the stop bands, but you might be content
with what you’ve got.
The pictures are not quite consistent with the data in your email (the
sampling rate in the above picture can’t be 640kS/s, or your FFT
couldn’t display ~6MHz of spectrum, perhaps it’s 6.4MHz = 6400kS/s?).
However, interpolating and decimating results in alias spectra, that’s
which you cancel out with the interpolation filter. Your filter
attenuates the aliases down by ~50dB, if that’s enough for you your done
:). In most practical applications, this would be well below noise level
anyway (unless you have really massive SNR levels).
If you want more control over the filter process, you could skip the
rational_resampler and write the resampler yourself. Unless requirements
force me otherwise, I use an FIR with 60-80dB stop band attenuation and
~1dB ripple, depending on how many taps I can afford. Your filter must
not allow frequencies beyond 1/2 the final sampling rate, which means it
must filter out everything above 1/6th the sampling rate after the
interpolator. Designing the filter yourself also has the advantage that
you can use knowledge of your signal to allow a wider transition band,
thus resulting in less taps. And you can use other tools to calculate
your filter taps - the last time I checked, equiripple filter design was
not available in GNU Radio (please correct me someone if I’m wrong).
I hope this was helpful. Regards,
Institut fuer Nachrichtentechnik