Need for explanation of blocks in gnuradio

Hi everyone,

        Can anybody explain me what are the functions of frequency

xlating block and wbfm receive pll block.I searched lot of web pages but
couldn’t find any proper documentation on it.

Thanks in advance
Sandhya

Hi Marcus

          Thanks for the explanation.It really helped me

Thanks and regards
Sandhya

Hi Sandhya,

the official documentation for the frequency xlating fir filter
(http://gnuradio.org/doc/doxygen/classgr_1_1filter_1_1freq__xlating__fir__filter__ccc.html)
says:

FIR filter combined with frequency translation with gr_complex input,
gr_complex output and gr_complex taps.

This class efficiently combines a frequency translation (typically “down
conversion”) with a FIR filter (typically low-pass) and decimation. It
is ideally suited for a “channel selection filter” and can be
efficiently used to select and decimate a narrow band signal out of wide
bandwidth input.

Uses a single input array to produce a single output array. Additional
inputs and/or outputs are ignored.

And that’s exactly what it does: It takes coefficients of a FIR filter,
and applies them to the signal, simultaneously shifting its frequency.
As far as I remember, it does that by dynamically updating the taps by
multiplying them with a complex sinusoid of the negative desired shift
frequency. These taps are then applied to the signal, before that get’s
shifted by the shift frequency. There is a discussion going on on the
sign of the exponent, so look for Achilleas recent posts with the title
“Bug in freq_xlating_fir_filter_XXX”.
However, best explanation is probably the source code, if you’re not
content with the documentation. Enhancing documentation is always
welcome! See gr-filter/lib/freq_xlating_fir_filter_XXX_impl.cc.t and
gr-filter/lib/freq_xlating_fir_filter_XXX_impl.h.t; nothing overly
complex.

Regarding to WBFM receive: You’re right, documentation is sparse here.
Strangely, the class itself (analog.wfm_rcv_pll) does not even show up
in the current sphinx documentation. So there’s only the sources left to
consult:
gr-analog/python/analog/wfm_rcv_pll.py. Luckily, there’s a lot of
comments in the code, so maybe that will help you understand what’s
going on internally (so what really making that thing decode stereo
radio :wink: ).

Hope I was a bit helpful today,
Marcus