discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Information regarding the code(NEW)


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Information regarding the code(NEW)
Date: Wed, 15 Jun 2005 09:34:37 -0700
User-agent: Mutt/1.5.6i

On Wed, Jun 15, 2005 at 12:16:07PM -0000, shweta  vishwakarma wrote:

>  10. What is usrp.sink_c(0, usrp_interp) ? What it does? How to set
>  its parameters? What are the dependencies of this function?

This create a usrp "sink".  That is, a signal processing block that
can accept samples from the rest of GNU Radio.  This is how you talk
to the transmit part of the USRP.  

As I've said in earlier emails, please take a look at
usrp/host/lib/usrp_basic.h and usrp_standard.h for the interfaces.

  0 says I want the "zeroth" USRP on the USB.

  interp is the factor by which the complex baseband samples that are
  sent into the usrp.sink_c must be interpolated to get to the
  128MS/sec that the DACs run at.  This determines the rate of samples
  sent across the USB.  USB sample rate = 128e6 / interp.

>  11. What is sink.set_tx_freq(0, usrp_duc) What it does? What is
>  the minimum and maximum range of the freq.?

   From usrp_standard.h:

  /*!
   * \brief set the frequency of the digital up converter.
   *
   * \p channel must be in the range [0,1].  \p freq is the center
   * frequency in Hz.  It must be in the range [-44M, 44M].
   * The frequency specified is quantized.  Use tx_freq to retrieve
   * the actual value used.
   */
  virtual bool set_tx_freq (int channel, double freq);  // chan: [0,1]


>  12. What is sink.tx_freq(0) ? What it does? What is the freq range
>  that we have to sent? What are the parameters to be passed?

   See comment above.

>  13.  What is sink.sat_channels(1) ? What it does? Can we set 2 or
>  more channels at a time? Any dependencies on this? What are the
>  dependent channels on this if we are using 2 or more channels?

  /*!
   * \brief Set number of active channels.  \p nchannels must be 1 or 2.
   *
   * The final complex sample rate across the USB is
   *   dac_freq () / decim_rate () * nchannels ()
   */
  bool set_nchannels  (int nchannels);


>  14. What is sink.set_mux(0x98) ? What it does? How can we set the
>  multiplexer? How can we decide this value? How can we set the mux
>  for Tx and Rx for 2 channels?

There is a different mux for the Tx and Rx paths.  See usrp_standard.h
This is for the output (sink) mux:

  /*!
   * \brief Set output mux configuration.
   *
   * <pre>
   *     3                   2                   1                       
   *   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
   *  +-------------------------------+-------+-------+-------+-------+
   *  |                               | DAC3  | DAC2  | DAC1  |  DAC0 |
   *  +-------------------------------+-------+-------+-------+-------+
   * 
   *  There are two interpolators with complex inputs and outputs.
   *  There are four DACs.
   * 
   *  Each 4-bit DACx field specifies the source for the DAC and
   *  whether or not that DAC is enabled.  Each subfield is coded
   *  like this: 
   * 
   *     3 2 1 0
   *    +-+-----+
   *    |E|  N  |
   *    +-+-----+
   * 
   *  Where E is set if the DAC is enabled, and N specifies which
   *  interpolator output is connected to this DAC.
   * 
   *   N   which interp output
   *  ---  -------------------
   *   0   chan 0 I
   *   1   chan 0 Q
   *   2   chan 1 I
   *   3   chan 1 Q
   * </pre>
   */
  bool set_mux  (int mux);






reply via email to

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