wlanHTLTFChannelEstimate
Channel estimation using HTLTF
Syntax
Description
Examples
Estimate SISO Channel Using HTLTF
Estimate and plot the channel coefficients of an HTmixed format channel by using the high throughput long training field.
Create an HT format configuration object. Generate the corresponding HTLTF based on the object.
cfg = wlanHTConfig; txSig = wlanHTLTF(cfg);
Multiply the transmitted HTLTF signal by 0.2 + 0.1i and pass it through an AWGN channel. Demodulate the received signal.
rxSig = awgn(txSig*(0.2+0.1i),30); demodSig = wlanHTLTFDemodulate(rxSig,cfg);
Estimate the channel response using the demodulated HTLTF.
est = wlanHTLTFChannelEstimate(demodSig,cfg);
Plot the channel estimate.
scatterplot(est) grid
The channel estimate matches the complex channel multiplier.
Estimate MIMO Channel Using HTLTF
Estimate the channel coefficients of a 2x2 MIMO channel by using the high throughput long training field. Recover the HTdata field and determine the number of bit errors.
Create an HTmixed format configuration object for a channel having two spatial streams and four transmit antennas. Transmit a complete HT waveform.
cfg = wlanHTConfig('NumTransmitAntennas',2, ... 'NumSpaceTimeStreams',2,'MCS',11); txPSDU = randi([0 1],8*cfg.PSDULength,1); txWaveform = wlanWaveformGenerator(txPSDU,cfg);
Pass the transmitted waveform through a 2x2 TGn channel.
tgnChan = wlanTGnChannel('SampleRate',20e6, ... 'NumTransmitAntennas',2, ... 'NumReceiveAntennas',2, ... 'LargeScaleFadingEffect','Pathloss and shadowing'); rxWaveformNoNoise = tgnChan(txWaveform);
Create an AWGN channel with noise power, nVar
, corresponding to a receiver having a 9 dB noise figure. The noise power is equal to kTBF, where k is Boltzmann's constant, T is the ambient noise temperature (290K), B is the bandwidth (20 MHz), and F is the noise figure (9 dB).
nVar = 10^((228.6 + 10*log10(290) + 10*log10(20e6) + 9)/10); awgnChan = comm.AWGNChannel('NoiseMethod','Variance', ... 'Variance',nVar);
Pass the signal through the AWGN channel.
rxWaveform = awgnChan(rxWaveformNoNoise);
Determine the indices for the HTLTF. Extract the HTLTF from the received waveform. Demodulate the HTLTF.
indLTF = wlanFieldIndices(cfg,'HTLTF');
rxLTF = rxWaveform(indLTF(1):indLTF(2),:);
ltfDemodSig = wlanHTLTFDemodulate(rxLTF,cfg);
Generate the channel estimate by using the demodulated HTLTF signal. Specify a smoothing filter span of three subcarriers.
chEst = wlanHTLTFChannelEstimate(ltfDemodSig,cfg,3);
Extract the HTdata field from the received waveform.
indData = wlanFieldIndices(cfg,'HTData');
rxDataField = rxWaveform(indData(1):indData(2),:);
Recover the data and verify that there no bit errors occurred.
rxPSDU = wlanHTDataRecover(rxDataField,chEst,nVar,cfg); numErrs = biterr(txPSDU,rxPSDU)
numErrs = 0
Input Arguments
demodSig
— Demodulated HTLTF signal
3D array
Demodulated HTLTF signal, specified as an N_{ST}byN_{SYM}byN_{R} array. N_{ST} is the number of occupied subcarriers, N_{SYM} is the number of HTLTF OFDM symbols, and N_{R} is the number of receive antennas.
Data Types: single
 double
Complex Number Support: Yes
cfg
— Configuration information
wlanHTConfig
object
Configuration information, specified as a wlanHTConfig
object.
span
— Filter span
positive odd integer
Filter span of the frequency smoothing filter, specified as a positive odd
integer and expressed as a number of subcarriers. Frequency smoothing is
applied only when span
is specified and greater than
one. See Frequency Smoothing.
Data Types: single
 double
Output Arguments
chEst
— Channel estimate
3D array
Channel estimate between all combinations of spacetime streams and receive antennas, returned as an N_{ST}by(N_{STS}+N_{ESS})byN_{R} array. N_{ST} is the number of occupied subcarriers, N_{STS} is the number of spacetime streams. N_{ESS} is the number of extension spatial streams. N_{R} is the number of receive antennas. Data and pilot subcarriers are included in the channel estimate.
Data Types: single
 double
Complex Number Support: Yes
More About
HTLTF
The high throughput long training field (HTLTF) is located between the HTSTF and data field of an HTmixed packet.
As described in Section 19.3.9.4.6 of IEEE^{®} Std 802.11™2016, the receiver can use the HTLTF to estimate the MIMO channel between the set of QAM mapper outputs (or, if STBC is applied, the STBC encoder outputs) and the receive chains. The HTLTF portion has one or two parts. The first part consists of one, two, or four HTLTFs that are necessary for demodulation of the HTData portion of the PPDU. These HTLTFs are referred to as HTDLTFs. The optional second part consists of zero, one, two, or four HTLTFs that can be used to sound extra spatial dimensions of the MIMO channel not utilized by the HTData portion of the PPDU. These HTLTFs are referred to as HTELTFs. Each HT long training symbol is 4 μs. The number of spacetime streams and the number of extension streams determines the number of HTLTF symbols transmitted.
Tables 1912, 1913 and 9014 from IEEE Std 802.112012 are reproduced here.
N_{STS}
Determination  N_{HTDLTF}
Determination  N_{HTELTF}
Determination  

Table 1912 defines the number of spacetime streams (N_{STS}) based on the number of spatial streams (N_{SS}) from the MCS and the STBC field.  Table 1913 defines the number of HTDLTFs required for the N_{STS}.  Table 1914 defines the number of HTELTFs required for the number of extension spatial streams (N_{ESS}). N_{ESS} is defined in HTSIG_{2}.  



Additional constraints include:
N_{HTLTF} = N_{HTDLTF} + N_{HTELTF} ≤ 5.
N_{STS} + N_{ESS} ≤ 4.
When N_{STS} = 3, N_{ESS} cannot exceed one.
If N_{ESS} = 1 when N_{STS} = 3 then N_{HTLTF} = 5.
Frequency Smoothing
Frequency smoothing can improve channel estimation by averaging out noise.
Frequency smoothing is recommended only for cases in which a single transmit antenna is used. Frequency smoothing consists of applying a movingaverage filter that spans multiple adjacent subcarriers. Channel conditions dictate whether frequency smoothing is beneficial.
If adjacent subcarriers are highly correlated, frequency smoothing results in significant noise reduction.
In a highly frequencyselective channel, smoothing can degrade the quality of the channel estimate.
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.
[2] Perahia, E., and R. Stacey. Next Generation Wireless LANs: 802.11n and 802.11ac . 2nd Edition, United Kingdom: Cambridge University Press, 2013.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2015bR2023b: Single precision support
This function supports singleprecision values for its numeric input arguments.
See Also
^{1} IEEE Std 802.112012 Adapted and reprinted with permission from IEEE. Copyright IEEE 2012. All rights reserved.
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
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)