[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Need for explanation of blocks in gnuradio

From: Sandhya G
Subject: Re: [Discuss-gnuradio] Need for explanation of blocks in gnuradio
Date: Thu, 10 Oct 2013 15:27:53 +0530

Hi Marcus 

              Thanks for the explanation.It really helped me 

Thanks and regards

On Thu, Oct 10, 2013 at 3:21 PM, Marcus Müller <address@hidden> wrote:
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 ;) ).

Hope I was a bit helpful today,

Discuss-gnuradio mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]