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 error.
Thanks! - MLD