主要内容

介绍了MIMO系统

这个例子展示了多输入多输出(MIMO)系统,它使用多个天线在无线通信系统的发射机和接收机。MIMO系统中越来越多地采用了通信系统的潜在收益能力他们意识到在使用多个天线。多个天线使用空间维度的除了时间和频率的,在不改变系统的带宽需求。

为一个通用的通信链接,这个例子着重于发射分集代替传统的多样性。使用平整衰落瑞利信道,它说明了正交空时分组编码的概念,这是就业时使用多个发射天线。这里假设是,多个接收天线之间的通道进行独立的衰落对。

选择系统,它还提供了一个测量的性能下降通道时接收机不完全估计,相比的情况下完美的信道知识接收者。

第1部分:发射分集和接收分集

利用分集接收是一个众所周知的技术来减轻衰落对通信链路的影响。然而,它主要被降级到接收端。在[1),Alamouti提出了发射分集方案,提供类似的多样性增加,使用多个发射机天线。这是更实用的,比如,它只会需要多个基站的天线相比,多个天线每移动一个蜂窝通信系统。

本节重点介绍这种比较模拟传输和接收多样性的连贯的二进制相移键控(BPSK)调制在平坦衰落瑞利信道。发射分集,我们使用两个传输天线,一个接收天线(2 x1符号),而对于接收多样性我们雇用一个发送天线和两个接收天线(1 x2符号)。

仿真了一个端到端的系统显示编码和/或传输信号,信道模型和信号和接收信号的解调。它还提供无多样性链接(单发射-接收天线)和二阶的理论性能多样性比较的链接。这里假定是,通道被完全接收的所有系统。我们运行模拟一系列Eb /没有点产生的误码率的结果使我们能够比较不同的系统。

我们首先定义一些常见的模拟参数

frmLen = 100;%帧长度numPackets = 1000;%的数据包数量EbNo = 0:2:20;% Eb /不不同20分贝N = 2;% Tx天线的最大数量M = 2;% Rx天线的最大数量

并建立仿真。

