Removing DC Bias


I was wondering what my options are for removing the LimeSDR’s DC offset. I’ve already run the basic receiver calibration from the LimeSDR Suite, but even still I get a strong offset, even with DC Removal turned on in GQRX.

For example, here’s my LimeSDR receiving some FM stations. The DC component appears to be stronger than any of the stations received

It would be great to reduce this. I tried saving raw I/Q from GQRX and loading it into the ATSC receiver pipeline in GNU Radio but the resulting reception had quite a lot of errors. I suspect the DC component might be the cause. I tried GNU Radio’s DC Blocker but couldn’t seem to get an error-free reception. Without the blocker, GNU Radio wouldn’t even detect that there was a station there.


Quick question … kind of a test.

With that previous setting, when changing the freq of the Lo a few Khz…

Does the DC spike move or stay on the grey line ?

What was this exactly? was it a .sh script that took 8hrs to complete?

Thanks for responding. And apologies for the newbness here but I’m not sure if you mean LNB LO in Gqrx or the “selector”. However either way it appears to be smack dab down the middle.

No LNB LO set
Moving tuner around

I’m wondering if, since the bandwidth is so wide, I should just try to fit an ATSC broadcast entirely in one side. I don’t know if GNU Radio will automatically compensate for that kind of offset, but I guess it can’t hurt to try, or maybe I can downmix in GNU Radio

No, though now looking through other threads I’ve found that script and am tempted to try it. I have only tried using the Limesuite tool

The DC offset should be quite easy to compensate for, right? Wouldn’t it just be the arithmetic average over a sufficiently large enough number of samples?

Not sure …

LimeSuiteCalibrate --freqStart 500000 --freqStop 3800000000

Is what i did … run it before going to bed …

were you able to see a fft plot and see the correction take effect?

Im still looking for a way to do a manual calibtation with a GUI, with sliders …
Something like what you can do in Quisk … because the calibration seems to not be so good above 2ghz …

Well, I tried capturing the signal entirely in the upper lobe in GQRX and then downmixing it in GNU Radio. I confirmed that it’s centered and that the DC spike is shifted off the signal. Still no good, unfortunately. I know it’s detecting it because the file writer is writing bytes, but when I play the video in the GNU Radio Video viewer, it’s just white noise, which is the same as before when I just ran the DC blocker. So it seems this might be unrelated.

This stuff is hard :frowning: