# Removing DC Bias

**URL:** <https://discourse.myriadrf.org/t/removing-dc-bias/1090>\
**Category:** LimeSDR\
**Created:** [8 April 2017 04:27 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090 "2017-04-08T04:27:34Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![brian-armstrong](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@brian-armstrong](https://discourse.myriadrf.org/u/brian-armstrong)\
**Post date:** [8 April 2017 04:27 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090/1 "2017-04-08T04:27:34Z")

</div>

Hi,

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 [http://i.imgur.com/4KhEPOK.png](http://i.imgur.com/4KhEPOK.png)

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.

Thanks!  
Brian

---

<div class="post-metadata">

**Author:** ![Kc7noa](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/kc7noa/32/144_2.png) [@Kc7noa](https://discourse.myriadrf.org/u/Kc7noa)\
**Post date:** [8 April 2017 16:52 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090/2 "2017-04-08T16:52:53Z")

</div>

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 ?

---

<div class="post-metadata">

**Author:** ![Kc7noa](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/kc7noa/32/144_2.png) [@Kc7noa](https://discourse.myriadrf.org/u/Kc7noa)\
**Post date:** [8 April 2017 16:54 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090/3 "2017-04-08T16:54:25Z")

</div>

> [@brian-armstrong](#):
>
> calibration from the LimeSDR Suite

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

---

<div class="post-metadata">

**Author:** ![brian-armstrong](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@brian-armstrong](https://discourse.myriadrf.org/u/brian-armstrong)\
**Post date:** [9 April 2017 04:57 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090/4 "2017-04-09T04:57:44Z")

</div>

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 [http://i.imgur.com/YHXSFk5.png](http://i.imgur.com/YHXSFk5.png)  
-5MHz LNB LO [http://i.imgur.com/9SgSoUy.png](http://i.imgur.com/9SgSoUy.png)  
Moving tuner around [http://i.imgur.com/HXpqNFK.png](http://i.imgur.com/HXpqNFK.png)

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

---

<div class="post-metadata">

**Author:** ![brian-armstrong](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@brian-armstrong](https://discourse.myriadrf.org/u/brian-armstrong)\
**Post date:** [9 April 2017 05:07 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090/5 "2017-04-09T05:07:52Z")

</div>

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 [http://i.imgur.com/shotERI.png](http://i.imgur.com/shotERI.png)

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?

---

<div class="post-metadata">

**Author:** ![Kc7noa](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/kc7noa/32/144_2.png) [@Kc7noa](https://discourse.myriadrf.org/u/Kc7noa)\
**Post date:** [9 April 2017 05:23 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090/6 "2017-04-09T05:23:40Z")

</div>

Not sure …

LimeSuiteCalibrate --freqStart 500000 --freqStop 3800000000

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

---

<div class="post-metadata">

**Author:** ![Kc7noa](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/kc7noa/32/144_2.png) [@Kc7noa](https://discourse.myriadrf.org/u/Kc7noa)\
**Post date:** [9 April 2017 05:25 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090/7 "2017-04-09T05:25:57Z")

</div>

> [@brian-armstrong](#):
>
> I have only tried using the Limesuite tool [http://i.imgur.com/shotERI.png](http://i.imgur.com/shotERI.png)

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 …

---

<div class="post-metadata">

**Author:** ![brian-armstrong](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@brian-armstrong](https://discourse.myriadrf.org/u/brian-armstrong)\
**Post date:** [9 April 2017 06:04 UTC](https://discourse.myriadrf.org/t/removing-dc-bias/1090/8 "2017-04-09T06:04:22Z")

</div>

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 ☹