%创建comm.BPSKModulator comm.BPSKDemodulator系统对象(TM)P = 2;%调制顺序bpskMod = comm.BPSKModulator;bpskDemod = comm.BPSKDemodulator (“OutputDataType”,“双”);%创建comm.OSTBCEncoder comm.OSTBCCombiner系统对象ostbcEnc = comm.OSTBCEncoder;ostbcComb = comm.OSTBCCombiner;%创建两个comm.AWGNChannel系统对象为1和2%天线分别。通道的设置NoiseMethod属性%的信号噪声比(Eb /不)”指定使用的噪音水平%每一点能量与噪声功率谱密度比(Eb /不)。输出%的BPSK调制生成单位功率信号;设置SignalPower%属性1瓦特。awgn1Rx = comm.AWGNChannel (“NoiseMethod”,信号噪声比(Eb /不)”,“SignalPower”1);awgn2Rx =克隆(awgn1Rx);%创建comm.ErrorRate计算器系统对象评估系统。errorCalc1 = comm.ErrorRate;errorCalc2 = comm.ErrorRate;errorCalc3 = comm.ErrorRate;%自comm.AWGNChannel系统对象以及RANDI函数%使用默认随机流,执行以下命令%,结果将是可重复的。中,将获得相同的结果%为每个运行的例子。将恢复默认流%的例子。s = rng (55408);%的预先分配变量速度H = 0 (frmLen N M);ber_noDiver = 0(3、长度(EbNo));ber_Alamouti = 0(3、长度(EbNo));ber_MaxRatio = 0(3、长度(EbNo));ber_thy2 = 0(1、长度(EbNo));
%建立图可视化系统的结果无花果=图;网格;ax = fig.CurrentAxes;(ax,“上”);斧子。YScale =“日志”;xlim (ax, [EbNo (1) EbNo(结束)]);ylim (ax,[1军医1]);包含(ax,“Eb /不(dB)”);ylabel (ax,“方方面面”);fig.NumberTitle =“关闭”;fig.Renderer =“zbuffer”;fig.Name =“发送和接收多样性”;标题(ax,“发送和接收多样性”);集(图,“DefaultLegendAutoUpdate”,“关闭”);fig.Position = figposition ([15 50 25 30]);%循环几个EbNo点idx = 1:长度(EbNo)重置(errorCalc1);重置(errorCalc2);重置(errorCalc3);% AWGNChannel系统设置EbNo属性的对象awgn1Rx。EbNo = EbNo (idx);awgn2Rx。EbNo = EbNo (idx);%循环的数据包的数量packetIdx = 1: numPackets%每帧生成数据向量data =兰迪([0 p - 1] frmLen 1);%调整数据modData = bpskMod(数据);% Alamouti空时分组编码encData = ostbcEnc (modData);%建立瑞利分布的信道响应矩阵%两个传输和两个接收天线H (1: N:,:,) = (randn (frmLen / 2 N M) +1我* randn (frmLen / 2 N M)) /√(2);% 2符号时间保持不变H (N 2::,::) = H (1: N:,::);%提取H代表1 x1的一部分,2 1 x1和x2频道H11 = H (:, 1, 1);H21 = H (:,: 1) /√(2);H12 =挤压(H (: 1:));%通过通道chanOut11 = H11。* modData;chanOut21 = (H21求和。* encData, 2);chanOut12 = H12。* repmat (modData 1 2);%增加情况下rxSig11 = awgn1Rx (chanOut11);rxSig21 = awgn1Rx (chanOut21);rxSig12 = awgn2Rx (chanOut12);% Alamouti时空块合路器decData = ostbcComb (rxSig21 H21);%毫升探测器(最小欧氏距离)demod11 = bpskDemod (rxSig11。*连词(H11));demod21 = bpskDemod (decData);demod12 = bpskDemod(总和(rxSig12。*连词(H12), 2));%计算当前EbNo值和更新系统% 1 x1未编码的系统ber_noDiver (:, idx) = errorCalc1(数据,demod11);% 2 x1 Alamouti编码系统ber_Alamouti (:, idx) = errorCalc2(数据,demod21);%最大比合并1 x2系统ber_MaxRatio (:, idx) = errorCalc3(数据,demod12);结束%为numPackets循环的结束%计算当前EbNo理论二阶多样性的误码率ber_thy2 (idx) = berfading (EbNo (idx),相移键控的2、2);%绘制结果semilogy (ax, EbNo (1: idx) ber_noDiver (1,1: idx),的r *,EbNo (1: idx) ber_Alamouti (1,1: idx),“去”,EbNo (1: idx) ber_MaxRatio (1,1: idx),“废话”,EbNo (1: idx) ber_thy2 (1: idx),“米”);传奇(ax,“没有多样性(tx, 1 rx) ',“Alamouti (2 tx, 1 rx)”,最大比合并(1 tx, 2 rx)”,“多样性理论二阶”);drawnow;结束%为EbNo循环的结束%结果进行曲线拟合和改建fitBER11 = berfit (EbNo ber_noDiver (1:));fitBER21 = berfit (EbNo ber_Alamouti (1:));fitBER12 = berfit (EbNo ber_MaxRatio (1:));semilogy (ax, EbNo, fitBER11“r”EbNo fitBER21,‘g’EbNo fitBER12,“b”);(ax,“关闭”);%恢复默认流rng(年代);

发射分集系统的计算复杂度非常相似的接收系统多样性。

最终的仿真结果表明,使用两个传输天线,一个接收天线提供了多样性的订单一样的最大比合并(MRC)系统传输天线和两个接收天线。

也观察到发射分集3 dB劣势相比MRC接收多样性。这是因为我们建模的总发射功率在这两种情况下是相同的。如果我们调整发射功率等的接收功率这两种情况是一样的,那么性能是相同的。二阶的理论性能多样性链接匹配的发射分集系统可实现所有多样性的总功率分支。

附带的功能脚本,mrc1m.mostbc2m.m援助进一步探索感兴趣的用户。

第2部分:空时分组编码和信道估计

基于正交设计的理论,Tarokh et al。2)广义Alamouti任意数量的发射机的发射分集方案天线,导致空时分组码的概念。对于复杂的信号星座,他们表明Alamouti计划是唯一的批量计划的两个传输天线。

在本节中,我们研究这个方案有两个接收天线的性能(即。,2 x2系统)和信道估计。在现实场景中,接收机信道状态信息是未知的,这必须从接收信号中提取。我们假设信道估计执行使用正交试验信号返回每包(3]。假设通道数据包的长度保持不变(即。它经历了慢衰落)。

模拟类似于前一节中描述的一个工作,这让我们估计空时分组编码系统的误码性能使用两个传输和两个接收天线。

我们首先定义常见的模拟参数

