wlanBCCInterleave
Interleave BCC-encoded input
Description
returns the interleaved binary convolutionally encoded (BCC) input
y
= wlanBCCInterleave(bits
,type
,numCBPSSI
,cbw
)bits
for a specified interleaver type
,
as defined in Sections 21.3.10.8 and 23.3.9.8 of IEEE®
802.11™-2020. numCBPSSI
is the number of coded bits per
OFDM symbol per spatial stream per interleaver block and cbw
is
the channel bandwidth.
Examples
Interleave VHT Data Field
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 to 4
.
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);
Interleave Non-HT Data Field
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.
disp([inBits(1:10) out(1:10)])
1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1
Interleave Sequence
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 to numCBPSSI
.
seq = (1:numCBPSSI).';
Perform BCC interleaving on the numeric sequence.
intSeq = wlanBCCInterleave(seq,'Non-HT',numCBPSSI);
disp(intSeq(1:10))
1 17 33 49 65 81 97 113 129 145
Input Arguments
bits
— Input sequence
matrix | 3-D array
Input sequence containing BCC data, specified as an (NCBPSSI×NSYM)-by-NSS-by-NSEG array, where:
NCBPSSI is the number of coded bits per OFDM symbol per spatial stream per interleaver block.
NSYM is the number of OFDM symbols.
NSS is the number of spatial streams.
If
type
='Non-HT'
, then NSS must be 1.If
type
='VHT'
, then NSS must be from 1 to 8.
NSEG is the number of segments.
Data Types: double
| int8
type
— Type of interleaving
'VHT'
| 'Non-HT'
Type of interleaving, specified as 'VHT'
or
'Non-HT'
.
Data Types: char
| string
numCBPSSI
— Number of coded bits per OFDM symbol per spatial stream per interleaver block
positive integer
Number of coded bits per OFDM symbol per spatial stream per interleaver
block specified as a positive integer. As defined in IEEE
802.11ac™-2013 Table 22-6, the value of numCBPSSI
depends on the interleaving type:
'Non-HT' | NSD×NBPSCS |
'VHT' | NSD×NBPSCS/NSEG |
where:
NSD is the number of data subcarriers.
NBPSCS is the number of coded bits per subcarrier per spatial stream, specified as 1, 2, 4, 6, or 8.
NSEG is the number of segments.
When type
= 'Non-HT'
,
numCBPSSI
can be 48, 96, 192, 288, and 384, since
NCBPSSI = 48 ×
NBPSCS.
When type
= 'VHT'
,
numCBPSSI
can be 24, 48, 96, 144, and 192, since
NCBPSSI = 24 ×
NBPSCS.
Data Types: double
cbw
— Channel bandwidth
'CBW1'
| 'CBW2'
| 'CBW4'
| 'CBW8'
| 'CBW10'
| 'CBW16
| 'CBW20'
| 'CBW40'
| 'CBW80'
| 'CBW160'
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'
,
cbw
is optional.
Data Types: char
| string
Output Arguments
y
— Interleaved output
matrix | 3-D array
Interleaved output, returned as an (NCBPSSI×NSYM)-by-NSS-by-NSEG array, where:
NCBPSSI is the number of coded bits per OFDM symbol per spatial stream per interleaver block.
NSYM is the number of OFDM symbols.
NSS is the number of spatial streams.
NSEG is the number of segments.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2017b
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)