discuss-gnuradio
[Top][All Lists]
Advanced

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

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


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Need for explanation of blocks in gnuradio
Date: Thu, 10 Oct 2013 11:51:01 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0

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,
Marcus



reply via email to

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