主要内容

802.11ac传输波束形成

这个例子展示了如何提高IEEE®802.11ac™链路的性能,当发射器上的信道状态信息可用时,通过波束形成传输。

介绍

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

在IEEE 802.11ac中,单用户波束形成能力不是强制性的。因此,多天线发射机可能必须使用不同的方案来将数据包发送到不能作为波束形成器的接收机。其中一个方案就是空间扩张。空间扩展允许在更多的发射天线上传输多个时空流。与直接映射空时流来发射天线相比,使用空间扩展可以在平坦衰落信道中提供较小的发射分集增益[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。NumTransmitAntennas = NumTxAnts;cfgVHT。NumSpaceTimeStreams = NumSTS;cfgVHT。MCS = 4;% 16-QAM,速率3/4

通道配置

在该示例中,TGAC信道模型与延迟配置文件模型-b一起使用。通过种子控制沟道实现以允许重复性。

tgacChannel = wlanTGacChannel;tgacChannel。DelayProfile ='model-b';TGACCHANNEL.CHANNELBANDWIDTH = CFGVHT.CHANNELBANDWIDTH;TGACCHANNEL.SAMPLEDE = WLANSAMPLEDE(CFGVHT);tgacchannel.numreceiveantennas = numnrxants;tgacchannel.numtransmitantennas = numtxants;tgacchannel.transmitreceivedistance = 100;%仪表tgacChannel。RandomStream ='MT19937AR与种子';tgacChannel。种子= 70;%种子允许重复性

噪声被添加到信道输出的时域波形中,noisePower

noispower = -37;%瓦分贝

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

%提取字段的索引印第安纳州= wlanFieldIndices (cfgVHT);%AWGN通道添加具有指定噪声功率的噪声。随机过程控制噪声产生的种子,以允许重复性。awgnChannel = comm.AWGNChannel;awgnChannel。RandomStream ='MT19937AR与种子';awgnChannel。种子= 5;awgnChannel。NoiseMethod =“方差”;awgnChannel。Variance = 10^(noisePower/10);计算OFDM解调后的期望噪声方差Noisevar = VHTBeamFormingNoisevariance(Noispower,CFGVHT);%空间流数量Nss = NumSTS / (cfgVHT.STBC + 1);%获取VHT字段中占用的子载波的数量ofdmInfo = wlanVHTOFDMInfo (“VHT-Data”,cfgvht);nst = 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。年代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(设备+ (ind.VHTData (1): ind.VHTData (2)),:);[~, ~, symSE] = wlanVHTDataRecover (vhtdata、chanEstSE noiseVar, vhtSE,...'先行者屏蔽'“没有”);

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

recsym = wlanreferencesymbols(cfgvht);%参考星座seconst = vhtbeamformingplotconstellation(Symse,Refsym,...“空间扩展、传播、均衡符号”);

当SNR大致相同时,每个空间流的星座中的方差大致相同。这是因为每个时空流的通道中的平均功率大致相同:

disp (“空间扩展时每个时空流的平均接收信道功率”i = 1:NumSTS 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);估计符号时序有钱人= 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.].信道矩阵的奇异值分解得到两个酉矩阵,UV,以及奇异值的对角线矩阵年代.首先NumSTSV每副载波用作波束形成转向矩阵。SVD是用函数计算的圣言会

chanEstPerm = permute(chanEstSound,[3 2 1]);%置换为n -by nt -by nstV = 0(望远镜,NumTxAnts NumRxAnts);i = 1:nst [u,s,v(i,:,:)] = svd(chanestperm(::,i),“经济学”);结束steeringMatrix = V (:: 1: NumSTS);%nst-by-ns-nsts

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

配置带有波束形成的传输vhtBF = cfgVHT;vhtBF。年代patialMapping =“自定义”;%换算矩阵到NST-BY-NT-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(设备+ (ind.VHTData (1): ind.VHTData (2)),:);[〜,〜,symbf] = wlanvhtdatarecover(vhtdata,chanestbf,noisevar,vhtbf,...'先行者屏蔽'“没有”);

每个空间流的均衡星座如下图所示。注意,高阶空间流的方差较大。这是由于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是对解调信号质量的衡量。

EVM = comm.evm;evm.averagingdimensions = [1 2];%所有子载波和符号的平均值维生素。MaximumEVMOutputPort = true;维生素。ReferenceSignalSource =“根据参考星座估算”;维生素。ReferenceConstellation = refSym;挣值管理(rmsEVMSE maxEVMSE] =都(symSE);使用空间扩展%EVM[rmsevmbf,maxevmbf] = EVM(SYMBF);%使用波束形成的EVMi = 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%最大空间流2 EVM:空间扩展:9.2%RMS,52.3%MAX发射波束成形:4.1%RMS,最大12.7%

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

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

附录

这个例子使用了这些辅助函数。

选定的参考书目

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

  2. 荔枝,埃尔塔德和罗伯特斯蒂奇。下一代无线局域网:802.11n和802.11ac。剑桥大学出版社,2013年出版社。

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