On Thu, Jan 06, 2005 at 05:37:53PM -0500, Achilleas Anastasopoulos wrote:
Dear all,
I am looking at the FM demodulator example
provided in the gnuradio examples (in the mc4020 directory)
and I have a question on the
the design parameters of the filter used to separate one
FM station before demodulating:
the sampling frequency is 20 Msps
the desired station is centered at 5.75 MHz
the designed filter (lowpass version)
has a cutoff frequency at 250 KHz
and a transition band of 800KHz
The signal is filtered and IQ demodulated and then
decimated by a factor of 125.
It seems that this filter is too wide:
an adjacent FM station (at 5.75 MHz + 200 KHz)
is not attenuated at all and its spectrum (after decimation)
is folded on the desired station spectrum.
This is clearly seen in the simple example I attach.
What am I missing here?
Nothing. It is too wide, but it works (mostly).
The windowed filter design routine generates a lot of taps, and it
gets too expensive if we use the "right spec". It's probably worth
using the Parks McClellan code to build a better filter and see how
many taps you end up with.
If you look at the USRP examples (these may only be in CVS) they have
the right width and sound much better. They're doing the channel
selection and downconversion in the FPGA, passing a 256kS/s complex
signal across the USB for each FM station.
Take a look at gnuradio-examples/python/usrp1/{wfm_rcv.py,wfm_rcv_many.py}
Eric