discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] DC Blocker GNU Radio


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] DC Blocker GNU Radio
Date: Sat, 17 Dec 2016 16:50:49 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

Hi Paplo,

a recommendation first: Don't use Nabble to access the mailing list; instead, sign up directly to the list on
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio , because that makes it much easier for you to follow discussions here. Modern Mail clients (e.g. GMail's web interface) make it pretty easy to sort mailing list mails.

Anyway, the DC blocker, as documented at [1][2], just uses a cascade of four or two moving averages to calculate the DC component, and then subtract it from the signal[3]. These are not reset – but really that, moving, continuous averages; the 1024 is just the length of that average

Personally: Not my favourite block in that while it does what it should, it's always kind of hard for me to remember what it does exactly if you really care about that mathematically. Also, it's meant to make DC removal very computational efficient - still, it's one of the few blocks that we haven't converted to use hand-optimized vector operations [4]. So, you might as well first think about how much of the frequency range around DC your want to remove, and where you can afford to lose actual signal – the DC blocker is really just another high-pass filter, and hence isn't perfect, either (that'd be mathematically impossible, anyway).

Another popular trick is to tune with an offset if your signal bandwidth allows that – moving the DC spike out of your signal right from the start and then using a frequency xlating FIR filter to get the signal you want to exactly 0Hz.

Best regards,
Marcus

[1] http://gnuradio.org/doc/doxygen/classgr_1_1filter_1_1dc__blocker__cc.html
[2] R. Yates, "DC Blocker Algorithms," IEEE Signal Processing Magazine, Mar. 2008, pp 132-134. , http://www.ingelec.uns.edu.ar/pds2803/materiales/articulos/04472252.pdf
[3] https://github.com/gnuradio/gnuradio/blob/master/gr-filter/lib/dc_blocker_ff_impl.cc#L70
[4] http://libvolk.org

On 17.12.2016 14:57, adrianapa wrote:
Hi all,

I would like to know if the RF block removes the DC component (example:
length 1024) every 1024 or takes into account past items? For example:

first time 1-1024 
second time 1025-2048 or 1-2048

I am using this block to remove de DC component of my BladeRF.

I am new in GNU Radio any help is welcome. Thank you!

Regards,

Pablo



--
View this message in context: http://gnuradio.4.n7.nabble.com/DC-Blocker-GNU-Radio-tp62320.html
Sent from the GnuRadio mailing list archive at Nabble.com.

_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

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