主要内容

互耦合对MIMO通信的影响

这个例子展示了天线相互耦合如何影响正交空时分组码(OSTBC)在多输入多输出(MIMO)信道上传输的性能。发射机和接收器各有两个偶极子天线元件。在不同的相关和耦合情况下绘制了误码率与信噪比曲线。要运行此示例,您需要天线工具箱™。

系统参数

QPSK调制Alamouti OSTBC在2x2准静态平坦瑞利信道上的模拟[[1]].系统工作在2.4 GHz。模拟的信噪比范围为0 ~ 10db。

fc = 2.4 e9;%中心频率元= 2;% Tx天线个数Nr = 2;% Rx天线个数blkLen = 2;% Alamouti码块长度信噪比= 0:10;%信噪比范围maxNumErrs = 3 e2;最大错误数maxNumBits = 5 e4;最大比特数

创建对象执行QPSK调制和解调,Alamouti编码和组合,AWGN信道以及BER计算。

qpskMod = comm.QPSKModulator;qpskDemod = comm.QPSKDemodulator;alamoutiEnc = comm.OSTBCEncoder (...“NumTransmitAntennas”、Nt);alamoutiDec = comm.OSTBCCombiner (...“NumTransmitAntennas”元,...“NumReceiveAntennas”、Nr);awgnChanNC = comm.AWGNChannel (...%为无耦合情况“NoiseMethod”信噪比(SNR)...“SignalPower”1);berCalcNC = comm.ErrorRate;%为无耦合情况为相互耦合情况克隆对象awgnChanMC =克隆(awgnChanNC);berCalcMC =克隆(berCalcNC);

天线阵列和耦合矩阵

在发射端(Tx)和接收端(Rx)均采用双元件谐振偶极子阵列。在Tx处,偶极子间隔半个波长。在Rx处,间距是波长的十分之一。

txSpacing = 0.5;rxSpacing = 0.1;λ= physconst (“光速”) / fc;antElement =偶极子(...“长度”λ/ 2,...“宽度”,λ/ 100);txArray = linearArray (...“元素”antElement,...“NumElements”元,...“ElementSpacing”txSpacing *λ);rxArray = linearArray (...“元素”antElement,...“NumElements”Nr,...“ElementSpacing”rxSpacing *λ);

根据阵列的电路模型计算耦合矩阵[[2]].对发射和接收阵列进行了s参数计算,并由此导出了阵列的阻抗矩阵表示。

txMCMtx = helperCalculateCouplingMatrix(txArray, fc, [1 Nt]);rxMCMtx = helperCalculateCouplingMatrix(rxArray, fc, [1 Nr]);

空间相关性矩阵

发射和接收空间相关矩阵捕获信道的传播环境。在没有耦合的情况下,假设在Tx处的两个元素不相关,在Rx处的两个元素具有高相关性。整个渠道的组合/整体相关矩阵是他们的克罗内克乘积。

txCorrMtx =眼(2);rxCorrMtx = [1 0.9;0.9 - 1];combCorrMtx = kron(txCorrMtx, rxCorrMtx);

对于耦合,我们使用[中的方法][3]]来修改Tx和Rx相关矩阵,方法是将它们前后乘以相应的耦合矩阵。在相关和耦合可以独立建模的假设下,这是有效的。

txmccorrmx = txMCMtx * txcorrmx * txMCMtx';rxmccorrmx = rxMCMtx * rxcorrmx * rxMCMtx';

耦合的综合空间相关性为克隆亚麻(txMCCorr rxMCCorr).或者,我们可以将Tx/Rx耦合矩阵视为被“吸收”到Tx/Rx相关矩阵中,并推导出组合相关矩阵如下:

txSqrtCorrMtx = txMCMtx * sqrtm(txCorrMtx);rxSqrtCorrMtx = rxMCMtx * sqrtm(rxCorrMtx);combMCCorrMtx = kron(txSqrtCorrMtx, rxSqrtCorrMtx);combMCCorrMtx = combMCCorrMtx * combMCCorrMtx';

MIMO信道建模

创建两个comm.MIMOChannel对象来模拟有耦合和不耦合的2x2 MIMO通道。在每种情况下分配组合空间相关矩阵。的MaximumDopplerShift属性设置为0以建模准静态通道。

mimoChanNC = comm.MIMOChannel (...%为无耦合情况“MaximumDopplerShift”0,...“SpatialCorrelationSpecification”“组合”...“SpatialCorrelationMatrix”combCorrMtx,...“PathGainsOutputPort”,真正的);为相互耦合情况克隆对象mimoChanMC =克隆(mimoChanNC);mimoChanMC。SpatialCorrelationMatrix = combMCCorrMtx;

