You are not logged in.
As part of an experiment, I modified the wl_example_mimo_txrx.m to transmit 2x2 16-QAM symbols. I modified the txData parameter to accept the required 16-QAM symbols. However, there seems to be some processing happening at the receiver end which changes the transmitted data. The received data from rx_IQ contains values which in no way represent only fading corrupted signals.
For eg. when I transmit 3+3i, the received symbol is -0.041+0.025i. This looks like a drastic change for a symbol only corrupted by a fading channel.
I would like to know, how to obtain the raw transmitted data at the receiver without it being processed for anything.
Offline
A few things:
-The WARPLab reference design implements no waveform processing. It transmits the raw I/Q values you provide via write_iq and retrieves the raw I/Q values captured via read_iq.
-The waveform you construct in your m-script and pass to write_iq must have I/Q (real/imaginary) values in [-1,+1]. Any values outside this range will be clipped before being passed to the hardware.
-You cannot expect the received waveform to be a scaled version of the transmitted waveform. There are many sources of phase and amplitude variation along the Tx -> Rx path. Your Rx processing must handle these offsets, typically requiring your Tx waveform to include a training sequence the receiver can use to calculate channel estimates. The WARPLab wl_example_siso_ofdm_txrx.m script provides one example of a complete Tx -> Rx implementation.
Offline
I normalized the signal power to limit the IQ values in [-1,+1] range and it worked fine.
Thank you.
Offline
@ctae what about the channel variation after correction, is it possible to observe the i/o correctly, if you dont mind pls share the code too...
Offline
Just for future reference, we have since created a 2x2 MIMO OFDM example. It will be included as part of the 7.6 WARPLab release, but you can get an early look at it here.
Offline