主要内容

802.11交流传输波束形成

本示例展示了当发送端有信道状态信息时,如何通过波束形成传输来提高IEEE 802.11ac™链路的性能。

介绍

发射波束形成将能量集中到接收器,以提高链路的信噪比。在这种方案中,发射机称为波束形成器,接收机称为波束形成器。波束形成器利用导向矩阵将能量导向波束形成器。利用信道测量得到的信道状态信息来计算转向矩阵。在IEEE 802.11ac中[1这些测量是通过探测波束形成器和波束形成器之间的通道来获得的。波束形成器发送一个NDP (Null Data Packet)给波束形成器。波束形成器利用测深提供的信道信息来计算反馈矩阵。这个矩阵以压缩格式反馈到波束形成器。然后波束形成器可以使用反馈矩阵创建一个转向矩阵和波束形式传输到波束形成器。形成转向矩阵的过程如图所示。

在IEEE 802.11ac中,单用户beamformee能力不是强制性的。因此,多天线发射机可能必须使用不同的方案向不能作为波束形成器的接收器发送数据包。其中一个方案就是空间扩张。空间扩展允许在更多的发射天线上传输多个时空流。与直接将空时流映射到发射天线相比,使用空间扩展可以在平坦衰落信道中提供较小的发射分集增益[2]。

在本例中,在发送端和接收端之间考虑一个4x2 MIMO配置,两个空时流用于数据包传输。首先考虑接收机不能作为波束形成器的情况。利用空间扩展进行传输,恢复数据符号并测量信号质量。为了显示发送波束形成的好处,数据包随后在相同的信道实现上传输,但这次使用发送波束形成。然后比较了两种方案的性能。这些阶段如下图所示。

波形配置

本例中使用了带有2个时空流的4x2 MIMO配置。

NumTxAnts = 4;%发射天线个数numsts = 2;%时空流的个数NumRxAnts = 2;%接收天线数

使用VHT格式配置对象描述了VHT波形的格式特定配置。在本例中,波形配置为20 MHz带宽和上面指定的MIMO配置。

cfgVHT = wlanVHTConfig;cfgVHT。ChannelBandwidth ='CBW20';cfgvht.apeplength = 4000;cfgvht.numtransmitantennas = numtxants;cfgvht.numspacetimestreams = numsts;cfgvht.mcs = 4;% 16-QAM,率3/4

频道配置

在这个例子中,TGac信道模型与延迟剖面模型- b一起使用。信道实现是用允许可重复性的种子来控制的。

tgacChannel = wlanTGacChannel;tgacChannel。DelayProfile =“b型”;tgacChannel。ChannelBandwidth = cfgVHT.ChannelBandwidth;tgacChannel。年代ampleRate = wlanSampleRate(cfgVHT); tgacChannel.NumReceiveAntennas = NumRxAnts; tgacChannel.NumTransmitAntennas = NumTxAnts; tgacChannel.TransmitReceiveDistance = 100;%米tgacchannel.randomstream =.“与种子mt19937ar”;tgacchannel.seed = 70;%种子允许重复

噪声被加入到信道输出的时域波形中,诺斯韦尔

noisePower = -37;%瓦分贝

设置其他对象和变量进行仿真。

%提取字段的索引IND = WLANFIELDINDIDICES(CFGVHT);% AWGN信道添加噪声与指定的噪声功率。随机%过程控制噪声产生的种子,以允许重复性。awgnChannel = comm.AWGNChannel;awgnChannel。RandomStream =“与种子mt19937ar”;awgnChannel。种子= 5;awgnChannel。NoiseMethod ='方差';awgnChannel。Variance = 10^(noisePower/10);%计算OFDM解调后的预期噪声方差noiseVar = vhtBeamformingNoiseVariance (noisePower cfgVHT);%空间流数量Nss = NumSTS / (cfgVHT.STBC + 1);%获取VHT域内被占用的子载波数OFDMINFO = WLANVHTOFDMINFO(“VHT-Data”, cfgVHT);望远镜= ofdmInfo.NumTones;%生成一个随机的PSDU将被传输rng (0);%为可重复性设置随机状态psdu = randi([0 1],cfgVHT.PSDULength*8,1);

空间扩张的传播

首先使用空间扩展进行传输。这种类型的传输可以通过多天线发射机到接收器,该接收器不能成为波束形成器。这SpatialMapping属性允许选择不同的空间映射方案。在本例中,[的第2.3.11.1.1.2节提供的示例空间展开矩阵3.使用)。因此“自定义”配置空间映射。通过分配自定义空间映射矩阵来使用spatialmappingmatrix.格式配置对象的。这个矩阵描述了每个空时流的每个子载波到所有发射天线的映射。因此,所使用的空间映射矩阵的大小为Nst-by-Nsts-by-Nt望远镜是被占领的子载波的数量,第一个是时空流的数量,和Nt是发射天线的数量。空间映射矩阵复制某些时空流以形成所需数量的传输流。

%配置空间扩展传输vhtse = cfgvht;vhtse.spatialmapping =.“自定义”;%使用自定义空间扩展矩阵vhtSE。年代patialMappingMatrix = helperSpatialExpansionMatrix(vhtSE);%生成波形tx = wlanWaveformGenerator (psdu vhtSE);%使波形通过衰落通道并添加噪声。落后于0%被添加以允许通道滤波器延迟。rx = tgacChannel ([tx;NumTxAnts 0(15日)]);%允许随后使用相同的通道实现重置(tgacChannel);rx = awgnChannel (rx);允许相同的噪声实现随后使用重置(awgnChannel);%估计符号定时有钱人= wlanSymbolTimingEstimate (rx (ind.LSTF (1): ind.LSIG (2):), vhtSE.ChannelBandwidth);%信道估计数vhtltf = rx(toff +(ind.vhtltf(1):Ind.vhtltf(2)),:);vhtltfdemod = wlanvhtltfdemodulate(vhtltf,vhtse);chanestse = wlanvhtltfchannelestimate(vhtltfdemod,vhtse);

接收的数据场被解调和均衡,以恢复每个空间流的OFDM符号。

%对数据进行解调和均衡vhtdata = rx(设备+ (ind.VHTData (1): ind.VHTData (2)),:);[~, ~, symSE] = wlanVHTDataRecover (vhtdata、chanEstSE noiseVar, vhtSE,...“PilotPhaseTracking”“没有”);

每个空间流的星座如图所示。

refSym = wlanReferenceSymbols (cfgVHT);%参考星座seConst = vhtBeamformingPlotConstellation (symSE refSym,...“空间扩展传输均衡化符号”);

每个空间流的星座方差与信噪比近似相同。这是因为每个时空流的信道平均功率基本上是相同的:

disp (具有空间扩展的每个时空流的平均接收信道功率:为了i = 1:numsts fprintf('时空流%d: %2.2f W\n',我,...总和(均值(Chanestse(:,我,:)。*结婚(Chanestse(:,我,:)),1),3))结尾
具有空间扩展的每一时空流平均接收信道功率:时空流1:0.73 W时空流2:0.50 W

传播与波束形成

当接收器能够是波束形成器时,与空间扩展相比,波束形成的传输可以产生更高的SNR。我们现在将显示具有可用于创建和使用转向矩阵的频道状态信息的优势。为了计算波束形成转向矩阵,NDP通过通道。“直接”空间映射用于NDP传输,并且时空流的数量被配置为匹配发送天线的数量。这允许VHT-LTF用于在每个发射天线和接收天线之间的声道。然后使用计算的波束形成矩阵来通过信道进行波束形成传输。相同的信道实现用于声音和数据传输,并且波束形成器和波束形成器之间没有反馈压缩,因此在该示例中可以被视为完美的波束形成。

%配置声音报文vhtSound = cfgVHT;vhtSound。APEPLength = 0;% NDP所以没有数据vhtSound。NumSpaceTimeStreams = NumTxAnts;vhtSound。年代patialMapping =“直接”;%每个TxAnt携带一个STS%产生测深波形soundingPSDU = [];tx = wlanWaveformGenerator (soundingPSDU vhtSound);%将探测波形通过信道并添加噪声。落后于0%被添加以允许通道滤波器延迟。rx = tgacChannel ([tx;NumTxAnts 0(15日)]);%允许随后使用相同的通道实现重置(tgacChannel);rx = awgnChannel (rx);允许相同的噪声实现随后使用重置(awgnChannel);%估计符号定时toff = wlansymboltimingestimate(rx(ind.lstf(1):Ind.lsig(2),:),vhtsound.ChannelBandWidth);

信道估计是使用探测包来估计每个发射和接收天线之间的实际信道响应。

%信道估计数vhtLLTFInd = wlanFieldIndices (vhtSound,'vht-ltf');vhtltf = rx(设备+ (vhtLLTFInd (1): vhtLLTFInd (2)),:);vhtltfDemod = wlanVHTLTFDemodulate (vhtltf vhtSound);chanEstSound = wlanVHTLTFChannelEstimate (vhtltfDemod vhtSound);

估计使用的信道wlanVHTLTFChannelEstimate包括在发射机应用于每个时空流的循环移位。为了计算波束形成导向矩阵,我们从信道估计中去掉了发射机处应用的循环移位。

从信道估计中去除循环偏移的影响chanEstSound = vhtBeamformingRemoveCSD (chanEstSound,...VHTSOUND.CHANNELBANDWIDTH,VHTSOUND.NUMSPACETIMESTREAMS);

在该示例中,使用奇异值分解(SVD)计算波束成形转向矩阵[3.]。信道矩阵的SVD导致两个统一矩阵,UV,以及奇异值的对角矩阵年代.第一个NumSTSV每个副载波被用作波束形成导向矩阵。SVD是使用函数计算的圣言会

chanEstPerm = permute(chanEstSound,[3 2 1]);%排列为Nr-by-Nt-by-NstV = 0(望远镜,NumTxAnts NumRxAnts);为了i = 1:望远镜(U, V(我::)]=圣言(chanEstPerm(:,:我),“经济学”);结尾steeringMatrix = V (:: 1: NumSTS);% Nst-by-Nt-by-Nsts

上面计算的波束形成导向矩阵作为自定义空间映射矩阵,用于发送数据通过相同的通道。

%使用波束形成配置传输vhtBF = cfgVHT;vhtBF。年代patialMapping =“自定义”;%置换导向矩阵为Nst-by-Nsts-by-NtvhtBF。年代patialMappingMatrix = permute(steeringMatrix,[1 3 2]);%生成波束形成的数据传输tx = wlanWaveformGenerator (psdu vhtBF);%通过通道并添加噪声。落后于0%被添加以允许通道滤波器延迟。rx = tgacChannel ([tx;NumTxAnts 0(15日)]);rx = awgnChannel (rx);%估计符号定时有钱人= wlanSymbolTimingEstimate (rx (ind.LSTF (1): ind.LSIG (2):), vhtBF.ChannelBandwidth);%信道估计数vhtltf = rx(toff +(ind.vhtltf(1):Ind.vhtltf(2)),:);vhtltfdemod = wlanvhtltfdemodulate(vhtltf,vhtbf);chanestbf = wlanvhtltfchannelestimate(vhtltfdemod,vhtbf);

接收的数据场被解调和均衡,以恢复每个空间流的OFDM符号。

%对数据进行解调和均衡vhtdata = rx(设备+ (ind.VHTData (1): ind.VHTData (2)),:);[~, ~, symBF] = wlanVHTDataRecover (vhtdata、chanEstBF noiseVar, vhtBF,...“PilotPhaseTracking”“没有”);

下面绘制每个空间流的均衡星座。注意,较高阶空间流具有更大的方差。这是由于SVD波束形成中使用的通道的有序奇异值。

bfConst = vhtBeamformingPlotConstellation (symBF refSym,...'波束形成传输均衡符号');

这种顺序在接收的时空流的平均功率中也可见。接收到的第一时空流的功率大于第二时空流。这是因为接收到的信号强度是奇异值信道的函数,SVD阶数以递减的方式。

disp ('平均接收到每个时空流的通道功率,使用SVD发射波束成形:'为了i = 1:numsts fprintf('时空流%d: %2.2f W\n',我,...总和(意思是(chanEstBF(:,:)。*连词(chanEstBF(:,我,:)),1),3))结尾
SVD发送波束形成的每空时流平均接收信道功率:空时流1:2 .08 W空时流2:0 .45 W

比较和结论

下图绘制了所有空间流的空间扩展和波束形成传输的均衡星座。注意改进星座采用基于svd的发射波束形成。

str = sprintf(“% dx % d '、NumTxAnts NumRxAnts);compConst = vhtBeamformingPlotConstellation([symSE(:) symBF(:)],refSym,...'波束形成传输均衡符号'...{(str“空间扩张”],[str传输波束形成的]});

还可以通过RMS和最大误差向量幅度(EVM)来测量改进。EVM是解调信号质量的衡量标准。

维生素与= comm.EVM;维生素。AveragingDimensions = [1 2];所有子载波和符号的平均值维生素。MaximumEVMOutputPort = true;维生素。ReferenceSignalSource =“根据参考星座估计”;EVM.ReferenceConstellation = Refsym;[rmsevmse,maxevmse] = EVM(蒙塞尔);% EVM使用空间扩展挣值管理(rmsEVMBF maxEVMBF] =都(symBF);% EVM使用波束形成为了i = 1:Nss fprintf([]“空间流%D EVM:\ n”...'空间扩展:%2.1f%% RMS, %2.1f%% max\n'...'发送波束形成:%2.1f%% RMS, %2.1f%% max\n'],...我,rmsEVMSE(我),maxEVMSE(我),rmsEVMBF(我),maxEVMBF (i));结尾
空间流1 EVM:空间扩展:9.2% RMS,发送波束形成:2.0% RMS, 8.6% max

该示例演示,如果接收器能够是波束格式,则当与空间扩展传输相比,当传输被波束成形时,可以提高SNR。使用波束成形时,接收功率的增加可以导致更可靠的解调或甚至可能用于传输的更高阶调制和编码方案。

在实际的作战仿真中,由于信道状态信息的计算和反馈之间的延迟和反馈量化的波束形成性能会下降。欲知详情,请参阅[2]。

附录

此示例使用这些辅助功能。

选定的书目

  1. IEEE信息技术标准。电信和系统间信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。修改件4:增强了6 GHz以下频段的高吞吐量操作。

  2. Perahia, Eldad和Robert Stacey。下一代无线局域网:802.11n和802.11ac。剑桥大学出版社,2013。

  3. IEEE STD 802.11™-2012 IEEE信息技术标准 - 系统之间的电信和信息交流 - 本地和大都市区域网络 - 特定要求 - 第11部分:无线LAN介质访问控制(MAC)和物理层(PHY)规格。