的802.11ac多用户MIMO预编码与WINNER II信道模型

此示例展示了在WINNER II衰落信道上的802.11ac™多用户下行链路传输的发送和接收处理。要运行此示例,您需要WLAN工具箱™和通信工具箱™的WINNER II通道模型。只需要一个WINNER II通道系统对象™来设置从一个访问点到所有用户的通道。

介绍

802.11ac支金宝app持下行(到站接入点)多用户传输,最多支持4个用户和多达8个发射天线,以增加链路的总吞吐量[1]。根据用户的预定传输时间,调度器查找准备传输给其他用户的其他小数据包。如果可用,它将这些用户安排在相同的时间间隔内,从而减少了多个传输所花费的总时间。

这种同时传输具有更高的复杂性,因为成功接收单个用户的有效载荷需要预编码,也称为发送端波束形成。预编码假设信道状态信息(CSI)在发射机是已知的。中所述的探测包802.11交流传输波束形成(WLAN工具箱)的例子,用于确定在一个多用户传输中每个用户的CSI。每个用户都将各自的CSI反馈给波束形成器。波束形成器使用来自所有用户的CSI来设置用于后续数据传输的预编码(空间映射)矩阵。

本例使用通道反转技术进行三用户传输,每个用户分配不同数量的空间流,每个用户分配不同的速率参数。该系统的特征如下图所示。

该示例生成多用户发射波形,将其通过多用户WINNER II通道,并为每个用户解码接收到的信号以计算误码率。在进行数据传输之前,该示例使用一个空数据包(NDP)传输来为每个用户探测不同的信道,并在完全反馈的假设下确定预编码矩阵。

仿真参数及配置

对于802.11ac,最多允许8个空间流。在本例中使用了三个用户的8x8 MIMO配置,其中第一个用户有三个流,第二个用户有一个流,第三个用户有分配给它的四个流。每个用户的不同速率参数和负载大小被指定为传输配置的矢量参数。

s = rng (10);%设定RNG种子重复性%的传输参数chanBW =“CBW80”;%通道带宽numUsers = 3;用户数量%numSTSVec = [3 1 4];每个用户的流数量userPos = [0 1 2];%的用户位置mcsVec = [4 6 8];每个用户% MCS: 16QAM, 64QAM, 256QAMapepVec = [520 192 856];每个用户%有效载荷,以字节为单位chCodingVec = {'BCC','LDPC','LDPC'};每用户信道编码%预编码和均衡参数precodingType =“ZF”;%预编码类型;ZF和MMSE的信噪比= 47;%信噪比在分贝eqMethod =“ZF”;%均衡方法创建多用户VHT格式配置对象numTx =总和(numSTSVec);cfgVHTMU = wlanVHTConfig(“ChannelBandwidth”chanBW,...“NumUsers”numUsers,...“NumTransmitAntennas”,numTx,...“GroupID”,2,...“NumSpaceTimeStreams”numSTSVec,...“UserPositions”userPos,...“主持人”mcsVec,...“APEPLength”apepVec,...“ChannelCoding”,chCodingVec);

将发射天线的数目设置为所有使用的空时流的总和。这意味着没有空时分组编码(STBC)或空间扩展被用于传输。

听起来(NDP)配置

用于预编码,信道探测首先用于确定由用户(接收器)经历的信道。这种信道状态信息被发送回发射机,因为它要被用于后续的数据传输。据推测,该通道在两个传输缓慢变化。对于多用户传输中,相同的NDP(空数据分组)被发送到每个调度用户的[2]。

% VHT探测(NDP)配置,用于相同数量的流cfgVHTNDP = wlanVHTConfig (“ChannelBandwidth”chanBW,...“NumUsers”1,...“NumTransmitAntennas”,numTx,...“GroupID”,0,...“NumSpaceTimeStreams”总和(numSTSVec),...“主持人”,0,...“APEPLength”,0);

指定的流的数量是所使用的所有时空流的总和。这允许完整的通道被探测。

%生成空数据包,没有数据txNDPSig = wlanWaveformGenerator([], cfgVHTNDP);NPDSigLen = size(txNDPSig, 1);

赢家II频道室内办公室(A1)方案

