主要内容

802.11ac传输波束形成

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

简介

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

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

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

波形的配置

本例中使用了一个4x2 MIMO配置,具有2个时空流。

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

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

cfgVHT = wlanVHTConfig;cfgVHT。ChannelBandwidth =“CBW20”;cfgVHT。APEPLength = 4000;cfgVHT。numtransmitantenna = 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 with seed”;tgacChannel。种子= 70;%种子以允许可重复性

在信道输出的时域波形中加入噪声,功率为noisePower

noisePower = -37;%瓦分贝

为模拟设置其他对象和变量。

用于提取字段的%索引ind = wlanFieldIndices(cfgVHT);% AWGN信道添加具有指定噪声功率的噪声。随机%过程控制噪音产生的种子,以允许重复性。awgnChannel = com . awgnChannel;awgnChannel。RandomStream =“mt19937ar with seed”;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);Nst = ofdmInfo.NumTones;生成一个随机的PSDU,该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。年代patialMapping =“自定义”%使用自定义空间展开矩阵vhtSE。年代patialMappingMatrix = helperSpatialExpansionMatrix(vhtSE);生成波形tx = wlanWaveformGenerator(psdu,vhtSE);通过衰落通道传递波形并添加噪声。落后于0添加%以允许信道滤波器延迟。rx = tgacChannel([tx;NumTxAnts 0(15日)]);允许随后使用相同的通道实现重置(tgacChannel);rx = awgnChannel(rx);允许随后使用相同的噪声实现重置(awgnChannel);估计符号计时tOff = wlanSymbolTimingEstimate(rx(ind.LSTF(1):ind.LSIG(2),:),vhtSE.ChannelBandwidth);%信道估计vhtltf = rx(设备+ (ind.VHTLTF (1): ind.VHTLTF (2)),:);vhtltfDemod = wlanVHTLTFDemodulate(vhtltf,vhtSE);chanEstSE = wlanVHTLTFChannelEstimate(vhtltfDemod,vhtSE);

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

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

每个空间流的星座在下面绘制。

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

由于信噪比近似相同,星座中的方差对于每个空间流近似相同。这是因为信道中的平均功率在每个时空流中平均大约相同:

disp (随着空间扩展,每个时空流的平均接收信道功率:i = 1: fprintf('时空流%d: %2.2f W\n',我,...总和(意思是(chanEstSE(:,:)。*连词(chanEstSE(:,我,:)),1),3))结束
空间扩展时,每时空流平均接收信道功率:时空流1:0 .73 W时空流2:0 .50 W

波束形成传输

当接收机能够成为波束阵列时,与空间扩展相比,波束形成的传输可以产生更高的信噪比。现在,我们将展示使用通道状态信息来创建和使用转向矩阵的优势。为了计算波束形成的转向矩阵,将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(tOff+(vhtLLTFInd(1):vhtLLTFInd(2)),:);vhtltfDemod = wlanVHTLTFDemodulate(vhtltf,vhtSound);chanEstSound = wlanVHTLTFChannelEstimate(vhtltfDemod,vhtSound);

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

从信道估计中去除循环移位的影响chanEstSound = vhtBeamformingRemoveCSD(chanEstSound,...vhtSound.ChannelBandwidth vhtSound.NumSpaceTimeStreams);

在本例中,波束形成转向矩阵是使用奇异值分解(SVD) [3.].信道矩阵的奇异值分解得到两个酉矩阵,U而且V,和奇异值的对角矩阵年代.第一个NumSTSV每个子载波作为波束形成的转向矩阵。SVD是使用函数计算的圣言会

chanEstPerm = permute(chanEstSound,[3 2 1]);%排列到nr - nt -by- nstV = 0 (Nst,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);估计符号计时tOff = wlanSymbolTimingEstimate(rx(ind.LSTF(1):ind.LSIG(2),:),vhtBF.ChannelBandwidth);%信道估计vhtltf = rx(设备+ (ind.VHTLTF (1): ind.VHTLTF (2)),:);vhtltfDemod = wlanVHTLTFDemodulate(vhtltf,vhtBF);chanEstBF = wlanVHTLTFChannelEstimate(vhtltfDemod,vhtBF);

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

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

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

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

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

disp (SVD发射波束形成的每个时空流的平均接收信道功率:i = 1: 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是一种解调信号质量的度量。

EVM = com .EVM;维生素。AveragingDimensions = [1 2];%所有子载波和符号的平均值维生素。MaximumEVMOutputPort = true;维生素。ReferenceSignalSource =“从参考星座估计”;维生素。ReferenceConstellation = refSym;[rmsEVMSE,maxEVMSE] = EVM(symSE);% EVM使用空间展开[rmsEVMBF,maxEVMBF] = EVM(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, 44.8% max发射波束形成:2.0% RMS, 8.6% max空间流2 EVM:空间扩展:9.2% RMS, 52.3% max发射波束形成:4.1% RMS, 12.7% max

这个例子表明,如果接收器能够成为波束形成器,与空间扩展传输相比,当传输波束形成时,信噪比可能会得到改善。使用波束形成时接收功率的增加可以导致更可靠的解调,甚至可能使用更高阶的调制和编码方案用于传输。

在实际的作战仿真中,波束形成的性能会因为波束生成和反馈量化之间的延迟而降低。有关更多信息,请参阅[2].

附录

本例使用这些helper函数。

选定的参考书目

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

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

  3. IEEE信息技术标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。