WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2018-Nov-19 07:42:26

fc
Member
Registered: 2016-Oct-14
Posts: 21

4x4 MIMO OFDM

Hi,
Goal: Writing a program of 4x4 MIMO OFDM

Problem:  Based on the example code of 2x2 MIMO OFDM, I found a problem that the dimension of rx_mat_air is 2x81764, which is contradicted with the number of RF link (2x2x81764).
  “
    rx_mat_air = wl_basebandCmd(node_rx, RX_RF_VEC, 'read_IQ', 0, TX_NUM_SAMPS+SAMP_PADDING);
    rx_vec_air_A = rx_mat_air(:,1).';
    rx_vec_air_B = rx_mat_air(:,2).';
  ”

The problem is the same as our modified 4x4 MIMO OFDM code (4x81764). Could you elaborate the reason for us, and could you give us some suggestions about how to coding the program for 4x4 MIMO OFDM?


Thank you very much.

Last edited by fc (2018-Nov-19 07:46:48)

Offline

 

#2 2018-Nov-19 08:54:45

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 4x4 MIMO OFDM

Problem:  Based on the example code of 2x2 MIMO OFDM, I found a problem that the dimension of rx_mat_air is 2x81764, which is contradicted with the number of RF link (2x2x81764).

I don't understand what you believe the problem is. rx_mat_air is a 2x81784 matrix of complex baseband samples. Each row (the '2x' dimension) holds the samples captured at one antenna. The 'x81764' dimension is time - each entry is one sample period (25nsec for the 40MHz sampling rate in WARPLab).

Offline

 

#3 2018-Nov-19 19:12:44

fc
Member
Registered: 2016-Oct-14
Posts: 21

Re: 4x4 MIMO OFDM

Yes, thank you very much, I understand what you mean, but there are two transmit antennas and two receive antennas, so I think it should be 2x2x81764. My question is how to distinguish the data sent by the two transmit antennas? I don't understand why this is calculated like this, how is it calculated in 4x4 MIMO OFDM code?

% MIMO Channel Estimatation
lts_ind_TXA_start = mimo_training_ind + 32 - FFT_OFFSET;
lts_ind_TXA_end = lts_ind_TXA_start + 64 - 1;

lts_ind_TXB_start = mimo_training_ind + 32 + 64 + 32 - FFT_OFFSET;
lts_ind_TXB_end = lts_ind_TXB_start + 64 - 1;

Offline

 

#4 2018-Nov-20 08:25:04

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 4x4 MIMO OFDM

but there are two transmit antennas and two receive antennas, so I think it should be 2x2x81764

Our example code always operates on NxM arrays, where N is number of antennas and M is number of samples. The Tx and Rx sample arrays are separate - there is never an array that contains both Tx and Rx samples. I suppose you could construct such an array, but I don't see how this would be helpful in implementing your PHY algorithms.

Offline

 

#5 2018-Nov-20 19:39:19

fc
Member
Registered: 2016-Oct-14
Posts: 21

Re: 4x4 MIMO OFDM

Thank for your reply. What I mean is that the transmitter has two antennas, the receiver has two antennas,  so there exist four RF links, which means that we can get four data streams for each RF link. However, we only get two data streams,  such as  2* 81000, where 2 denotes the number antenna of the receiver, 81000 means the samples.  So, how can get the four data streams from the two antennas in the receiver end? Finally, could you give some advice on the coding for the 4*4 OFDM program?

Thanks.

Last edited by fc (2018-Nov-20 19:43:29)

Offline

 

#6 2018-Nov-21 16:34:05

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 4x4 MIMO OFDM

What I mean is that the transmitter has two antennas, the receiver has two antennas,  so there exist four RF links, which means that we can get four data streams for each RF link.

There seems to be a misunderstanding here. Each RF interface implements a Tx and Rx path. However each RF interface is half-duplex - it can either transmit or receive, but not both simultaneously. A 2x2 MIMO link is built from two nodes, each with two RF interfaces. One node is configured as two Tx interfaces, the other node with two Rx interfaces.

Offline

 

#7 2018-Nov-22 03:43:52

fc
Member
Registered: 2016-Oct-14
Posts: 21

Re: 4x4 MIMO OFDM

Thank for your reply.
lts_ind_TXB_start is shifted by 64+32 compared to lts_ind_TXA_start. I don't understand why this is calculated like this, and what the basis and principle of it is.

lts_ind_TXA_start = mimo_training_ind + 32 - FFT_OFFSET;
lts_ind_TXA_end = lts_ind_TXA_start + 64 - 1;

lts_ind_TXB_start = mimo_training_ind + 32 + 64 + 32 - FFT_OFFSET;
lts_ind_TXB_end = lts_ind_TXB_start + 64 - 1;

In 4x4 MIMO OFDM code, how to calculate lts_ind_TXA_start,lts_ind_TXB_start, lts_ind_TXC_start and lts_ind_TXD_start?

Offline

 

#8 2018-Nov-22 13:02:47

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 4x4 MIMO OFDM

The WARPLab OFDM examples transmit training symbols from each antenna in sequence. You can see this in the definitions of the preamble_mimo_A and preamble_mimo_B variables. The Rx code uses this knowledge to define the expected index of the training symbols for each spatial path.

Offline

 

#9 2018-Dec-07 22:59:13

sun
Member
Registered: 2018-Jul-03
Posts: 13

Re: 4x4 MIMO OFDM

did you finish implementation of 4x4 mimo ?

Offline

 

Board footer