主要内容

802.11ac传输波束形成

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

简介

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

在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。numtransmitantenna = NumTxAnts;cfgVHT。NumSpaceTimeStreams = NumSTS;cfgVHT。MCS = 4;% 16-QAM,速率3/4

通道配置

本例使用TGac信道模型和延迟配置文件model - 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格式配置对象的属性允许选择不同的空间映射方案。本例使用[的第19.3.11.1.1.2节中提供的示例空间展开矩阵。1].因此,配置“自定义”空间映射。属性来使用自定义空间映射矩阵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)计算波束形成转向矩阵。信道矩阵的奇异值分解得到两个酉矩阵,U而且V,和奇异值的对角矩阵年代.第一个NumSTSV每个子载波作为波束形成的转向矩阵。SVD是使用圣言会函数。

chanEstPerm = permute(chanEstSound,[3 2 1]);%排列到nt - nt - nst[U,S,V] = pagesvd(chanEstPerm,“经济学”);steeringMatrix = permute(V(:,1:NumSTS,:),[3 2 1]);%排列到Nst-by-Nsts-by-Nt

将上述计算的波束形成导向矩阵应用于自定义空间映射矩阵,并使用它通过同一信道发送数据。

配置一个波束形成传输vhtBF = cfgVHT;vhtBF。年代patialMapping =“自定义”;vhtBF。年代patialMappingMatrix = steeringMatrix;生成波束形式的数据传输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”“没有”“LDPCDecodingMethod”“norm-min-sum”);

为每个空间流绘制均衡星座。高阶空间流的方差较大。这是由于SVD波束形成中使用的信道的有序奇异值。

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

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

disp (SVD发射波束形成的每个时空流的平均接收信道功率:
SVD发射波束形成的每空时流平均接收信道功率:
i = 1: fprintf('时空流%d: %2.2f W\n',我,...总和(意思是(chanEstBF(:,:)。*连词(chanEstBF(:,我,:)),1),3))结束
时空流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].

参考文献

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

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