Hi,
we are trying to implement alamouti encoding and decoding on an
underlying ofdm communication system in Gnuradio. So we are using
benchmark_tx.py. In ofdm mapper block we have written our own block
which
does alamouti encoding which gives out alamouti encoded symbols across
two
output ports. The first output port will give x1 and -x2*. The second
output port will give x2 and x1* according to the alamouti code.
Now, from each of these two output ports, we are connecting an insert
preamble block followed by an IFFT block and then a cyclic prefixer
block.
All of these blocks are standard gnuradio blocks used in ofdm examples
directory in gnuradio( benchmark_tx.py). Now we would want to connect
these
two ouputs to their respective usrp sink blocks thereby implementing a
mimo
system with 2 transmitters.
Now we are using an alamouti decoder block which is implemented in ofdm
frame acquisition block. Before we put it on usrp’s which require
perfect
hardware time synchronisation, we would like to test whether our end to
end transmitter and receiver in software is working. So we connected the
txpath1 to rxpath1 and txpath2 to rxpath2 which is like connecting two
transmitters to two receivers directly. But we are not receiving the
decoded symbols properly. when we are debugging, we are having doubts as
to
maybe the H matrix(channel matrix) values of h12 and h21 might not be
received because we are connecting transmitter 1 to receiver 1 and
transmitter 2 to receiver 2. can that be an issue?
In general how do you test mimo blocks in software. Is the way we are
doing
right i.e. connecting txpath1 to rxpath1 and txpath2 to rxpath2. Or are
there other better ways of testing end to end MIMO systems without
hardware?