[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: 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 

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

reply via email to

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