frmLen = 100;%帧长度maxNumErrs = 300;%的最大错误数maxNumPackets = 3000;%最大数量的数据包EbNo = 0:2:12;% Eb / 12 dB没有不同N = 2;% Tx天线的数量M = 2;%的Rx天线全= 8;%飞行员符号每帧的数量W =阿达玛(全);飞行员= W (:, 1: N);%每个传输天线正交集

并建立仿真。

%创建comm.MIMOChannel系统对象来模拟2 x2空间%独立平坦衰落瑞利信道陈= comm.MIMOChannel (“MaximumDopplerShift”0,“SpatialCorrelationSpecification”,“没有”,“NumTransmitAntennas”N“NumReceiveAntennas”米,“PathGainsOutputPort”,真正的);变化百分比hAlamoutiDec NumReceiveAntennas属性值的系统%的对象是2米释放(ostbcComb);ostbcComb。NumReceiveAntennas = M;%释放hAWGN2Rx系统对象释放(awgn2Rx);%设置全局随机流可重复性s = rng (55408);%的预先分配变量速度命令= 0 (frmLen N M);ber_Estimate = 0(3、长度(EbNo));ber_Known = 0(3、长度(EbNo));
%建立图可视化系统的结果无花果=图;网格;ax = fig.CurrentAxes;(ax,“上”);斧子。YScale =“日志”;xlim (ax, [EbNo (1) EbNo(结束)]);ylim (ax,[1军医1]);包含(ax,“Eb /不(dB)”);ylabel (ax,“方方面面”);fig.NumberTitle =“关闭”;fig.Name =正交空时分组编码的;fig.Renderer =“zbuffer”;标题(ax,“Alamouti-coded 2 x2系统”);集(图,“DefaultLegendAutoUpdate”,“关闭”);fig.Position = figposition ([41 50 25 30]);%循环几个EbNo点idx = 1:长度(EbNo)重置(errorCalc1);重置(errorCalc2);awgn2Rx。EbNo = EbNo (idx);%循环到错误的数量超过“maxNumErrs”%或模拟数据包的最大数量idx (ber_Estimate (2) < maxNumErrs) & &idx (ber_Known (2) < maxNumErrs) & &(ber_Estimate (idx) / frmLen < maxNumPackets)%每帧生成数据向量data =兰迪([0 p - 1] frmLen 1);%调整数据modData = bpskMod(数据);% Alamouti空时分组编码encData = ostbcEnc (modData);%预谋飞行员符号为每个框架txSig =[飞行员;encData];%通过2 x2通道重置(陈);陈[chanOut H] = (txSig);%增加情况下rxSig = awgn2Rx (chanOut);%信道估计% = > N * M估计为每一个链接命令(1::)=飞行员(:,:)。‘* rxSig(1:满,:)/满;%承担整个框架保持不变命令=命令((frmLen, 1),:,);%使用估计通道组合器decDataEst = ostbcComb (rxSig(全+ 1:,:),命令);%组合器使用已知的通道decDataKnown = ostbcComb (rxSig(全+ 1:最终,),挤压(H(全+ 1:,::,:)));%毫升探测器(最小欧氏距离)陈旧的= bpskDemod (decDataEst);%估计demodKnown = bpskDemod (decDataKnown);%已知%计算当前EbNo值和更新系统%的信道估计ber_Estimate (:, idx) = errorCalc1(数据、陈旧的);%为已知的通道ber_Known (:, idx) = errorCalc2(数据,demodKnown);结束%为numPackets循环的结束%绘制结果semilogy (ax, EbNo (1: idx) ber_Estimate (1,1: idx),“罗”);semilogy (ax, EbNo (1: idx) ber_Known (1,1: idx),“g *”);传奇(ax, [的信道估计的num2str(全)“飞行员符号/框架”),“已知的通道”);drawnow;结束%为EbNo循环的结束%结果进行曲线拟合和改建fitBEREst = berfit (EbNo ber_Estimate (1:));fitBERKnown = berfit (EbNo ber_Known (1:));semilogy (ax, EbNo, fitBEREst“r”EbNo fitBERKnown,‘g’);(ax,“关闭”);%恢复默认流rng (s)

2 x2的模拟系统,多样性的顺序是不同的比1 x2或2 x1系统在前一节中。

注意,100 8飞行员符号为每个符号的数据,信道估计大约1 dB性能退化原因为选定的Eb /不范围。这个改善与提高飞行员的数量每帧符号链接的但增加了开销。在这个比较中,我们把每个符号的传播信噪比在这两种情况下是相同的。

