wlanBCCInterleave
Interleave binary convolutionally encoded input
Description
outputs
the interleaved binary convolutionally encoded (BCC) input y
= wlanBCCInterleave(bits
,type
,numCBPSSI
,cbw
) bits
for a specified interleaver type
, 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. numCBPSSI
specifies the number
of coded bits per OFDM symbol per spatial stream per interleaver block and
cbw
specifies the channel bandwidth.
Examples
Interleave VHT Data Field
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 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
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×2
1 1
1 0
0 0
1 1
1 1
0 0
0 0
1 1
1 0
1 1
⋮
Interleave Sequence
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 to numCBPSSI
.
seq = (1:numCBPSSI).';
Perform BCC interleaving on the numeric sequence.
intSeq = wlanBCCInterleave(seq,'Non-HT',numCBPSSI);
intSeq(1:10)
ans = 10×1
1
17
33
49
65
81
97
113
129
145
Input Arguments
bits
— Input sequence
matrix | 3-D array
Input sequence containing binary convolutionally encoded (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'
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: 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
— 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 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
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)