www.gusucode.com > wlan 源码程序 matlab案例代码 > wlan/RecoverVHTSIGBin2x2MIMOChannelExample.m
%% Recover VHT-SIG-B in 2x2 MIMO Channel % Recover VHT-SIG-B in a 2x2 MIMO channel for an SNR=10 dB and a receiver % that has a 9 dB noise figure. Confirm that the information bits are % recovered correctly. %% % Set the channel bandwidth and the corresponding sample rate. cbw = 'CBW20'; fs = 20e6; %% % Create a VHT configuration object with 20 MHz bandwidth and two % transmission paths. Generate the L-LTF and VHT-SIG-B waveforms. vht = wlanVHTConfig('ChannelBandwidth',cbw,'NumTransmitAntennas',2, ... 'NumSpaceTimeStreams',2); txVHTLTF = wlanVHTLTF(vht); [txVHTSIGB,txVHTSIGBBits] = wlanVHTSIGB(vht); %% % Pass the VHT-LTF and VHT-SIG-B waveforms through a 2x2 TGac channel. tgacChan = wlanTGacChannel('NumTransmitAntennas',2, ... 'NumReceiveAntennas',2, 'ChannelBandwidth',cbw,'SampleRate',fs); rxVHTLTF = tgacChan(txVHTLTF); rxVHTSIGB = tgacChan(txVHTSIGB); %% % Add white noise for an SNR = 10dB. chNoise = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)',... 'SNR',10); rxVHTLTF = chNoise(rxVHTLTF); rxVHTSIGB = chNoise(rxVHTSIGB); %% % Add additional white noise corresponding to a receiver with a 9 dB noise % figure. The noise variance is equal to _k*T*B*F_, where _k_ is % Boltzmann's constant, _T_ is the ambient temperature, _B_ is the channel % bandwidth (sample rate), and _F_ is the receiver noise figure. nVar = 10^((-228.6+10*log10(290)+10*log10(fs)+9)/10); rxNoise = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar); rxVHTLTF = rxNoise(rxVHTLTF); rxVHTSIGB = rxNoise(rxVHTSIGB); %% % Demodulate the VHT-LTF signal and use it to generate a channel estimate. demodVHTLTF = wlanVHTLTFDemodulate(rxVHTLTF,vht); chEst = wlanVHTLTFChannelEstimate(demodVHTLTF,vht); %% % Recover the VHT-SIG-B information bits. Display the scatter plot of the % equalized symbols. [recVHTSIGBBits,eqSym,cpe] = wlanVHTSIGBRecover(rxVHTSIGB,chEst,nVar,cbw); scatterplot(eqSym) %% % Display the common phase error. cpe %% % Determine the number of errors between the transmitted and received % VHT-SIG-B information bits. numErr = biterr(txVHTSIGBBits,recVHTSIGBBits)