WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2017-May-24 16:02:06

shanggdlk
Member
Registered: 2017-Apr-12
Posts: 22

ge the CSI for each OFDM symbol

Hi Sir,

I'm a freshman in WARP and still learning it.

I have a question about the channel estimation. Is it possible to measure the CSI based on each OFDM symbol? If I understand correctly, in wl_example_siso_ofdm_txrx.m, there are 500 symbols to be sent, while the channel estimation seems to be the averaged value of several symbols? So how could I measure the channel state per symbol?

Thanks!

Offline

 

#2 2017-May-24 16:03:37

shanggdlk
Member
Registered: 2017-Apr-12
Posts: 22

Re: ge the CSI for each OFDM symbol

By the way, I' using WarpLab reference.

Offline

 

#3 2017-May-24 16:30:41

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

Re: ge the CSI for each OFDM symbol

The WARPLab OFDM examples calculate channel estimates for each subcarrier using the training symbols in the packet preamble. By default there are two training symbols. The channel estimate for each subcarrier is the average of the estimates from these symbols. The channel estimates are not updated after this initial calculation. This scheme matches how our real-time Rx PHY implementations work.

It would be possible to modify the M code to use every symbol as a training symbol. This is possible in WARPLab because you know exactly what data was transmitted before starting the Rx processing (this is not true in a real communications system). You would need to modify the Rx code to calculate the channel coefficient of each subcarrier in each OFDM symbol using the transmitted value and received value for subcarrier (H_est = X_Rx / X_Tx).

Offline

 

#4 2017-May-25 13:15:48

shanggdlk
Member
Registered: 2017-Apr-12
Posts: 22

Re: ge the CSI for each OFDM symbol

Thanks for your answer! Appreciate it!


murphpo wrote:

The WARPLab OFDM examples calculate channel estimates for each subcarrier using the training symbols in the packet preamble. By default there are two training symbols. The channel estimate for each subcarrier is the average of the estimates from these symbols. The channel estimates are not updated after this initial calculation. This scheme matches how our real-time Rx PHY implementations work.

It would be possible to modify the M code to use every symbol as a training symbol. This is possible because you know exactly what data was transmitted before starting the Rx processing (this is not true in a real communications system). You would need to modify the Rx code to calculate the channel coefficient of each subcarrier in each OFDM symbol using the transmitted value and received value for subcarrier (H_est = X_Rx / X_Tx).

Offline

 

#5 2018-Jan-02 13:30:06

vutran
Member
Registered: 2017-Jul-01
Posts: 52

Re: ge the CSI for each OFDM symbol

Hi,

I'm studying MIMO-OFDM too. Can you tell me what kind of estimation you used in the CSI estimation in wl_example_mimo_ofdm_txrx.m example? How good is its performance compared to other techniques (I've seen people mention LS, MMSE, though I haven't understood them)? I figured out that because you use LTS for channel estimation, you have to avoid some sub-carriers (where LTS.*LTS is 0 so cannot estimate H for the sub-carrier - I guess), is it correct?

Last edited by vutran (2018-Jan-02 21:32:06)

Offline

 

#6 2018-Jan-03 10:07:21

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

Re: ge the CSI for each OFDM symbol

The WARPLab OFDM examples use zero-forcing equalization. Channel estimates are computed directly from the long training symbols with each subcarrier being estimated independently. The LTS has non-zero values in the same subcarriers as the data/pilot subcarriers in the payload. Other subcarriers are set to 0 in the training symbols, payload, and channel estimates.

Offline

 

Board footer