wlanBCCDeinterleave
Deinterleave BCC-interleaved input
Description
returns the binary convolutionally deinterleaved input y
= wlanBCCDeinterleave(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 and Deinterleave 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;
chanBW = 'CBW20';
numSS = 4;
Create a sequence of bits for two OFDM symbols, four spatial streams, and one segment.
bits = randi([0 1],(2*numCBPSSI),numSS,1);
Perform BCC interleaving on the bits.
intBits = wlanBCCInterleave(bits,'VHT',numCBPSSI,chanBW);
Perform BCC deinterleaving on the interleaved bits.
out = wlanBCCDeinterleave(intBits,'VHT',numCBPSSI,chanBW);
Verify that the deinterleaved data matches the original data.
isequal(bits,out)
ans = logical
1
Interleave and Deinterleave 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.
bits = randi([0 1],numCBPSSI,1);
Perform BCC interleaving on the bits.
intBits = wlanBCCInterleave(bits,'Non-HT',numCBPSSI);
Perform BCC deinterleaving on the interleaved bits.
out = wlanBCCDeinterleave(intBits,'Non-HT',numCBPSSI);
Verify that the deinterleaved data matches the original data.
isequal(bits,out)
ans = logical
1
Input Arguments
bits
— Input sequence
matrix | 3-D array
Input sequence containing binary convolutionally interleaved 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: single
| double
type
— Type of interleaving
'VHT'
| 'Non-HT'
The 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: single
| 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'
, then
cbw
is optional.
Data Types: char
| string
Output Arguments
y
— Deinterleaved output
matrix | 3-D array
Deinterleaved 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)