通过有噪声的MIMO信道传输VHT波形。提取L-SIG、VHT-SIG-A、VHT-SIG-B字段,确认正确恢复。
设置整个示例中使用的参数。
生化武器='CBW40';%通道带宽FS = 40e6;%采样率(Hz)ntx = 2;百分比的发射天线数量nsts = 2;%时空流的数量NRX = 3;%接收天线数
创建一个支持2x2 MIMO传输的VHT配置对象,并且具有2000年的APEP金宝app长度。
vht = wlanvhtconfig('ChannelBandWidth'生化武器,“APEPLength”,2000年,......“NumTransmitAntennas”ntx,'numspacetimestreams'望远镜,......'spatialmapping'那'直接'那'stbc'、假);
生成包含随机PSDU的VHT波形。
txPSDU = randi([0 1],vht.PSDULength*8,1);txPPDU = wlanWaveformGenerator (txPSDU vht);
创建一个2x2 TGac通道和一个AWGN通道,信噪比=10 dB。
tgacchan = wlantgacchannel('samplerate',fs,'ChannelBandWidth'生化武器,......“NumTransmitAntennas”ntx,'numreceiveantennas',nrx,......'largescalefadingeffect'那'pathloss和shadows'那......'DelayProfile'那型号c的);chNoise = comm.AWGNChannel('noisemethod'那“信噪比”那......'SNR',10);
通过2×2信道TGAC传递VHT波形并添加AWGN信道的噪声。
rxPPDU = chNoise(tgacChan(txPPDU));
添加额外的白噪声,对应于一个噪声值为9db的接收机。噪声方差等于k * T * B * F,在哪里K.是玻尔兹曼常数,T.是环境温度,B.是信道带宽(采样率),和F.是接收机的噪声系数。
NVAR = 10 ^(( - 228.6 + 10 *日志10(290)+ 10 *日志10(FS)+ 9)/ 10);rxNoise = comm.AWGNChannel('noisemethod'那'veriance'那'veriance',NVAR);rxPPDU = rxNoise(rxPPDU);
查找PPDU的所有组件字段的启动和停止索引。
IND = wlanFieldIndices(VHT)
印第安纳州=结构与字段:L-STF:[1 320] L-LTF:[321 640] LSIG:[641 800] VHTSIG-A:[801 1120]-STF:[1121 1280] VHTLTF:[1281 1600] VHT-SIGB:[1601 1760] VHTData:[1761 25600]
该前导码被包含在第一1760个符号。剧情前导。
情节(ABS(rxPPDU(1:1760)))
从接收的PPDU中提取L-LTF,使用由wlanFieldIndices
功能。解调L-LTF和估计信道系数。
rxLLTF = rxPPDU(ind.LLTF(1):ind.LLTF(2),:);demodLLTF = wlanLLTFDemodulate(rxLLTF,VHT);chEstLLTF = wlanLLTFChannelEstimate(demodLLTF,VHT);
从接收的PPDU中提取L-SIG字段和恢复其信息比特。
rxLSIG = rxPPDU (ind.LSIG (1): ind.LSIG (2):);据nVar infoLSIG = wlanLSIGRecover (rxLSIG chEstLLTF,生化武器);
检查L-SIG速率信息,确认顺序[1 1 0 1]
收到。这个序列对应于6mhz的数据速率,用于所有VHT传输。
率= infoLSIG (1:4) '
率=1×4 INT8行向量0 1 1 1
提取VHT-SIG-A,并确认CRC校验通过。
rxVHTSIGA = rxPPDU(ind.VHTSIGA(1):ind.VHTSIGA(2),:);[infoVHTSIGA,failCRC] = wlanVHTSIGARecover(rxVHTSIGA,......据nVar chEstLLTF,生化武器);failCRC
failcrc =逻辑1
提取并解调VHT-LTF。使用的解调信号来估计,以恢复VHT-SIG-B字段所需的信道系数。
rxVHTLTF = rxPPDU(ind.VHTLTF(1):ind.VHTLTF(2),:);demodVHTLTF = wlanVHTLTFDemodulate(rxVHTLTF,VHT);chEstVHTLTF = wlanVHTLTFChannelEstimate(demodVHTLTF,VHT);
提取和恢复的VHT-SIG-B。
rxVHTSIGB = rxPPDU(ind.VHTSIGB(1):ind.VHTSIGB(2),:);infoVHTSIGB = wlanVHTSIGBRecover(rxVHTSIGB,chEstVHTLTF,NVAR,CBW);
验证APEP长度,包含在VHT-SIG-B的第一19个比特,对应于2000个比特指定的长度。
pktLbits = infoVHTSIGB(1:19)';PKTLEN = bi2de(双(pktLbits))* 4
PKTLEN = 1676920