Main Content

wlanBCCInterleave

Interleave binary convolutionally encoded input

Description

example

y= wlanBCCInterleave(bits,type,numCBPSSI,cbw)outputs the interleaved binary convolutionally encoded (BCC) inputbitsfor a specified interleavertype, as defined in IEEE®802.11™-2012 Section 18.3.5.7, IEEE 802.11ac™-2013 Section 22.3.10.8, and IEEE 802.11ah™ Section 24.3.9.8.numCBPSSIspecifies the number of coded bits per OFDM symbol per spatial stream per interleaver block andcbwspecifies the channel bandwidth.

example

y= wlanBCCInterleave(bits,type,numCBPSSI)outputs the interleaved inputbitsfor the non-HT interleavertype.

Examples

collapse all

Perform BCC interleaving for the VHT interleaving type.

Define the input parameters. Set the number of coded bits per OFDM symbol per spatial stream per interleaver block to 52, the channel bandwidth to 20 MHz, and the number of spatial streams to4.

numCBPSSI= 52; cbw ='CBW20'; numSS = 4;

Create a sequence of bits for two OFDM symbols, four spatial streams, and one segment.

inBits = randi([0 1],2*numCBPSSI,numSS,1,'int8');

Perform BCC interleaving on the bits.

out = wlanBCCInterleave(inBits,'VHT',numCBPSSI,cbw);

Perform BCC interleaving for the non-HT interleaving type.

Define the input parameters. Set the number of coded bits per OFDM symbol per spatial stream per interleaver block to 48.

numCBPSSI= 48;

Create a sequence of random bits for one OFDM symbol, one spatial stream, and one segment.

inBits = randi([0 1],numCBPSSI,1);

Perform BCC interleaving on the bits.

out = wlanBCCInterleave(inBits,'Non-HT',numCBPSSI);

Compare the original sequence with the interleaved one.

[inBits out]
ans =48×21 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 ⋮

Get the interleaving sequence of a non-HT interleaver type.

Define the input parameters. Set the number of coded bits per OFDM symbol per spatial stream per interleaver block to 192.

numCBPSSI= 192;

Create a numeric sequence from 1 tonumCBPSSI.

seq = (1:numCBPSSI).';

Perform BCC interleaving on the numeric sequence.

intSeq = wlanBCCInterleave(seq,'Non-HT',numCBPSSI); intSeq(1:10)
ans =10×11 17 33 49 65 81 97 113 129 145

Input Arguments

collapse all

Input sequence containing binary convolutionally encoded (BCC) data, specified as an (NCBPSSI×NSYM)-by-NSS-by-NSEGarray, where:

  • NCBPSSIis the number of coded bits per OFDM symbol per spatial stream per interleaver block.

  • NSYMis the number of OFDM symbols.

  • NSSis the number of spatial streams.

    • Iftype='Non-HT', thenNSSmust be 1.

    • Iftype='VHT', thenNSSmust be from 1 to 8.

  • NSEGis the number of segments.

Data Types:double|int8

The type of interleaving, specified as'VHT'or'Non-HT'.

Data Types:char|string

每个OFDM符号的编码比特数/空间tream per interleaver block specified as a positive integer. As defined in IEEE 802.11ac-2013 Table 22-6, the value ofnumCBPSSIdepends on the interleaving type:

'Non-HT' NSD×NBPSCS
'VHT' NSD×NBPSCS/NSEG

where:

  • NSDis the number of data subcarriers.

  • NBPSCSis the number of coded bits per subcarrier per spatial stream, specified as 1, 2, 4, 6, or 8.

  • NSEGis the number of segments.

Whentype='Non-HT',numCBPSSIcan be 48, 96, 192, 288, and 384, sinceNCBPSSI= 48 ×NBPSCS.

Whentype='VHT',numCBPSSIcan be 24, 48, 96, 144, and 192, sinceNCBPSSI= 24 ×NBPSCS.

Data Types:double

Channel bandwidth in MHz, specified as'CBW1','CBW2','CBW4','CBW8','CBW10','CBW16','CBW20',“CBW40”,'CBW80', or'CBW160'. When the interleaver type is set to'Non-HT', thencbwis optional.

Data Types:char|string

Output Arguments

collapse all

Interleaved output, returned as an (NCBPSSI×NSYM)-by-NSS-by-NSEGarray, where:

  • NCBPSSIis the number of coded bits per OFDM symbol per spatial stream per interleaver block.

  • NSYMis the number of OFDM symbols.

  • NSSis the number of spatial streams.

  • NSEGis the number of segments.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

他的版本tory

Introduced in R2017b