4x RX chains on USRP1 with DBSRX2

Hi,

I’m wondering whether it’s possible/how to use a USRP1 with 2x DBSRX
boards
to generate 4 separate streams via the 4rx usrp1 firmware. The required
channels will be within the front end bandwidth of the DBSRX2.

At the moment I’m using a subdev spec of ‘A:0 A:0 B:0 B:0’ which I
assume
runs the signal from subdev A through RX chains 0 and 1, and subdev B
through 2 and 3. Is this correct?

I am planning to set each daughter board to a frequency between its two
frequencies of interest, then I’d like the DDCs to downconvert the data
from the ADC independently to sit the two frequencies of interest in the
centre of their respective baseband channels out of the USB bus. So can
I
change the DDC frequencies independently of the centre frequency in the
daughterboard? Also what is the resolution of the DDS in the DDC, i.e.
can
I tune each one independently in ~1Hz steps?

Sorry if this has been asked before, I’ve been searching Google and the
email lists all day and have not yet found an answer!

Thanks,

John

On 02/12/2013 12:10 PM, John W. wrote:

Hi,

I’m wondering whether it’s possible/how to use a USRP1 with 2x DBSRX boards
to generate 4 separate streams via the 4rx usrp1 firmware. The required
channels will be within the front end bandwidth of the DBSRX2.

At the moment I’m using a subdev spec of ‘A:0 A:0 B:0 B:0’ which I assume
runs the signal from subdev A through RX chains 0 and 1, and subdev B
through 2 and 3. Is this correct?

That seems correct.

I am planning to set each daughter board to a frequency between its two
frequencies of interest, then I’d like the DDCs to downconvert the data
from the ADC independently to sit the two frequencies of interest in the
centre of their respective baseband channels out of the USB bus. So can I
change the DDC frequencies independently of the centre frequency in the

You will want a tune_request object where the rf_freq is set to the
desired center frequency of the DBSRX (something in between that each
CORDIC can shift away from). And set the rf freq policy to manual.

There are some examples of making the tune request in the grc block for
usrp source properties dialog box.

daughterboard? Also what is the resolution of the DDS in the DDC, i.e. can
I tune each one independently in ~1Hz steps?

The CORDIC resolution is pretty much 64e6/(1<<32), so sub Hz.

-josh

through 2 and 3. Is this correct?

Also, will he need to use the 4rx FPGA image, or will UHD automagically
use the right image?


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org

On 02/12/2013 04:03 PM, Marcus D. Leech wrote:

assume
You will want a tune_request object where the rf_freq is set to the
The CORDIC resolution is pretty much 64e6/(1<<32), so sub Hz.

-josh

Also, will he need to use the 4rx FPGA image, or will UHD automagically
use the right image?

Its an args option, exact example here:
http://files.ettus.com/uhd_docs/manual/html/usrp1.html#specify-a-non-standard-image

-josh

On 13 Feb 2013 12:51, John W. wrote:

Hi guys,

Another
quick (couple of) question(s);

  • The DBSRX2 has a programmable
    channel filter 1-60 MHz. Is the firmware clever enough to know to
    increase this bandwidth when I’m reading two separate frequencies, or is
    there a chance that it will ruin my day by centering a too-narrow filter
    around what I set as rf_freq?
  • Does GNU radio provide an interface to
    manually change the daughterboard channel filter?

Cheers,

John

In GRC, if you use the “bandwidth” parameter when creating the
source, it will set the closest settable bandwidth, if the card has
settable bandwidth.

The DBSRX2 has settable bandwidth, so you should
set it manually to something appropriate based on your channel spacing.

Cool thanks, I guess that’s exposed in the Python scripts by
usrp_source.set_bandwidth then?

John

Yes.

I often find that it’s useful to put together a flow-graph in
GRC to get the parameter settings where I want them, then inspect the
generated python to get some clue…

On 13 Feb 2013 15:52, John W.
wrote:

Cool thanks, I guess that’s exposed in the Python scripts by
usrp_source.set_bandwidth then?

Hi guys,

Another quick (couple of) question(s);

  • The DBSRX2 has a programmable channel filter 1-60 MHz. Is the
    firmware
    clever enough to know to increase this bandwidth when I’m reading two
    separate frequencies, or is there a chance that it will ruin my day by
    centering a too-narrow filter around what I set as rf_freq?
  • Does GNU radio provide an interface to manually change the
    daughterboard
    channel filter?

Cheers,

John

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs