WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2014-Oct-22 13:28:18

INTPer
Member
Registered: 2014-Aug-16
Posts: 30

Scrambler and FEC problem

Hi, I'm trying to do some experiments with Scrambler, FEC and interleaving before the beamforming, which is cooperated by warp v1 boards and v3 boards.

Previously I used WARPLab to implement the beamforming, but I found I have to implement the scrambler, FEC, interleaving by myself. (Is it right? Or there are some reference codes that I haven't found?)

An alternative way I found is using  "WARP OFDM Reference Design". But according to some posts in this forum, interleaving seems haven't implemented yet. Besides, a more serious problem for me is that "WARP OFDM Reference Design" is not suitable for cooperation between warp v1 boards and v3 boards. Each version has their own Reference Design.

According to the problems above and the experiments I want to do mentioned in the first sentence, can you give me some suggestions? Thanks!

Offline

 

#2 2014-Oct-22 20:06:38

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

Re: Scrambler and FEC problem

The OFDM reference design does not implement interleaving. It does implement scrambling, by XOR'ing data bytes by a pseudo random sequence known to both Tx and Rx. It also implements convolutional coding.

However if you need these processing steps in MATLAB as part of your WARPLab script, you will need to implement them in m code. Scrambling is easy (XOR by an pseudo random sequence). Interleaving requires shuffling the data bits after the encoder and un-shuffling them before the decoder. The shuffling sequences are arbitrary. The 802.11 spec would be a good reference here; the interleaver for the 802.11 OFDM PHY is defined in IEEE 802.11-2012 section 18.3.5.7. For en/decoding you could use the Mathworks comm toolbox, or any of the en/decoder examples in the Mathworks File Exchange.

Besides, a more serious problem for me is that "WARP OFDM Reference Design" is not suitable for cooperation between warp v1 boards and v3 boards. Each version has their own Reference Design.

Separate designs for WARP v1 and v3 will always be required; a given XPS project can only target a single FPGA device. We worked hard to ensure the OFDM Reference Design will interoperate over-the-air across hardware generations, and that the per-generation projects share as much logic/code design as possible.

Offline

 

#3 2014-Oct-22 23:30:05

INTPer
Member
Registered: 2014-Aug-16
Posts: 30

Re: Scrambler and FEC problem

Thanks a lot, murphpo!
One more question is that I also want to add convolutional code, is there such m file existed?  I feel the implementation of encoder and decoder should be doable, but it's better if I can utilize some existed code.

Offline

 

#4 2014-Oct-23 09:50:00

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

Re: Scrambler and FEC problem

One more question is that I also want to add convolutional code, is there such m file existed?

We do not have an m implementation of convolutional en/decoding. I would suggest searching for this in the MATLAB toolboxes or Mathworks file exchange.

Offline

 

#5 2014-Oct-30 15:45:53

INTPer
Member
Registered: 2014-Aug-16
Posts: 30

Re: Scrambler and FEC problem

Hi murphpo, I have a question about the implementation of the scrambler and interleaving. Previously, you mentioned that 802.11-2012 is a good reference for OFDM PHY design. But, since there are 802.11a, b, n, ac, etc, is the OFDM PHY design in the 802.11-2012 standard suitable for all of them? Thanks and looking for your reply! :)

murphpo wrote:

The OFDM reference design does not implement interleaving. It does implement scrambling, by XOR'ing data bytes by a pseudo random sequence known to both Tx and Rx. It also implements convolutional coding.

However if you need these processing steps in MATLAB as part of your WARPLab script, you will need to implement them in m code. Scrambling is easy (XOR by an pseudo random sequence). Interleaving requires shuffling the data bits after the encoder and un-shuffling them before the decoder. The shuffling sequences are arbitrary. The 802.11 spec would be a good reference here; the interleaver for the 802.11 OFDM PHY is defined in IEEE 802.11-2012 section 18.3.5.7. For en/decoding you could use the Mathworks comm toolbox, or any of the en/decoder examples in the Mathworks File Exchange.

Besides, a more serious problem for me is that "WARP OFDM Reference Design" is not suitable for cooperation between warp v1 boards and v3 boards. Each version has their own Reference Design.

Separate designs for WARP v1 and v3 will always be required; a given XPS project can only target a single FPGA device. We worked hard to ensure the OFDM Reference Design will interoperate over-the-air across hardware generations, and that the per-generation projects share as much logic/code design as possible.

Offline

 

#6 2014-Oct-30 16:10:30

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

Re: Scrambler and FEC problem

since there are 802.11a, b, n, ac, etc, is the OFDM PHY design in the 802.11-2012 standard suitable for all of them?

The 11a/g/n/ac OFDM PHYs use similar interleaving designs.

11a/g use the same interleaving structure.

11n/ac SISO use the same structure as 11a/g (two permutations) with modified sequences to support the 4 extra data-bearing subcarriers.

11n/ac MIMO add a third interleaving permutation across spatial streams.

The 802.11 standard describes each of these in detail. The book Next Generation Wireless LANs: 802.11n and 802.11ac by Stacey & Perahia is also a great resource for understanding the PHY design in all versions of the standard (despite the title this book describes the 11a/g PHY as well).

Offline

 

#7 2014-Nov-06 12:07:22

INTPer
Member
Registered: 2014-Aug-16
Posts: 30

Re: Scrambler and FEC problem

Hi murphpo, do you know whether hard-decoding or soft-decoding is used in 802.11? I have checked IEEE 802.11-2012 and 802.11ac, both of them doesn't mention the detail.

Beside, I have another question about soft-decoding. Currently I'm using soft-decoding since I want to increase the accuracy. The pattern I used in quantiz(provided by comm, matlab toolbox) is [0.001,.1,.3,.5,.7,.9,.999], which is suitable for data in [0, 1]. But according to my previously implement, my received signal is within (-1,1). (I transmitting 1 representing for 1, -1 representing for 0). Is there some common pattern used to solve this problem?

Hope it's clear enough to understand and looking for your answer. Thanks

Offline

 

#8 2014-Nov-06 17:28:13

INTPer
Member
Registered: 2014-Aug-16
Posts: 30

Re: Scrambler and FEC problem

I found a parameter called 'unquant'. But my encoded code is range from -1 to 1, but not just -1 or 1. There must be some common method existed but I'm pretty new in PHY layer. Can anyone tell me how to solve it?

Offline

 

#9 2014-Nov-06 21:11:16

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

Re: Scrambler and FEC problem

The 802.11 standard does not specify a decoder design - this is a decision left to the Rx PHY designer.

I'm not an expert in Viterbi decoder design - I can't be a good resource for you on this. There are many excellent text books and tutorials describing the Viterbi algorithm that will be more helpful.

Offline

 

Board footer