discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] LFRX not picking up close to DC


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] LFRX not picking up close to DC
Date: Wed, 29 Oct 2008 03:55:20 -0700
User-agent: Mutt/1.5.17 (2007-11-01)

On Wed, Oct 29, 2008 at 03:41:19AM -0700, Karthik Vijayraghavan wrote:
> I am trying to use the LFRX daughterboard to record very low frequency
> signals in the range of ~DC to about 10Hz. To test this I hooked up a
> function generator to the USRP with an output impedance of 50 ohm. Since I
> wanted to get 4 channels simultaneously I loaded the "std_4rx_0tx.rbf" image
> and looked at the signals after recording to a file. The daughterboard seems
> to be having a DC blocking behaviour where the amplitude of received signals
> decreases with lower frequencies. My rx gain is set to 0 and Vin = 1Vpp with
> 0 DC offset. At 10Hz I get an amplitude of 400 from the ADC. At 1 Hz it
> drops to 40 and I get nothing at DC. I have tried fiddling around with the
> gain, but it doesn't help much.
> 
> This seems to be weird behaviour since the LFRX is supposed to work upto DC.
> Am I missing something? I have read all the previous posts on this issue and
> they weren't helpful for my problem. Any hints/directions would be greatly
> appreciated. I have spent quite a bit of time on this can't figure out the
> problem.
> 
> Karthik

Karthik, 

you'll want to turn off the ADC dc offset correction loop
that's running in the FPGA.  (From usrp_basic.h)

  /*!
   * \brief Enable/disable automatic DC offset removal control loop in FPGA
   *
   * \param bits  which control loops to enable
   * \param mask  which \p bits to pay attention to
   *
   * If the corresponding bit is set, enable the automatic DC
   * offset correction control loop.
   *
   * <pre>
   * The 4 low bits are significant:
   *
   *   ADC0 = (1 << 0)
   *   ADC1 = (1 << 1)
   *   ADC2 = (1 << 2)
   *   ADC3 = (1 << 3)
   * </pre>
   *
   * By default the control loop is enabled on all ADC's.
   */
  bool set_dc_offset_cl_enable(int bits, int mask);


In python, it's a method of usrp_source_*.

Eric




reply via email to

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