[Top][All Lists]

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

Re: [Discuss-gnuradio] byte-wide ADC transfers

From: Clark Pope
Subject: Re: [Discuss-gnuradio] byte-wide ADC transfers
Date: Sun, 19 Feb 2006 11:47:46 -0500

----Original Message Follows----
From: Eric Blossom <address@hidden>
To: Clark Pope <address@hidden>
CC: address@hidden
Subject: Re: [Discuss-gnuradio] byte-wide ADC transfers
Date: Sat, 18 Feb 2006 16:03:08 -0800

On Sat, Feb 18, 2006 at 06:10:41PM -0500, Clark Pope wrote:
> In rx_buffer.v I see the 8-bit transfer mode but it only seems to me that
> it allows doubling the number of channels transferred not doubling the rate
> on the two channels? I want to get 16 MHz bandwidth into my PC. I am able
> to run 8 MHz, 16-bit I/Q fine in usrp_fft.py so I figured I should be able > to do 16 Mhz, 8-bit I/Q since it is the same byte rate over USB but I still
> can't get it to work.

> seems to me that selecting 8-bit sends Ch0-3 whereas 16-bit sends Ch0-1?

Please look at the *current* code.  You are misunderstanding what it's
doing.  Both modes are capable of sending [ch0, ch7] across the bus.  The
even channels are the I outputs of the DDCs, the odd channels are the
Q outputs.

> I still haven't tracked down why the make_format isn't showing up either,
> btw.

You do not have the current usrp code.  I can tell this from the
verilog you posted.  Please updated usrp and gr-usrp from CVS.

The current implementation of the halfband filter in the FPGA requires
8 clocks to process the 31 taps.  This works fine with decimation 8 or
higher.  To run at decimation 4, you'll need to use a build of the
FPGA that does not contain the halfband filter, or you'll need to
reimplement the halfband, such that it uses two multipliers instead of
one.  In addition to the standard 2 Rx (with halfband) 2 Tx build, the
*current* code contains an FPGA image with 4 rx paths (without the
halfband) and with 0 transmit paths.  It's not installed by default.
You can manually copy it from usrp/fpga/rbf/usrp_std_4rx_0tx.rbf.r2 to

Using that rbf file and this command (all from current CVS):

 $ ./usrp_fft.py -f 100.1M -8 -d 4

produced the attached screenshot.  Note that it is 16 MHz wide.
I was using the TV_RX daughterboard, which contains an approximately
6 MHz wide SAW filter, hence there's not much outside of +/- 3 MHz.


<< fft-16MHz-wide.png >>

Okay, I went and blew away gnuradio-core, usrp, and gr-usrp and reinstalled from CVS. I WAS able to get the usrp_fft.py to do 16 Mhz wide by loading the std_4rx_0tx.rbf file. However, it still doesn't know where make_format is.

Even in python if I:
from gnuradio import usrp

I get:
AttributeError: 'usrp1_source_c_sptr' object has no attribute 'make_format'

At this point it doesn't matter because I can hard code the format, but I just wanted to explain that:

1. I have been using the latest CVS source
2. The reason 16Mhz hasn't been working is because I was loading an FPGA with the halfband
3. The make_format problem seems to be unrelated


FREE pop-up blocking with the new MSN Toolbar – get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/

reply via email to

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