tags:

views:

141

answers:

1

What is the best way to measure the channel for use in space-time coding schemes using an RFX2400 board?

As far as I know you can only get the I and Q streams out of the USRP, and I'm not sure how you would get a set of channel coefficients.

I am planning on using the conjugate of the measured channel to 'reverse' the damage done by transmission.

+1  A: 

If you trying to measure the impulse response of the channel, then one technique would be to transmit a known pseudo-random bit sequence (an m-sequence) using BPSK modulation at the carrier frequency of interest. The chip rate of the sequence determines the measurement system bandwidth, while the sequence length determines the 'dynamic range' of the measurement.

At the receiver set the LO to the same carrier frequency as that at the transmitter. Here you need to cross-correlate the equivalent low-pass received signal with the known m-sequence to give the (complex) impulse response of the channel. Any 'peaks' that exceed your definition of a threshold noise level would be your channel coefficients in the time domain.

This is actually implemented in gr-sounder.

The channel sounder transmitter is sending the PRNG modulated BPSK at 32 Mchips/sec. You need to do the correlation at this speed; it's not possible to send that much data over the USB to the host.

A channel sounder in software would work for chip rates less than 4 Mchip/sec. But that limits the resolution of your impulse response to about 250 ns per bin, or 75 meters per bin in the spatial domain.

Unfortunately, the cross-correlation done on the very limited space FPGA has no frequency offset compensation, so the resulting impulse response vectors "roll" in the time domain.

-- answer (c) by Johnathan Corgan