模拟

模拟每个信噪比在天线耦合和不耦合情况下的QPSK调制Alamouti码。在每次迭代中,通过MIMO通道模拟一个Alamouti代码。为建模准静态通道,我们重置comm.MIMOChannel对象获取每次代码传输(迭代)的一组新的通道增益。

设置一个图形来可视化BER结果h1 =图;网格;持有;甘氨胆酸ax =;斧子。YScale =“日志”;xlim([信噪比(1),信噪比(结束)]);ylim ([1 e - 3]);包含(“信噪比(dB)”);ylabel (“方方面面”);h1。NumberTitle =“关闭”;h1。Name =“正交空时块编码”;标题(alamouti编码的2x2系统-高耦合,高相关性);s = rng (108);%的可重复性[berNC, berMC] = deal(zero (3,length(snr)));循环过信噪比值idx = 1:长度(信噪比)awgnChanNC。信噪比=信噪比(idx);awgnChanMC。信噪比=信噪比(idx);重置(berCalcNC);重置(berCalcMC);min(berNC(2,idx),berMC(2,idx)) <= maxNumErrs && (berNC(3,idx) <= maxNumBits)%生成随机数据txData = randi([0 3], blkLen, 1);%执行QPSK调制和Alamouti编码txSig = alamoutiEnc (qpskMod (txData));通过MIMO通道重置(mimoChanNC);重置(mimoChanMC);[chanOutNC, estChanNC] = mimoChanNC(txSig);[chanOutMC, estChanMC] = mimoChanMC(txSig);%增加情况下rxSigNC = awgnChanNC (chanOutNC);rxSigMC = awgnChanMC (chanOutMC);在已知信道状态信息下执行Alamouti解码decSigNC = alamoutiDec(rxSigNC, squeeze(estChanNC));decSigMC = alamoutiDec(rxSigMC, squeeze(estChanMC));%执行QPSK解调rxDataNC = qpskDemod (decSigNC);rxDataMC = qpskDemod (decSigMC);%更新系统berNC(:, idx) = berCalcNC(txData, rxDataNC);berMC(:, idx) = berCalcMC(txData, rxDataMC);结束%绘制结果semilogy(信噪比(1:idx), berNC (1,1: idx),的r *);semilogy(信噪比(1:idx), berMC (1,1: idx),“波”);传奇({“无耦合通道”“与耦合通道”});drawnow;结束%执行曲线拟合fitBERNC = berfit(snr, berNC(1,:));fitBERMC = berfit(snr, berMC(1,:));fitBERNC semilogy(信噪比,“r”、信噪比、fitBERMC“b”);传奇({“无耦合通道”“与耦合通道”});

rng(年代);%恢复RNG

进一步的探索

相关和相互耦合对误码率性能的影响可以通过修改相关系数和/或改变单元之间的间距来进一步研究。间距越小,耦合越高。类似于上面为高相关性(0.9)和高耦合(spacing = 0 1 λ ),我们现在显示低相关性(0.1)和/或低耦合(spacing = .)的误码率与信噪比结果 0 5 λ ).

  • 高耦合(spacing = 0 1 λ ),低相关性(0.1)

  • 低耦合(spacing = 0 5 λ ),高相关性(0.9)

  • 低耦合(spacing = 0 5 λ ),低相关性(0.1)

结论

模拟结果与第一篇文献中报告的结果相似。的间距 0 5 λ 在高相关和低相关条件下,对误码率的影响均可忽略不计。对于高耦合的情况,即 0 1 λ 结果表明,根据相关条件的不同,误码率可能高于或低于不考虑耦合时的误码率。

附录

这个例子使用了以下helper函数:

相关的话题

参考文献

[1] A. A. Abouda, H. M. el - salabi, S. G. Haggman,“互耦合对Alamouti方案误码率性能的影响,”天线与传播国际研讨会, 2006年7月。

古普塔,我,还有a·克辛斯基。互耦对自适应阵列性能的影响。《IEEE天线与传播汇刊》31日。5(1983年9月):785-91。https://doi.org/10.1109/TAP.1983.1143128。

[3]吴勇,J. P. Linnartz, J. W. M. Bergmans, S. Attallah,“天线相互耦合对MIMO系统性能的影响”,第29届比荷卢信息理论研讨会, 2008年5月。

Baidu
map