在这个例子中,是1comm.WINNER2Channel在WINNER II信道模型通信工具箱™系统对象设置模拟三种渠道给不同的用户。室内办公室(A1)的非线的视距(NLOS)方案被配置为每个用户。具有固定功率延迟曲线,每一个用户体验与175美国最大延迟16径衰落信道。每个用户还分配低移动性以适合的802.11ac。

接入点采用半径为20cm的统一圆形阵列(UCA)。每个用户使用一个元素之间间距为5cm的均匀线性阵列(ULA)。假设每个用户的接收天线数目等于分配给他们的空时流数目。

设置WINNER II通道的布局参数AA = winner2.AntennaArray (“台湾”、numTx 0.2);i = 1:numUsers AA(i+1) = winner2.AntennaArray(“乌拉”,numSTSVec(我),0.05);结束STAIdx = 2: (numUsers + 1);APIdx = {1};rndSeed = 12;cfgLayout = winner2。layoutparset(STAIdx, APIdx, numUsers, AA, [], rndSeed);cfgLayout。的配对= [(1、numUsers); 2: (numUsers + 1)];一个对所有用户的访问点cfgLayout。numUsers ScenarioVector = 1 (1);% A1方案为所有链接cfgLayout。传播向量= 0 (1,numUsers);%仿真结果我= 1:numUsers%为每个用户随机设定速度v = rand(3,1) - 0.5;cfgLayout.Stations (i + 1)。速度= v /规范(v,“回回”);结束为WINNER II通道设置模型参数cfgModel = winner2.wimparset;cfgModel。FixedPdpUsed =“是的”;cfgModel.FixedAnglesUsed =“是的”;cfgModel。IntraClusterDsUsed =“不”;cfgModel.RandomSeed = 111;%重复性%,为3级的用户的最大速度为1米/秒。建立SampleDensity%字段,以确保采样率与通道带宽匹配。maxMSVelocity = max(cell2mat(cellfun(@(x)范数)(x,“回回”),...{cfgLayout.Stations.Velocity},“UniformOutput”、假)));cfgModel。UniformTimeSampling =“是的”;cfgModel.SampleDensity = ROUND(physconst(“光速”)/...cfgModel.CenterFrequency / 2 /(maxMSVelocity / wlanSampleRate(cfgVHTMU)));%创建WINNER II信道系统对象WINNERChan = comm.WINNER2Channel(cfgModel, cfgLayout);调用info方法检查一些派生的通道参数chanInfo = info (WINNERChan)% #好< NOPTS >
chanInfo =结构与字段:NumLinks:3个NumBSElements:8 8 8] NumMSElements:[3 1 4] NumPaths:[16 16 16]采样率:[8.0000e + 07 8.0000e + 07 8.0000e + 07] ChannelFilterDelay:[77 7] NumSamplesProcessed:0

该信道滤波的每个用户的延迟被存储以考虑其在接收器的补偿。在实践中,将用于符号定时估计。在发射机,一个额外的10全零样本附加到帐户信道滤波器的延迟。

chanDelay = chanInfo.ChannelFilterDelay;numPadZeros = 10;%设置ModelConfig。匹配输入信号长度的NumTimeSamples%避免警告WINNERChan.ModelConfig。NumTimeSamples =NPDSigLen + numPadZeros;%声音所有用户的WINNER II信道chanOutNDP = WINNERChan([txNDPSig;零(numPadZeros,numTx)]);%增加情况下rxNDPSig = cellfun(@awgn,chanOutNDP,...num2cell(SNR *那些(NUMUSERS位,1)),“UniformOutput”,假);

通道状态信息反馈

每个用户使用接收到的NDP信号估计自己的信道,并计算它可以发送回发射机的信道状态信息。本例使用每个用户看到的信道的奇异值分解来计算CSI反馈。

垫=细胞(NUMUSERS位,1);uIdx = 1:NUMUSERS根据每个用户接收到的信号计算反馈矩阵垫{uIdx} = vhtCSIFeedback (rxNDPSig {uIdx} (chanDelay (uIdx) + 1:,:),...cfgVHTNDP,uIdx,numSTSVec);结束

假设完美的反馈,与CSI的无压缩或量化损失,发射机计算引导矩阵用于使用任一迫零或最小均方误差(MMSE)预编码基于技术的数据传输。这两种方法都试图取消出来的兴趣和干扰用户的内流引起的干扰其他用户。基于MMSE的方法避免了迫零技术固有的噪声增强。其结果是,它执行在低信噪比更好。

