利用天线阵列提高无线通信的信噪比和容量

无线通信系统的目标是为尽可能多的用户以尽可能高的数据速率给定的约束,如辐射功率限制和经营预算。为了提高数据传输速率,关键是提高信噪比(SNR)。为了服务更多的用户,关键是要重复使用的资源。在过去的几十年中,许多算法已被采纳,以提高信噪比和在时间,频率复用的资源,和编码空间。这个例子显示了通过天线阵列如何帮助提高无线链路的SNR和能力。

介绍

天线阵列已成为5G无线通信系统的标准配置的一部分。因为在天线阵列的多个元件,这些无线通信系统通常被称为多输入多输出(MIMO)系统。天线阵列可以帮助改善SNR通过横跨多个发射探索冗余和接收信道。他们还可以再利用系统的空间信息,以提高覆盖率。

对于本例,假设系统部署在60 GHz,这是5G系统考虑的频率。

c = 3 e8;%传播速度fc = 60 e9;%载波频率拉姆达= C / FC;%的波长rng (6466);

在没有一般性损失的情况下,将发射机放置在原点,并将接收机放置在大约1.6公里之外。

txcenter = [0; 0; 0];rxcenter = [1500; 500; 0];

在本例中,scatteringchanmtx功能将被用于创建不同的发送的信道矩阵和接收阵列配置。发射之间以及功能模拟多个散射体接收阵列。将信号从发射阵列的所有散射体第一行进,然后反弹的散射和在接收阵列到达。因此,每个散射体限定的发射之间的信号路径和接收阵列,将所得的信道矩阵描述了一种多路径环境。的功能的工作原理,在任何指定频带任意大小的天线阵列。

通过阵列增益提高视线传播的信噪比

最简单的无线信道是视线传播(LOS)。这种渠道虽然简单,但在农村地区经常可以找到。在这种情况下采用天线阵可以提高接收机的信噪比,进而提高通信链路的误码率(BER)。

SISO LOS信

在讨论MIMO系统的性能之前,用单输入单输出(SISO)通信系统构建一个基线是很有用的。SISO LOS信道具有从发射机到接收机的直接路径。这种信道可以建模为多径信道的一种特殊情况。

[~,txang] = rangeangle (rxcenter txcenter);[~,rxang] = rangeangle (txcenter rxcenter);txsipos = [0; 0; 0];rxsopos = [0; 0; 0];G = 1;%的涨幅为路径sisochan = scatteringchanmtx (txsipos rxsopos、txang rxang, g);

使用BPSK调制,比特错误率(BER)对于这样的SISO信道可以被绘制成

