Downsampling in GNURadio

Hi,

I would like to downsample a signal from 390,625 Hz to *125 *Hz. *What
is
the best way to do this in GNURadio? *

Please find below some issues I am having with this.

First, I used the Low Pass Filter block, in GNURadio, I set my
Decimation
to 3125, my Cutoff Freq to 125/2. But I am not sure about the
recommended
value for the Transition Width parameter
?

On another note, to obtain accurate results for downsampling in Matlab
(and
for DSP generally) it is often recommended to split the big decimation
factor into a cascade of smaller ones. If I was to do the downsampling
from
390625 to 125 Hz in Matlab I would do something like 55555 (i.e.,
five
separate downsamplers). How to optimally do this in GNURadio? By
‘optimally’ I mean with less computational resources given that I need
to
do this for multiple channels simultaneously.

Finally, in another experiment for testing downsampling in GNURadio, I
tried to use the Rational Resampler block with the default settings.
However, my results were aliased. I think Low-Pass Filtering is not
included in the Rational Resampler by default. Is this right? *How do
I
enable the low-pass filer? *and

what kind of filter is recommended?
Thanks in advance for your help.

Best regards,
Khalid

Hi Khalid,

if you happen to do the same filter for a larger set of subbands, look
into the polyphase filters:

The question which method is the computationally best cannot be answered
universally; in essence: go ahead and try.
This is a really large sampling rate factor, so I assume a direct FIR
filter will have a shipload of taps. You can try and compare the
FFT-Filter with a cascade of smaller ones.

The question of “what filter is right for me” is as scientific as it is
religious. There’s no way to know unless you know the spectrum you want
to get.

Greetings,
Marcus