附带的功能脚本,ostbc2m_e.m艾滋病的进一步实验感兴趣的用户。

第3部分:正交空时分组编码和进一步探索

在最后一节中,我们提出的一些性能结果正交空时分组编码使用四个传输天线(4 x1系统)使用half-rate代码,G4,按4]。

我们希望系统提供多样性4的订单,将与1 x4和2 x2系统相比,它具有相同的多样性也。允许一个公平的比较,我们使用四相相移键控half-rate G4代码来实现相同的传输速率(1位/秒/赫兹。

这些结果需要一段时间来生成在一个核心。如果你没有并行计算工具箱™(PCT)安装,我们从之前模拟加载的结果。功能的脚本ostbc4m.m包括,一起吗mrc1m.mostbc2m.m用于生成这些结果。如果安装了PCT,这些模拟并行执行。在这种情况下,功能脚本ostbc4m_pct.m,mrc1m_pct.mostbc2m_pct.m使用。用户要求使用这些脚本作为起点来研究其他代码和系统。

[licensePCT ~] =许可证(“签出”,“Distrib_Computing_Toolbox”);如果(licensePCT & & ~ isempty(版本(“平行”)))EbNo = 0:2:20;[ber11, ber14 ber22 ber41] = mimoOSTBCWithPCT (100、4 e3 EbNo);其他的负载ostbcRes.mat;结束%建立图可视化系统的结果无花果=图;网格;ax = fig.CurrentAxes;(ax,“上”);fig.Renderer =“zbuffer”;斧子。YScale =“日志”;xlim (ax, [EbNo (1) EbNo(结束)]);ylim (ax, [1 e-5 1]);包含(ax,“Eb /不(dB)”);ylabel (ax,“方方面面”);fig.NumberTitle =“关闭”;fig.Name =的正交空时分组编码(2);标题(ax,G4-coded 4 x1系统和其他的比较);集(图,“DefaultLegendAutoUpdate”,“关闭”);fig.Position = figposition ([30 15 25 30]);%的理论性能四阶多样性正交相移编码BERthy4 = berfading (EbNo,相移键控的、4、4);%绘制结果semilogy (ax, EbNo, ber11的r *EbNo ber41,“女士”EbNo ber22,“c ^”,EbNo ber14,“柯”EbNo BERthy4,‘g’);传奇(ax,“没有多样性(tx, 1 rx), BPSK的,“OSTBC (4 tx, 1 rx),正交相移编码”,“Alamouti (2 tx, 2 rx), BPSK的,的最大比合并(1 tx、4 rx)、BPSK的,“理论四阶多样性,正交相移编码”);%进行曲线拟合fitBER11 = berfit (EbNo ber11);fitBER41 = berfit (EbNo (1:9), ber41 (1:9));fitBER22 = berfit (EbNo (1:8) ber22 (1:8));fitBER14 = berfit (EbNo (1:7) ber14 (1:7));semilogy (ax, EbNo, fitBER11“r”fitBER41 EbNo (1:9),“米”,fitBER22 EbNo (1:8),“c”fitBER14 EbNo (1:7),“k”);(ax,“关闭”);
开始平行池(parpool)使用“本地”概要文件…连接到平行池(工人数量:6)。

正如所料,类似的斜坡的误码率曲线4 x1, 2 x2和1 x4系统显示一个相同的多样性为每个系统。

也观察了3 dB处罚4 x1系统,可以归因于总发射功率相同的假设为每个三个系统。如果我们调整发射功率,这样每一个系统的接收功率是一样的,那么这三个系统执行相同。再一次的理论性能匹配仿真性能4 x1系统总功率归一化在多样性的分支。

附录

这个示例使用以下辅助函数:

引用

  1. s . m . Alamouti”,一个简单的无线通信的发射分集技术”,IEEE®在选定地区通讯》杂志上16卷,8号,1998年10月,页1451 - 1458。

  2. 诉Tarokh h . Jafarkhami境Calderbank,“从正交空时分组码的设计”,IEEE信息理论,45卷,5号,1999年7月,页1456 - 1467。

  3. 自动跟踪Naguib,诉Tarokh:瑟哈德里,境Calderbank,“时空编码的高数据率无线通信:失配分析”,IEEE国际Conf.通信学报》,第313 - 309页,1997年6月。

  4. 诉Tarokh h . Jafarkhami境Calderbank,“空时分组码的无线通信:性能结果”,IEEE在选定地区通讯》杂志上17卷,3号,1999年3月,页451 - 460。