将每个用户的CSI压缩到一个矩阵中numST =长度(垫{1});子载波数%steeringMatrix =零(numST,总和(numSTSVec),总和(numSTSVec));% Nst-by-Nt-by-NstsuIdx = 1:numUsers stsIdx = sum(numSTSVec(1:uIdx-1))+(1:numSTSVec(uIdx));steeringMatrix (:,:, stsIdx) =垫{uIdx};% Nst-by-Nt-by-Nsts结束%迫零或MMSE预编码溶液如果比较字符串(precodingType“ZF”) = 0;% Zero-forcing其他的= (numTx/(10^(snr/10))) * eye(numTx);%的患者结束我= 1:numST%信道反转预编码H =挤压(steeringMatrix(I,:,:));steeringMatrix(I,:,:) = H /(H'* H +增量);结束%根据转向矩阵设置空间映射cfgVHTMU.SpatialMapping =“自定义”;cfgVHTMU。SpatialMappingMatrix = permute(steeringMatrix,[1 3 2]);

数据传输

随机位用作各个用户的有效负载。单元格数组用于保存每个用户的数据位,txDataBits。对于多用户传输,单个用户的有效负载被填充,以便所有用户的传输持续时间相同。[的第9.12.6节描述了这种填充过程。1]。在本例中,为了简单起见,用0填充负载,以便为每个用户创建PSDU。

创建数据序列,每个用户一个txDataBits = cell(numUsers, 1);psduDataBits = cell(numUsers, 1);uIdx = 1:NUMUSERS为每个用户生成有效负载txDataBits{uIdx} = randi([0 1], cfgVHTMU.APEPLength(uIdx)* 8,1,“int8”);% Pad有效载荷与零形成一个PSDU(txDataBits psduDataBits {uIdx} = {uIdx};...0 (cfgVHTMU.PSDULength (uIdx) -cfgVHTMU.APEPLength (uIdx)) * 8, 1,“int8”));结束

使用格式配置,cfgVHTMU,利用转向矩阵,生成多用户VHT波形。

wlanWaveformGenerator(psduDataBits, cfgVHTMU);

WINNER II通道对象一旦锁定,就不允许改变输入信号的大小,因此我们必须在通过波形之前调用release方法。此外,当我们重新启动通道时,我们希望它在波形之前重新处理NDP,以便准确地模拟通道连续性。只提取通道输出的波形部分用于每个用户的后续处理。

释放(WINNERChan);%设置ModelConfig。匹配NDP加的总长度的NumTimeSamples%波形和填充零WINNERChan.ModelConfig。NumTimeSamples =...WINNERChan.ModelConfig。NumTimeSamples + length(txSig) + numPadZeros;%通过赢者II频道传送给所有用户,共10个全零%样本附加说明频道滤波器延迟chanOut = WINNERChan ([txNDPSig;0 (numPadZeros numTx);...txSig;零(numPadZeros,numTx)]);提取每个用户的波形输出chanOut = cellfun(@(x) x(NPDSigLen+numPadZeros+1:end,:), chanOut,“UniformOutput”,假);%增加情况下cellfun(@awgn, chanOut,...num2cell(SNR *那些(NUMUSERS位,1)),“UniformOutput”,假);

每个用户的数据恢复

每个用户的接收信号都是单独处理的。这个示例假设没有前端缺陷,并且为了简单起见,接收方知道传输配置。

用户编号指定对传输进行解码的感兴趣的用户。这还用于索引特定于用户的配置对象的向量属性。

