discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Re: usrp1 harmonic issue


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Re: usrp1 harmonic issue
Date: Mon, 30 Mar 2009 22:43:01 -0700
User-agent: Mutt/1.5.18 (2008-05-17)

On Mon, Mar 30, 2009 at 09:58:53AM +0000, feldmaus wrote:
> feldmaus <feldmann_markus <at> gmx.de> writes:
> 
> > Is there any example which corrects the dc offset ?
> > So that we see, which commands are up to date.
> 
> I think we have first to calculate the dc offset?
> And the to adjust ?
> 
> To calculate the dc offset we can use:
> usrp_cal_dc_offset:
> usage: usrp_cal_dc_offset [-v] [-w which_side] [-D decim] [-c ddc_freq] [-g 
> gain]
>   [-S fusb_block_size] [-N fusb_nblocks]
> 
> And get for example this:
>   1715545 :    172                2597454 :    260
> 
> Which is side A and which one is side B ?
> The '-w' parameter doesn't change anything, so how to use this correctly ?
> 
> To adjust the dc offset we can use:
> set_dc_offset_cl_enable(self, int bits, int mask)
>        OR
> set_adc_offset(self, int which_adc, int offset)
> 
> Can somebody please explain the different between these both functions ?
> Which one should we use to adjust the offset ?
> 
> Regards Markus


A quick look at usrp_basic.h reveals:

  /*!
   * \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);


  /*!
   * \brief Set ADC offset correction
   * \param which       which ADC[0,3]: 0 = RX_A I, 1 = RX_A Q...
   * \param offset      16-bit value to subtract from raw ADC input.
   */
  bool set_adc_offset (int which_adc, int offset);



As it says above, "By default the control loop is enabled on all ADC's."
You should leave it that way, with the possible exception of when
using the LF RX daughterboard.

Eric




reply via email to

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