主要内容

802.11交流传输波束形成

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

介绍

传输波束成形将能量聚焦朝向接收器以改善链路的SNR。在该方案中,发射器称为波束形成器,接收器称为波束形成器。波束形成器使用转向矩阵以将能量引导到波束上。使用通过信道测量获得的信道状态信息来计算转向矩阵。在IEEE 802.11ac [1通过在波束形成器和波束形成器之间发出通道来获得这些测量。声音频道,波束形成器将NDP(空数据包)发送到波束格式。BeamFordee使用声音提供的信道信息来计算反馈矩阵。该矩阵以压缩格式反馈到波束形成器。然后,波束形成器可以使用反馈矩阵来创建转向矩阵和波束形成传输到波束形成器。在该图中示出了形成转向矩阵的过程。

在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 =“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;%dbw.

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

%提取字段的索引IND = WLANFIELDINDIDICES(CFGVHT);% AWGN信道以指定的噪声功率添加噪声。随机种子%过程控制噪声产生以允许重复性。awgnChannel = comm.AWGNChannel;awgnChannel。RandomStream =“与种子mt19937ar”;awgnchannel.seed = 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); / /用户使用

空间扩展传播

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

%配置空间扩展传输vhtse = cfgvht;vhtse.spatialmapping =.'风俗'%使用自定义空间扩展矩阵vhtse.spatialmappingmatrix = allerspatialexpansionmatrix(vhtse);%生成波形tx = wlanWaveformGenerator (psdu vhtSE);将波形通过衰落信道并添加噪声。落后于0%,以考虑通道滤波器延迟。rx = tgacchannel([tx; zeros(15,numtxants)]);%允许随后使用相同的信道实现重置(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,chanesse,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.spatialMapping =.'直接的'%每个TxAnt携带一个STS%产生测深波形soundingPSDU = [];tx = wlanWaveformGenerator (soundingPSDU vhtSound);%通过通道通过探测波形并添加噪声。落后于0%,以考虑通道滤波器延迟。rx = tgacchannel([tx; zeros(15,numtxants)]);%允许随后使用相同的信道实现重置(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 = wlanvhtltfdemoduly(vhtltf,vhtsound);chanestsound = wlanvhtltfchannelestimate(vhtltfdemod,vhtsound);

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

%从信道估计中去除循环移位的影响Chanestsound = VHTBeamFormingRemovsd(Chanestsound,...vhtsound.ChannelBandWidth,VHTSound.NumspacetImestreams);

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

chanestperm = erfute(Chanestsound,[3 2 1]);%换算给NR-BY-NT-NSTV = 0(望远镜,NumTxAnts NumRxAnts);为了i = 1:望远镜(U, V(我::)]=圣言(chanEstPerm(:,:我),“econ”);结尾steeringMatrix = V (:: 1: NumSTS);% Nst-by-Nt-by-Nsts

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

配置带有波束形成的传输VHTBF = CFGVHT;VHTBF.SpatialMapping =.'风俗'将转向矩阵转换为Nst-by-Nsts-by-Ntvhtbf.spatialmappingmatrix = perfute(steeringmatrix,[1 3 2]);%生成波束成形数据传输Tx = WlanWaveFormGenerator(PSDU,VHTBF);%通过通道并添加噪声。落后于0%,以考虑通道滤波器延迟。rx = tgacchannel([tx; zeros(15,numtxants)]);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];所有子载波和符号的%平均值evm.maximumevmoutputport = true;EVM.REFERCESSIGNALSOURCE =.'从参考星座估计';evm.referenceConstellation = Refsym;[rmsevmse,maxevmse] = EVM(Symse);% 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));结尾
空间流2 EVM:空间扩展:9.2% RMS, 44.8% max Transmit波束形成:2.0% RMS, 8.6% max空间流2 EVM:空间扩展:9.2% RMS, 52.3% max Transmit波束形成:4.1% RMS, 12.7% max

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

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

附录

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

选定的参考书目

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

  2. 佩拉希娅,伊尔达德和罗伯特·斯泰西。下一代无线局域网:802.11n和802.11ac。剑桥大学出版社,2013。

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