%从配置中获取字段索引,假定在接收端已知印第安纳州= wlanFieldIndices (cfgVHTMU);%单用户接收器恢复有效载荷位rxDataBits =细胞(NUMUSERS位,1);定标器=零(NUMUSERS位,1);spAxes = gobjects(总和(numSTSVec),1);hfig =系数(“名字”,“每流均衡符号星座”);uIdx = 1:NUMUSERS rxNSig = rxSig {uIdx}(chanDelay(uIdx)+1:端,:);%用户时空流stsU = numSTSVec (uIdx);%估计噪声功率在VHT领域L-LTF = rxNSig(ind.LLTF(1):ind.LLTF(2),:);demodLLTF = wlanLLTFDemodulate(L-LTF,chanBW);NVAR = helperNoiseEstimate(demodLLTF,chanBW,总和(numSTSVec));%进行基于VHT-LTF的信道估计rxVHTLTF = rxNSig (ind.VHTLTF (1): ind.VHTLTF (2):);wlanvhtltf解调器(rxVHTLTF, chanBW, numSTSVec);chanEst = wlanVHTLTFChannelEstimate(demodVHTLTF, chanBW, numSTSVec);在VHT数据字段中恢复信息位rxVHTData = rxNSig (ind.VHTData (1): ind.VHTData (2):);[rxvhtdatarecover (rxVHTData,...chanEst, nVar, cfgVHTMU, uIdx,...“EqualizationMethod”eqMethod,“PilotPhaseTracking”,“没有”,...“LDPCDecodingMethod”,“layered-bp”,“MaximumLDPCIterationCount”6);为每个用户的所有流绘制均衡符号定标器(uIdx) =装天花板(max (abs([真实(eqsym (:));图像放大(eqsym (:))))));i = 1:stsU subplot(numUsers, max(numSTSVec), (uIdx-1)*max(numSTSVec)+i);情节(重塑(eqsym(:,:我),[],1),“。”);轴广场spAxes(sum([0 numSTSVec(1:(uIdx-1)))+i) = gca;%商店轴手柄标题([“用户”num2str (uIdx)”,流”num2str (i)));网格;结束结束所有副图和比例图的比例轴i = 1:numel(spAxes) xlim(spAxes(i),[-max(scaler) max(scaler)];ylim (spAxes(我),(-麦克斯(标量)马克斯(标量)));结束pos =得到(hfig,“位置”);集(hfig,“位置”, [pos(1)*0.7 pos(2)*0.7 1.3*pos(3) 1.3*pos(4)];

每流均衡符号星座图对仿真参数进行了验证,表明了该技术的有效性。请注意每个用户在传输端指定的可分辨的16QAM、64QAM和QPSK星座。还可以观察单个用户在不同流上的EVM降级。这是信道反演技术的一个典型特征。

将恢复的数据位与传输的有效载荷位进行比较,以确定位错误率。

%对比恢复的位针对每个用户APEPLength信息比特ber = inf(1, numUsers);uIdx = 1:numUsers idx = (1:cfgVHTMU.APEPLength(uIdx)*8);[~, ber(uIdx)] = biterr(txDataBits{uIdx}(idx), rxDataBits{uIdx}(idx));disp ([“误码率的用户”num2str (uIdx)“:”num2str (ber (uIdx))));结束rng(年代);%恢复RNG状态
用户1的误码率:0用户2的误码率:0用户3的误码率:0.00014603

位错误的数量少,噪声方差内,指示成功数据针对每个用户的所有流进行解码的,尽管在单独的流可见EVMS的变化。

结论性的进一步探讨

该示例演示了如何使用WINNER II衰落信道系统对象来建模802.11ac中的多用户VHT传输。进一步的探索包括修改传输参数,天线阵列,信道场景,LOS与NLOS的传播,路径损耗建模和阴影建模。

WLAN工具箱中还有另一个版本,它为三个用户使用三个独立的TGac衰落信道:802.11ac多用户MIMO预编码(WLAN工具箱)。

附录

本例使用WLAN Toolbox™中的以下帮助函数:

选定的参考书目

  1. IEEE 802.11®Std ac™-2013 IEEE标准信息技术——之间的通信和信息交换系统-本地和市区网络特定需求-第11部分:无线局域网介质访问控制(MAC)和物理层(体育)规范-第四修正案:增强对高吞吐量在乐队低于6 GHz。

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

  3. IEEE标准802.11™-2012 IEEE信息技术标准 - 本地和城域网 - - 具体要求 - 第11部分系统间远程通信和信息交换:无线局域网媒体访问控制(MAC)和物理层(PHY)规格。

  4. 第一届优胜者II,“优胜者II渠道模式”,D1.1.2, 2007年9月。

  5. 布雷特,G., H. Sampath, S. Vermani,等,“TGac通道模型附录”,第12版。2010年3月,IEEE 802.11-09/0308r12。