Support for 8-bit USB samples in GRC


#1

Josh, et al:

Do you have plans to support 8-bit sample settings in the GRC USRP
objects?


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


#2

There are plans now…

Any example code would help


#3

Josh B. wrote:

svn up!

let me know if something goes wrong

Intersesting.

When I use 8-bit samples with decim=8 or higher, things are peachy.

But when I use decim=16 with 8-bits samples, I get a continuous stream
of -423dB out of the FFT Log Power sink.

I think what I’m getting is a pile of 0s from the USRP when decim=4.

Can anybody confirm that decim < 8 actually works on the USRP?


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


#4

According to this:
http://gnuradio.org/trac/browser/gnuradio/trunk/gr-usrp/apps/usrp_rx_cfile.cc#L87

if you dont like half band filters or you want to decimate by 4,
“std_4rx_0tx.rbf” is the firmware for you

-------->

so, it seems that the correct thing to do in grc would be to set this
special firmware if your desired decim is 4 and its a usrp source.

Does that make sense (to someone in the know)?

-Josh


#5

Marcus D. Leech wrote:

But when I use decim=16 with 8-bits samples, I get a continuous stream
of -423dB out of the FFT Log Power sink.

I think what I’m getting is a pile of 0s from the USRP when decim=4.

Can anybody confirm that decim < 8 actually works on the USRP?

OK, let’s try that again with my brain actually engaged.

Anything with decim=8 or higher, in 8-bit mode, produces “sensible”
samples.

Anything with decim lower than 8 (like 4) produces nonsensical results
in the Log Power FFT sink (a continuous block
of -423dB). I suspect that with decim=4, there ain’t nothing but
zeros going across the USB.

So, does decim=4 actually work on the USRP, or do I need different
firmware?


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


#6

Josh B. wrote:

special firmware if your desired decim is 4 and its a usrp source.

Does that make sense (to someone in the know)?

-Josh
That sounds like the right strategy.

For the DBS_RX (which is the card I use for radio astronomy), it has
built-in programmable low-pass filters on the I and Q
baseband outputs anyway.


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


#7

Hi,

When working with 8 bit samples, you must disable FPGA halfband filter
see (http://gnuradio.org/trac/wiki/UsrpFAQ/DDC).

To do so, the USRP (via GRC) should load the “std_4rx_0tx.rbf” image.

Best Regards,

Firas


#8

Firas A. wrote:

I have confirmed that using the “std_4rx_0tx.rbf” firmware works OK. I
tested this by patching in that firmware
into the grc_gnuradio/usrp code, but a more-general solution is
definitely called for.

Perhaps there’s should be a “firmware” parameter in the USRP source/sink
blocks.


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


#9

Perhaps there’s should be a “firmware” parameter in the USRP source/sink
blocks.

I want to avoid this if possible. If we only need to use this firmware
when decim < 8, then that can be done inside the grc usrp code… But
if someone wants to disable the halfband filters and TX when decim >=8,
i would have to actually add this option into the blocks.

So, is there a case when someone needs to disable the half band
filters… in general, in grc?

just trying to keep the simple usrp blocks -> “simple”
-Josh