wlanHTDataRecover

Recover HT data

Description

example

recData = wlanHTDataRecover(rxSig,chEst,noiseVarEst,cfg) returns the recovered HT-Data field[1] , recData, for input signal rxSig. Specify a channel estimate for the occupied subcarriers, chEst, a noise variance estimate, noiseVarEst, and an HT-Mixed format configuration object, cfg.

example

recData = wlanHTDataRecover(rxSig,chEst,noiseVarEst,cfg,cfgRec) specifies algorithm information using wlanRecoveryConfig object cfgRec.

[recData,eqSym] = wlanHTDataRecover(___) also returns the equalized symbols, eqSym, using the arguments from the previous syntaxes.

[recData,eqSym,cpe] = wlanHTDataRecover(___) also returns the common phase error, cpe.

Examples

collapse all

Create an HT configuration object having a PSDU length of 1024 bytes. Generate an HTData sequence from a binary sequence whose length is eight times the length of the PSDU.

cfgHT = wlanHTConfig('PSDULength',1024);
txBits = randi([0 1],8*cfgHT.PSDULength,1);
txHTSig = wlanHTData(txBits,cfgHT);

Pass the signal through an AWGN channel with a signal-to-noise ratio of 10 dB.

rxHTSig = awgn(txHTSig,10);

Specify a channel estimate. Because fading was not introduced, a vector of ones is a perfect estimate. For a 20 MHz bandwidth, there are 52 data subcarriers and 4 pilot subcarriers in the HT-SIG field.

chEst = ones(56,1);

Recover the data bits and determine the number of bit errors. Display the number of bit errors and the associated bit error rate.

rxBits = wlanHTDataRecover(rxHTSig,chEst,0.1,cfgHT);
[numerr,ber] = biterr(rxBits,txBits)
numerr = 0
ber = 0

Create an HT configuration object having a 40 MHz channel bandwidth and a 1024-byte PSDU length. Generate the corresponding HT-Data sequence.

cfgHT = wlanHTConfig('ChannelBandwidth','CBW40','PSDULength',1024);
txBits = randi([0 1],8*cfgHT.PSDULength,1);
txHTSig = wlanHTData(txBits, cfgHT);

Pass the signal through an AWGN channel with a signal-to-noise ratio of 7 dB.

rxHTSig = awgn(txHTSig,7);

Create a data recovery object that specifies the use of the zero-forcing algorithm.

cfgRec = wlanRecoveryConfig('EqualizationMethod','ZF');

Recover the data and determine the number of bit errors. Because fading was not introduced, the channel estimate is set to a vector of ones whose length is equal to the number of occupied subcarriers.

rxBits = wlanHTDataRecover(rxHTSig,ones(114,1),0.2,cfgHT,cfgRec);
[numerr,ber] = biterr(rxBits,txBits)
numerr = 0
ber = 0

Input Arguments

collapse all

Received HT-Data signal, specified as an NS-by-NR vector or matrix. NS is the number of samples, and NR is the number of receive antennas.

Data Types: double
Complex Number Support: Yes

Channel estimate, specified as an NST-by-NSTS-by-NR array. NST is the number of occupied subcarriers, NSTS is the number of space-time streams, and NR is the number of receive antennas.

Data Types: double
Complex Number Support: Yes

Noise variance estimate, specified as a nonnegative scalar.

Example: 0.7071

Data Types: double

Format configuration, specified as a wlanHTConfig object.

Algorithm parameters, specified as a wlanRecoveryConfig object.

Output Arguments

collapse all

Recovered binary output data, returned as a column vector of length 8×NPSDU, where NPSDU is the length of the PSDU in bytes. See wlanHTConfig for PSDULength details.

Data Types: int8

Equalized symbols, returned as an NSD-by-NSYM-by-NSS array. NSD is the number of data subcarriers, NSYM is the number of OFDM symbols in the HT-Data field, and NSS is the number of spatial streams.

Data Types: double
Complex Number Support: Yes

Common phase error in radians, returned as a column vector having length NSYM. NSYM is the number of OFDM symbols in the HT-Data field.

More About

collapse all

HT-Data field

The high throughput data field (HT-Data) follows the last HT-LTF of an HT-mixed packet.

The high throughput data field is used to transmit one or more frames from the MAC layer and consists of four subfields.

  • Service field — Contains 16 zeros to initialize the data scrambler.

  • PSDU — Variable-length field containing the PLCP service data unit (PSDU). In 802.11, the PSDU can consist of an aggregate of several MAC service data units.

  • Tail — Tail bits required to terminate a convolutional code. The field uses six zeros for each encoding stream.

  • Pad Bits — Variable-length field required to ensure that the HT-Data field consists of an integer number of symbols.

HT-Mixed

High throughput mixed (HT-mixed) format devices support a mixed mode in which the PLCP header is compatible with HT and Non-HT modes.

References

[1] IEEE Std 802.11™-2012 IEEE Standard for Information technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific requirements — Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.

Extended Capabilities

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

Introduced in R2015b


[1] IEEE® Std 802.11™-2012 Adapted and reprinted with permission from IEEE. Copyright IEEE 2012. All rights reserved.