www.gusucode.com > wlan 源码程序 matlab案例代码 > wlan/ExtractVHTLTFRecoverVHTDataExample.m

    %% Extract VHT-LTF and Recover VHT Data
% Generate a VHT waveform. Extract and demodulate the VHT-LTF to estimate
% the channel coefficients. Recover the data field using the channel
% estimate and use this to determine the number of bit errors.
%%
% Configure a VHT format object with two paths.
vht = wlanVHTConfig('NumTransmitAntennas',2,'NumSpaceTimeStreams',2);
%%
% Generate a random PSDU and create the corresponding VHT waveform.
txPSDU = randi([0 1],8*vht.PSDULength,1);
txSig = wlanWaveformGenerator(txPSDU,vht);
%%
% Pass the signal through a TGac 2x2 MIMO channel.
tgacChan = wlanTGacChannel('NumTransmitAntennas',2,'NumReceiveAntennas',2, ...
    'LargeScaleFadingEffect','Pathloss and shadowing');
rxSigNoNoise = tgacChan(txSig);
%%
% Add AWGN to the received signal. Set the noise variance for the case in
% which the receiver has a 9 dB noise figure.
nVar = 10^((-228.6+10*log10(290)+10*log10(80e6)+9)/10);
awgnChan = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar);
rxSig = awgnChan(rxSigNoNoise);
%%
% Determine the indices for the VHT-LTF and extract the field from the
% received signal.
indVHT = wlanFieldIndices(vht,'VHT-LTF');
rxLTF = rxSig(indVHT(1):indVHT(2),:);
%%
% Demodulate the VHT-LTF and estimate the channel coefficients.
dLTF = wlanVHTLTFDemodulate(rxLTF,vht);
chEst = wlanVHTLTFChannelEstimate(dLTF,vht);
%%
% Extract the data field and recover the information bits.
indData = wlanFieldIndices(vht,'VHT-Data');
rxData = rxSig(indData(1):indData(2),:);
rxPSDU = wlanVHTDataRecover(rxData,chEst,nVar,vht);
%%
% Determine the number of bit errors.
numErrs = biterr(txPSDU,rxPSDU)