OFDM modulation/demodulation over USRP2


I’m using Ubuntu 9.10, gnuradio version 3.2.2 and two USRP2 boards
with XCVR2450 daughter boards. The boards are about a meter apart from
each other.

I’m trying to get OFDM working over USRP2 boards and for that I’m
using GRC. I created a simple local loop (without USRPs):
signal_source->modulation->channel_model->demodulation->scope_sink. In
this case OFDM modulation/demodulation works fine. However, when I
split the loop into a sender signal_source->modulation->usrp2_sink and
a receiver: usrp2_src->demodulation->scope_sink the decoding does not
work, i.e. I don’t get any output on the scope_sink. Although, FFT of
the usrp2_src output looks exactly like what OFDM should look like.
I’m pretty sure that the error is connected to OFDM as I got this
transmitter/receiver pair working with GMSK, for example.

I also tried the examples in
gnuradio-3.2.2/gnuradio-examples/python/ofdm which I had to tweak a
bit in order to get them using USRP2, but I got the same results:
there is an OFDM-like signal in the air, but it’s not getting decoded.

Did anyone got OFDM demodulation working on USRP2? If so, any hints
are highly appreciated.




I’ve tried the OFDM example on the USRP2 with minor changes and I didn’t
encounter any problems. Be sure that you have the same FFT-length,
number of occupied tones, interpolation/decimation on both the receiver
and transmitter. Have you tried to increase the distance between the
transmitter and the receiver? Depending on your surrounding environment
you may have to tweak the length of the CP.

I have the same configuration as you, but I have the RFX2400 instead of
the XCVR2450.

Patrik E.

Thanks for the reply Patrik,

I managed to identify parameter values that make OFDM decoding work.
It seems that low decimation/interpolation rates don’t work (a bunch
of "S"s at the receiver), nor do higher modulation schemes. The
performance is very sensitive to the fft_length/occupied_tones.

As a side note, the OFDM example from
gnuradio-3.2.2/gnuradio-examples/python/ofdm works with BPSK but
doesn’t deliver any correct packets with the other modulations. The
example I made in GRC though, works fine with both BPSK, QPSK and
8PSK. However, the packet error rate is quite high, I still haven’t
identified a case in which the error rate would be less than %40.



2010/1/15 Patrik E. [email protected]:

Alright, I tuned a few more parameters (packet size, tx and rx gain)
and got to a point where BPSK successfully receives almost all of the
packets sent, and even QAM256 works, albeit very poorly. In my
experiments changing the cyclic prefix didn’t seem to have any impact.



2010/1/17 Veljko P. [email protected]: