You are not logged in.

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Hello everyone, I'm Toan.

I'm implementing WARPLab project with WARP V3 KIT, but I don't know how to take "data rate value" in the project (It's important to assess with the SISO system). So, can you help me?

Thank you so much!

Offline

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

I'm sorry, I don't understand what you're asking. You need to provide much more detail about what you're trying to build, what you've built so far and what issues you've observed.

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

I'm Sorry,

I'm doing the WARPLab project on MIMO OFDM and I want to compare to SISO system that I did before through data rate and BER value. But for the WARPLab system I do not know how to find the speed value during WARPLab implementation on KIT WARP V3. So expect people to help me find ways to take that values!

Thank you so much!

Offline

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

In the WARPLab SISO OFDM Example script, the raw PHY data rate can be computed as:

(samples/second) * (OFDM syms / sample) * (data subcarriers / OFDM sym) * (bits / data subcarrier)

Each component:

-(samples/second): The WARPLab OFDM examples use a 20MSps sampling rate

-(OFDM syms / sample): there is 1 OFDM symbol per 80 samples (64 subcarriers + 16-sample cyclic prefix)

-(data subcarriers / OFDM sym: there are 48 data subcarriers per OFDM symbol

-(bits / data subcarrier): depends on the modulation scheme you select

Notice that the units cancel out to give bits/sec.

For example, when you configure the SISO OFDM script for QPSK, the raw data rate is 24Mbps ((20e6) * (1/80) * (48) * (2)).

For the WARPLab MIMO OFDM Example, multiply the expression above by 2.

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Hi everyone,

I'm running MIMO OFDM Comm Example in WARPLab 7 and I successed on KIT + Matlab. Then, I try to modifying tx_vec_air_A and tx_vec_air_B values (in wl_example_mimo_ofdm_txrx.m file) by A_I/Q and B_I/Q values (in ofdm_txrx_supermimo_coded.mdl/OFDM Tx MIMO/Pre-Spin, Filters & DACs) are took from result of simulation and I successed. During I try to taking rx_vec_air_A and rx_vec_air_B values of rerunning code matlab wl_example_mimo_ofdm_txrx.m,

but I don't know how to set them in rxAntI/Q variable (ofdm_rx_supermimo_init.m). Beside, I want to know how to config Spatial-Mutiplexing mode in ofdm_rx_supermimo_init.m.

Thank you so much!

Offline

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

Then, I try to modifying tx_vec_air_A and tx_vec_air_B values (in wl_example_mimo_ofdm_txrx.m file) by A_I/Q and B_I/Q values (in ofdm_txrx_supermimo_coded.mdl/OFDM Tx MIMO/Pre-Spin, Filters & DACs) are took from result of simulation and I successed.

One problem here - the OFDM Reference Design PHY operates at 20MSps. The WARPLab Reference Design operates at 40MSps. You need to implement 2x interpolation/decimation between the "_air" vectors and the OFDM Reference Design PHY simulation. The MIMO OFDM Example script implements suitable 2x rate change filters that you could re-use for this.

The rxAntI/Q variables are MATLAB structs, as required by the From Workspace block in Simulink. You can modify the sample vectors in these structs by modifying the x.signals.values vectors in the M init script. If you want to feed different vectors to RF A and RF B you will need to add another From Workspace block in the Simulink model, then define a new struct with its vector of samples.

In simulation the Tx/Rx PHY modes are set in the Tx init script. Set tx_SISO_Mode=0 and tx_Alamouti_Mode=0 to select 2x2 multiplexing mode.

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Hello Murphpo,

Can you help me find equation to calculate Auto-Correlation value that is used in "Auto-Correlation Pkt Det Embedded MULT" block of "w3_OFDM_ReferenceDesign_v18p1" design?

Thank you so much!

Offline

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

The autocorrelation value is computed as the dot product of the 16 most recent samples and the conjugate of the 16 samples before those. This realizes a sliding autocorrelation value which updates once per sample and represents the autocorrelation of the incoming sample stream with period 16 samples.

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Thank you so much! I got it!

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Hi everyone,

I have two questions.

1. How much STS threshold value in Auto-Correlation and LTS threshold value in Cross Correlation?

2. What are these values base on standard document? Ex: IEEE 802.11 - 2012,...

Thank you so much!

Offline

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

We chose the packet detection and LTS cross-correlation thresholds experimentally. The 802.11 spec does not describe receiver architectures and does not specify these correlation thresholds.

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Hi Murpho,

Sorry I'm late, but I still don't clear about your question. Ask me more, How to find out these values (cross-correlation and auto-correlation threshold value)? and What is it base on?

Thank you so much!

*Last edited by toance0901 (2018-Jan-03 21:22:18)*

Offline

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

How to find out these values (cross-correlation and auto-correlation threshold value)? and What is it base on?

We selected these thresholds by running simulations of the Rx PHY with various waveforms, then confirming the threshold choices with experiments in hardware.

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Hi Murphpo,

Can you explain more to these values? I'm still don't understand your answers.

Thank you so much!

Offline

**chunter****Administrator**- From: Mango Communications
- Registered: 2006-Aug-24
- Posts: 1171

The thresholds aren't in terms of any kind of meaningful unit. Their values were chosen completely empirically. The autocorrelation threshold is looking for self-similarity in the STS portion of the preamble of the packet (i.e. how much do the current 16 samples look like the last 16 samples). The cross-correlation threshold is trying to align the FFT boundaries according to the known structure of the LTS portion of the preamble.

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Thank you!

Offline

**toance0901****Member**- Registered: 2016-May-17
- Posts: 22

Hi Everyone,

Can you give me any documentation that more detail about function of Phase Error Estimation block in Rx architecture?

Thank you so much!

Offline

**chunter****Administrator**- From: Mango Communications
- Registered: 2006-Aug-24
- Posts: 1171

I would make sure you fully understand the SISO implementation before the MIMO implementation. It's the same operations, it's just easier to understand in the simpler SISO model. The only documentation is in the writeup for the example. But what it is doing is actually just a few lines of M code.

CFO manifests as a constellation of symbols that spins around the complex plane over the duration of a waveform. CFO is coarsely corrected using the long training symbols (LTS) in the preamble of the reception. If this correction is absolutely perfect, then each symbol in each subcarrier (whether data or pilot) will not spin. However, since the coarse CFO recovery will not be perfect, some residual CFO will cause the every subcarrier to slowly spin around the complex plane over the duration of the waveform. With that in mind, the PHY implementation determines how far the pilot subcarriers have rotated around the complex plane in each OFDM symbol. The PHY can do this because it knows what the pilots should be. It uses this knowledge to counteract the spin on the data-bearing subcarriers.

Offline