[Top][All Lists]

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

[Discuss-gnuradio] OFDM Benchmark Tx Issue?

From: Michael Dickens
Subject: [Discuss-gnuradio] OFDM Benchmark Tx Issue?
Date: Sun, 19 Feb 2012 14:38:52 -0500

I've been playing with the gr-digital OFDM benchmark, Tx -> Rx, and have an odd 
issue that seems to be coming from within GNU Radio itself, not UHD.  My setup 
is:  Mac OS X 10.6.8, latest UHD and GNU Radio from their respective GIT 
masters, XCode 3.2.3 (gcc 4.2.1).  I'm using 2 USRP1's, each with an XCVR2450 
(in slot A, using antenna J1), connected to my MacBook Pro (via USB 2.0).  
'uhd_usrp_probe' and 'uhd_find_devices' both work correctly in finding and 
identifying both USRP1's.  'uhd_fft.py' seems to work

After installing GNU Radio into /usr/local, if I do in one terminal (or, the 
equivalent in GRC), with XXX correct:

pushd /usr/local/share/gnuradio/examples/digital/ofdm
./benchmark_rx.py -a serial=XXX --spec A:0 -A J1 -f 5e+9 --snr 10

and in another (or, the equivalent in GRC), with YYY correct:

pushd /usr/local/share/gnuradio/examples/digital/ofdm
./benchmark_tx.py -a serial=YYY --spec A:0 -A J1 -f 5e+9

The Rx side shows nothing at all.  So, I then used 'uhd_fft.py' to view the 
spectrum, and it looks like the Tx (or, Rx) is off by quite a bit -- high by ~1 
MHz.  So, correcting via:

./benchmark_tx.py -a serial=YYY --spec A:0 -A J1 -f 4.999e+9

works quite well, with most of the packets being Rx'd correctly.  I've verified 
that swapping XXX and YYY has the same results, so it doesn't seem to matter 
which is doing Rx and which Tx.

I then created my own program in C/C++ to do a Tx using the UHD library, making 
a multi-usrp and setting its various parameters as per the above CLIs, then 
transmitting a real (complex part all 0) sinusoid of a known frequency, and it 
displays (using 'uhd_fft.py') correctly centered just off 5 GHz (like, maybe 1 
kHz off, which is within device tolerance).

I've looked through the benchmark's codes (mostly the Python parts, but also 
some of the blocks in C++), and nothing pops out as an obvious issue.  I tried 
"rm -rf" in /usr/local and my build directories (UHD and GNU Radio), then 
rebuilding and reinstalling both UHD and GNU Radio, but with the same results.

Can anyone tell me what I'm not doing correctly, or suggest further tests to 
track down the issue?

I highly suspect it's user error :) but I'm truly at a loss right now as to the 

Thanks! - MLD

reply via email to

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