Nsamp = 1E6;X =兰迪([0 1],Nsamp,1);ebn0_param = -10:2:10;Nsnr = numel(ebn0_param);ber_siso = helperMIMOBER(sisochan,X,ebn0_param)/ Nsamp;helperBERPlot(ebn0_param,ber_siso);传说('SISO'

SIMO LOS信

与SISO系统建立的基线,这部分聚焦在单输入多输出(SIMO)系统。在这样的系统中,存在一个发射天线,但多个接收天线。再次,假定有发射器和接收器之间的直接路径。

假设接收阵列为半波长间距的4元ULA,则SIMO信道可以建模为

rxarray = phased.ULA(“NumElements”4,“ElementSpacing”λ/ 2);rxmopos = getElementPosition(rxarray)/λ;simochan = scatteringchanmtx(txsipos,rxmopos,txang,rxang,克);

在SIMO系统中,由于跨越接收阵列元件所接收的信号是相干的,所以能够操纵接收阵列朝向改善SNR的发射机。注意,这假定信号进入方向是已知的接收器。在现实中,使用的到达估计算法方向经常得到的角度。

rxarraystv = phased.SteeringVector('SensorArray'rxarray,...'PropagationSpeed',C);或者说是=连词(rxarraystv (fc rxang));ber_simo = helperMIMOBER(simochan,X,ebn0_param,1,WR)/ Nsamp;helperBERPlot(ebn0_param,[ber_siso(:) ber_simo(:)]);传说('SISO''SIMO'

的BER曲线示出了6dB的增益提供的接收阵列。

味噌洛杉矶通道

多输入单输出(MISO)系统以类似的方式工作。在这种情况下,发射机是一个四元ULA与半波长间距。

txarray = phased.ULA (“NumElements”4,“ElementSpacing”λ/ 2);txmipos = getElementPosition (txarray) /λ;misochan = scatteringchanmtx (txmipos rxsopos、txang rxang, g);

视线MISO系统的线达到最佳SNR当发射机具​​有接收器的知识和操纵朝向接收器的光束。另外,做的SISO系统进行公平的比较,总的发射机功率应该在这两种情况下是相同的。

txarraystv = phased.SteeringVector('SensorArray'txarray,...'PropagationSpeed',C);txang wt = txarraystv (fc) ';ber_miso = helperMIMOBER(misochan,X,ebn0_param,重量,1)/ Nsamp;helperBERPlot(ebn0_param,[ber_siso(:) ber_simo(:) ber_miso(:)]);传说('SISO''SIMO''味噌'

请注意,与前转向,MISO的性能SIMO系统的性能相匹配,获得在SNR6分贝。它可能不是那样直观相比SIMO情况,因为总发射功率不增大。然而,通过用4元件发射阵列替代单个全向天线,6dB的增益来实现。

米姆洛通道

由于SIMO系统提供来自接收阵列的阵列增益,而MISO系统提供来自发射阵列的阵列增益,具有LOS传播的MIMO系统可以同时受益于发射和接收阵列增益。

假设MIMO系统具有4元件发射阵列和一个4元件接收阵列。

mimochan = scatteringchanmtx (txmipos rxmopos、txang rxang, g);

以达到最佳的SNR,发射阵列和接收阵列需要朝向彼此被操纵。根据该结构,所述BER曲线可以计算为

txang wt = txarraystv (fc) ';或者说是=连词(rxarraystv (fc rxang));ber_mimo = helperMIMOBER (wt, mimochan x, ebn0_param wr) / Nsamp;helperBERPlot (ebn0_param [ber_siso (:) ber_simo (:) ber_mimo (:)));传说('SISO''SIMO'“再分配”

正如所料,BER曲线示出的是,发射阵列和接收阵列有助于6dB的阵列增益,导致12dB的在SISO情况下的总增益。

提高信噪比的分集增益的多径信道

前面部分中的所有通道都是视线通道。虽然在一些无线通信系统中可以找到这样的信道,但一般情况下,无线通信是在多径衰落环境中进行的。本例的其余部分将探索如何在多路径环境中使用数组。

SISO多径信道

假设有在通道10个随机放置散射体,那么就会有从发射器到接收器10分的路径,如下面的图所示。

Nscat = 10;[~,~,~,scatpos] =...helperComputeRandomScatterer (txcenter rxcenter Nscat);helperPlotSpatialMIMOScene (txsipos rxsopos,...txcenter、rxcenter scatpos);

为简单起见,假设沿所有路径传输的信号在同一符号周期内到达,因此信道的频率是平坦的。

为了模拟衰落信道的误码率曲线,信道需要随时间变化。假设我们有1000帧,每帧有10000位。基线SISO多径信道误码率曲线为

Nframe = 1E3;Nbitperframe = 1E4;Nsamp = Nframe * Nbitperframe;X =兰迪([0 1],Nbitperframe,1);NERR =零(1,Nsnr);m = 1时:Nframe sisompchan = scatteringchanmtx(txsipos,rxsopos,NSCAT);WR = sisompchan'/规范(sisompchan);NERR = NERR + helperMIMOBER(sisompchan,X,ebn0_param,1,WR);结束ber_sisomp = NERR / Nsamp;helperBERPlot(ebn0_param,[ber_siso(:) ber_sisomp(:)]);传说('SISO LOS'“SISO多路径”);

相比于从LOS信道导出的BER曲线,所述BER与每比特能量与噪声功率谱密度比(的Eb / N0)的增加要慢得多脱落由于衰落由多径传播引起的。

SIMO多径信道

随着越来越多的接收天线被用于在接收阵列,所接收的信号的多个副本都可以在接收器。再次,假设在接收器处的4元件ULA。

组合权重的最佳可通过匹配的信道响应导出。这样的组合方案经常被称为最大比合并(MRC)。尽管理论上这种方案需要信道的知识,在实践中的信道响应通常可以在估计接收阵列。

NERR =零(1,Nsnr);m = 1:Nframe simompchan = scatteringchanmtx(txsipos,rxmopos,Nscat);或者说是= simompchan ' /规范(simompchan);nerr = nerr + helperMIMOBER (simompchan x, ebn0_param 1 wr);结束ber_simomp = NERR / Nsamp;helperBERPlot(ebn0_param,[ber_sisomp(:) ber_simomp(:)]);传说(“SISO多路径”“SIMO多路径”);

注意,接收到的信号不再由指向特定方向的方向矢量加权。相反,在这种情况下,接收阵列的权值是由信道响应的复共轭给出的。否则,多径可能使接收信号与发射信号相位不一致。这假设信道响应是已知的。如果信道响应未知,可以用导频信号来估计信道响应。

从BER曲线可以看出,SIMO系统不仅比SISO系统提供了一些信噪比增益,而且SIMO系统的BER曲线的斜率也比SISO系统的BER曲线更陡。由斜率变化产生的增益通常称为多样性增益。

味噌多路径通道

事情变得更有趣时,有在MISO系统中的多径传播。首先,如果信道是已知的发送器,则该策略,以改善SNR类似于最大比合并。来自发射阵列的每个元件所辐射的信号应被加权,从而所传播的信号可以相干地在接收机处被加入。

NERR =零(1,Nsnr);m = 1时:Nframe misompchan = scatteringchanmtx(txmipos,rxsopos,NSCAT);重量= misompchan'/规范(misompchan);NERR = NERR + helperMIMOBER(misompchan,X,ebn0_param,重量,1);结束ber_misomp = NERR / Nsamp;helperBERPlot(ebn0_param,[ber_sisomp(:) ber_simomp(:) ber_misomp(:)]);传说(“SISO多路径”“SIMO多路径”“味噌多路径”);

注意BER曲线中显示的发射分集增益。与SIMO多径信道情况相比,MISO多径系统的性能不是很好。这是因为只有一个接收信号的副本,而发射功率在多个路径之间传播。当然,在发射端放大信号以获得同等的增益是有可能的,但这会带来额外的成本。

如果通道不知道发射器,还是有办法去探索通过空时编码的多样性。例如,Alamouti码是公知的编码方案,可用于以实现分集增益,当信道是未知的。有兴趣的读者去探索介绍MIMO系统例如通信系统工具箱™。

MIMO多路径通道

本实施例的其余部分将集中于多径MIMO信道。特别地,本节中示出了其中散射体在环境中的数量小于在所述发射元件的数量更大的与接收阵列的情况。这种环境通常被称为是一个丰富的散射环境。

在深入研究具体的性能度量之前,快速了解一下通道的外观是很有帮助的。下面的辅助函数创建一个4x4的MIMO通道,其中发射机和接收机都是4单元的ULAs。

[txang,rxang,scatg,scatpos] =...helperComputeRandomScatterer (txcenter rxcenter Nscat);mimompchan = scatteringchanmtx(txmipos,rxmopos,txang,rxang,scatg);

由于散射体的存在,发射阵列和接收阵列之间存在多条可用路径。每条路径都由对应散射体的一次反弹组成。

helperPlotSpatialMIMOScene(txmipos,rxmopos,txcenter,rxcenter,scatpos);

利用MIMO信道有两种方法。第一种方法是探索MIMO信道提供的多样性增益。假设信道是已知的,下图是用BER曲线表示的分集增益。

NERR =零(1,Nsnr);m = 1:Nframe mimompchan = scatteringchanmtx(txmipos,rxmopos,Nscat);[u, v] =圣言(mimompchan);wt = u (: 1)”;或者说是= v (: 1);nerr = nerr + helperMIMOBER (wt, mimompchan x, ebn0_param wr);结束ber_mimomp = NERR / Nsamp;helperBERPlot(ebn0_param,[ber_sisomp(:) ber_simomp(:) ber_mimomp(:)]);传说(“SISO多路径”“SIMO多路径”“MIMO多路径”);

从与来自SIMO系统获得的BER曲线的MIMO信道比较BER曲线。在多径的情况下,从MIMO信道的分集增益不一定好于由SIMO信道提供的分集增益。这是因为,以获得最佳的分集增益,只有在MIMO信道的主导模式是用来但有一点用都没有在通道其它模式。那么,有没有利用该通道的另一种方式?

通过空间多路复用提高MIMO多径信道的容量

回答前面的问题就在于一个计划,所谓的空间复用。空间复用背后的想法是,具有丰富散射环境中的MIMO多径信道可以在整个信道同时发送的多个数据流。例如,4×4的MIMO信道的信道矩阵变得因为散射体的满秩。这意味着它可以发送多达4个数据一次流。空间复用的目标是少谈提高信噪比,但更多关于增加信息吞吐量。

空间多路复用的思想是将信道矩阵分离为多个模式,使发射阵列中不同元素发送的数据流能够独立地从接收信号中恢复。为了实现这一点,数据流在传输之前预先编码,然后在接收之后合并。从信道矩阵可以计算出预编码和组合权值

[WP,WC] = diagbfweights(mimompchan);

看到为什么预编码的合并权重的组合,并且可帮助发送多个数据流的同时,检查的权重的乘积和所述信道矩阵。

WP * mimompchan * WC
ANS = 10.3543  -  0.0000i -0.0000  -  0.0000i -0.0000 + 0.0000i -0.0000  -  0.0000i -0.0000 + 0.0000i 6.0693 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 + 0.0000i 2.4446  -0.0000i -0.0000 + 0.0000i -0.0000  -  0.0000i 0.0000  -  0.0000i -0.0000  -  0.0000i 1.1049  -  0.0000i

请注意,该产品是一个对角矩阵,这意味着由每个接收的信息接收阵列元件是简单地发射阵列元件的缩放版本。因此,它的行为像原来的通道内的多个正交子信道。第一子信道对应的主导发送和接收方向因此在分集增益没有损失。此外,现在可以使用其他的子信道来携带信息太多,如图所示BER曲线前两个子信道。

NTX = 4;NRX = 4;X =兰迪([0 1],Nbitperframe,N tx个);NERR =零(N rx个,Nsnr);m = 1:Nframe mimompchan = scatteringchanmtx(txmipos,rxmopos,Nscat);[wp, wc] = diagbfweights (mimompchan);nerr = nerr + helperMIMOMultistreamBER (wp, mimompchan x, ebn0_param wc);结束ber_mimompdiag = NERR / Nsamp;helperBERPlot(ebn0_param,[ber_sisomp(:) ber_mimomp(:)...ber_mimompdiag(1,:)“。ber_mimompdiag(2,:)']);传说('SISO LOS'“MIMO多路径”“MIMO多径流1”...“多径MIMO流2”);

尽管第二流不能提供增益高达第一流因为它使用较少主导子信道,整体信息吞吐量提高。因此,下一个部分测量由信道容量而不是BER曲线的性能。

最直观的方式来发送数据在MIMO系统中是均匀地分割发射元件之间的功率。然而,该信道的容量可以进一步如果信道在发射机已知改善。在这种情况下,发射器可以使用waterfill算法以使仅在能够获得满足SNR子信道发送的选择。下图显示了两个功率分配方案之间的系统容量的比较。结果证实,waterfill算法提供了一个更好的系统容量相比于均匀的功率分布。所不同的获取时,系​​统级SNR提高小。

C_mimo_cu =零(1,Nsnr);C_mimo_ck =零(1,Nsnr);Ntrial = 1000;m = 1时:Nsnrn = 1时:Ntrial mimompchan = scatteringchanmtx(txmipos,rxmopos,NSCAT);N0 = db2pow(-ebn0_param(M));[〜,〜,〜,〜,铜] = diagbfweights(mimompchan,1,N0,'制服');[〜,〜,〜,〜,CK] = diagbfweights(mimompchan,1,N0,'waterfill');C_mimo_cu(M)= C_mimo_cu(M)+的Cu;C_mimo_ck(M)= C_mimo_ck(M)+ CK;结束结束C_mimo_cu = C_mimo_cu / Ntrial;C_mimo_ck = C_mimo_ck / Ntrial;图(ebn0_param,C_mimo_cu(:)' -  *'、ebn0_param C_mimo_ck (:),”——^”);xlabel('SNR(dB)的');ylabel(的能力(bps / Hz) ');传说(“统一配电”“Waterfill配电”);网格;

有关空间多路复用及其检测技术的详细信息,请参阅《通信系统工具箱》中的空间多路复用示例。

从波束形成预编码

最后,值得研究一下这些不同的使用数组的方法是如何相互关联的。正如前面提到的,从LOS通道开始,阵列提供的好处是提高了信噪比。

[~,txang] = rangeangle (rxcenter txcenter);[~,rxang] = rangeangle (txcenter rxcenter);mimochan = scatteringchanmtx (txmipos rxmopos、txang rxang, 1);txang wt = txarraystv (fc) ';或者说是=连词(rxarraystv (fc rxang));helperPlotSpatialMIMOScene (txmipos rxmopos、txcenter rxcenter,...(txcenter + rxcenter)/ 2,重量,WR)

它是从草图清楚,在这种情况下,发射和接收权重形成两个束,它指向彼此。因此,阵列增益由波束形成技术来实现的。在另一方面,如果一个尝试为MIMO信道创建一个类似的草图,它看起来像下图。

[txang,rxang,scatg,scatpos] =...helperComputeRandomScatterer (txcenter rxcenter Nscat);mimompchan = scatteringchanmtx(txmipos,rxmopos,txang,rxang,scatg);[wp, wc] = diagbfweights (mimompchan);helperPlotSpatialMIMOScene (txmipos rxmopos、txcenter rxcenter,...scatpos,可湿性粉剂(1,:),WC(:,1))

注意,该图只描述了第一个数据流的模式,但是很明显,该模式不再一定有一个主要的主梁。然而,如果散射体的数量减少到一个,那么场景就变成了

[txang,rxang,scatg,scatpos] =...helperComputeRandomScatterer(txcenter,rxcenter,1);mimompchan = scatteringchanmtx(txmipos,rxmopos,txang,rxang,scatg);[wp, wc] = diagbfweights (mimompchan);helperPlotSpatialMIMOScene (txmipos rxmopos、txcenter rxcenter,...scatpos,可湿性粉剂(1,:),WC(:,1))

因此,LOS通道的情况,或者更准确地说,一个散射的情况,可以被认为是一种特殊情况的预编码。当发送和接收阵列之间只有一条路径可用时,预编码退化为波束形成方案。

总结

本实施例中解释了阵列处理如何能够用于提高在MIMO无线通信系统的质量。取决于信道的性质,所述阵列可用于或者提高经由阵列增益或分集增益的SNR,或改善通过空间复用的能力。这个例子也说明了如何使用功能,如scatteringchanmtxdiagbfweights模拟这些场景。有关MIMO系统的信息模型,有兴趣的读者可以参考在通信工具箱™提供了实例。

参考

[1]大卫谢和普拉莫德Viswanath,无线通信基础,剑桥,2005年

[2] Arogyswami Paulraj,介绍时空无线通信,剑桥,2003