Scramble and descramble binary input sequence
scrambles or descrambles the binary input
y = wlanScramble(
bits for the
specified initial scramble state, using a 127-length frame-synchronous scrambler.
The frame-synchronous scrambler uses the generator polynomial defined in sections
18.104.22.168 and 20.3.9 of . The transmitter and receiver
use the same scrambler to scramble bits at the transmitter and descramble bits at
the receiver, respectively.
Scramble and Descramble bits
Create the scrambler initialization and the input sequence of random bits.
scramInit = 93; bits = randi([0,1],1000,1);
Scramble and descramble the bits by using the scrambler initialization.
scrambledData = wlanScramble(bits,scramInit); descrambledData = wlanScramble(scrambledData,scramInit);
Verify that the descrambled data matches the original data.
ans = logical 1
bits — Input sequence
binary-valued column vector | binary-valued matrix
Input sequence to be scrambled, specified as a binary-valued column vector or matrix.
scramInit — Initial scrambler state
integer in the interval [1, 127] | binary-valued column vector
Initial scrambler state, specified as an integer in the interval [1, 127], or the corresponding binary-valued column vector of length 7.
Section 22.214.171.124 of  specifies the scrambling and descrambling process applied to the transmitted data. The header and data fields that follow the scrambler initialization field (including data padding bits) are scrambled by XORing each bit with a length-127 periodic sequence generated by the polynomial S(x) = x7+x4+1. The octets of the PSDU are placed into a bit stream, and, within each octet, bit 0 (LSB) is first and bit 7 (MSB) is last. This figure demonstrates the sequence generation and XOR operation.
Conversion from integer to bits uses left-MSB orientation.
For example, initializing the scrambler with decimal
the bits map to these elements.
To generate the bit stream equivalent to a decimal, use the
int2bit function. For example, for decimal
int2bit(1,7)' ans = 0 0 0 0 0 0 1
[1; 0; 1; 1; 1; 0; 1] conveys the scrambler
initialization state of 93 as a binary-valued column vector.
y — Scrambled or descrambled output
column vector | matrix
Scrambled or descrambled output, returned as a binary column vector or
matrix with the same size and type as
 IEEE Std 802.11™-2020 (Revision of IEEE Std 802.11-2016). “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.” IEEE Standard for Information Technology — Telecommunications and Information Exchange between Systems — Local and Metropolitan Area Networks — Specific Requirements.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced in R2017b