Offset Problem with UHD and USRP LFTX

Hello all,

I have an older version of gnuradio (pre 3.6.2) on one of my laptops.
When I run a simple script I made in GRC which has a USRP source block
and a WAV file sink block it seems to work fine. With nothing connected
on the LFRX RF connectors, I get a signal with basically 0 amplitude
with 0dB and 10dB gain. This version uses the USRP source block.

On my other laptop I have the newest version of GnuRadio. I made the
same exact script using the UHD source block in GRC. When I run this
script with the same exact hardware and nothing connected on the RF
connector, I get a DC offset in the recorded signal. For 0dB gain, I get
basically 0 amplitude, but for 10dB gain I get about -0.05, and for 15dB
gain I get about -0.15. This is on a +1/-1 scale.

The settings on the USRP source block and the UHD source block in the
newer GRC version are the same. The difference is there are a couple of
extra parameters in the new UHD block that I just leave as default (for
instance the bandwidth, etc). Is there a reason I am seeing this offset
with the newer version which uses the UHD block? I’m wondering if I need
to specify additional parameters in order to make it act like the USRP
source block from the older version?

Thank you,

Tom.

The settings on the USRP source block and the UHD source block in the
newer GRC version are the same. The difference is there are a couple
of extra parameters in the new UHD block that I just leave as default
(for instance the bandwidth, etc). Is there a reason I am seeing
this offset with the newer version which uses the UHD block? I’m
wondering if I need to specify additional parameters in order to make
it act like the USRP source block from the older version?

Hi Tom,

There was a recent change to disable automatic DC offset correction on
the LFRX board since it seemed to give a lot of folks a hard time. In
any case, I think merits a GRC options for the offset correction.

In the meantime try adding my_usrp_souce.set_auto_dc_offset(True) to the
generated python code. Does that work for you?
http://gnuradio.org/cgit/gnuradio.git/tree/gr-uhd/include/gr_uhd_usrp_source.h#n302

I suppose that you could do the equivalent operation (of what the FPGA
is doing) in software with a subtract block and an average block with a
nice long averaging time. :slight_smile:

-josh