主要内容

空间多路复用

本例显示了空间多路复用方案,其中数据流被细分为独立的子流,每个子流对应使用的每个发射天线。因此,这些方案提供了一个多路复用增益,而不需要显式正交化所需的空时块编码。

然而,空间多路复用在接收端需要强大的解码技术。在许多提议中[1],本例重点介绍了两种有序的连续干扰消除(SIC)检测方案。这些方案类似于最初的贝尔实验室分层时空(BLAST)技术,如[2]、[3.].

为了便于说明,本例使用了基本的2x2 MIMO系统,该系统采用两个发射天线和两个接收天线。对于一个非编码的QPSK调制系统,它在独立的收发链路上采用平坦瑞利衰落。在接收端,我们假设有完美的信道知识,没有反馈到发送端,即一个开环空间多路复用系统。

实例说明了零强迫(ZF)和最小均方误差(MMSE)两种非线性干扰消除方法的符号消除,并与最大似然(ML)最佳接收机进行了性能比较。

模拟

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

N = 2;%发射天线个数M = 2;%接收天线个数EbNoVec = 2:3:8;% Eb/No in dBmodOrd = 2;%星座大小= 2^modOrd

并建立模拟。

创建一个本地随机流,供随机数生成器使用%可重复性。流= RandStream(“mt19937ar”);创建PSK调制器和解调器系统对象pskModulator = com . pskModulator (...“ModulationOrder”2 ^ modOrd,...“PhaseOffset”0,...“BitInput”,真正的);pskDemodulator = com . pskDemodulator (...“ModulationOrder”2 ^ modOrd,...“PhaseOffset”0,...“BitOutput”,真正的);计算每个独立传输链路的EbNo信噪比snrIndB = convertSNR(EbNoVec,“ebno”“BitsPerSymbol”, modOrd);snrLinear = 10.^(0.1*snrIndB);为3个不同的接收器创建错误率计算系统对象zfBERCalc = com . errorrate;mmseBERCalc = com . errorrate;mlBERCalc = com . errorrate;获取ML接收器的所有位和符号组合allBits = int2bit(0:2^(modOrd*N)-1, modOrd*N);allTxSig =重塑(pskModulator(allBits(:)), N, 2^(modOrd*N));预分配变量存储误码率结果以提高速度[BER_ZF, BER_MMSE, BER_ML] = deal(0 (length(EbNoVec), 3));

下面的仿真循环使用相同的数据和信道实现,同时评估每种Eb/No值的三种接收机方案的误码率性能。Eb/No值的短范围用于模拟目的。稍后将给出使用相同代码的更大范围的结果。

设置一个数字以可视化BER结果图;网格;持有;ax = fig.CurrentAxes;斧子。YScale =“日志”;xlim ([EbNoVec (1) -0.01 EbNoVec(结束)]);ylim ([1 e - 3]);包含(“Eb /不(dB)”);ylabel (“方方面面”);fig.NumberTitle =“关闭”;fig.Renderer =“zbuffer”;fig.Name =空间多路复用的;标题(“2x2非编码QPSK系统”);集(图,“DefaultLegendAutoUpdate”“关闭”);%循环选定的EbNo点idx = 1:length(EbNoVec)%重置错误率计算系统对象重置(zfBERCalc);重置(mmseBERCalc);重置(mlBERCalc);(BER_ZF (idx, 3) < 1 e5) & & ((BER_MMSE (idx, 2) < 100) | |...(BER_ZF(idx, 2) < 100) || (BER_ML(idx, 2) < 100))创建随机位向量调制msg = randi(stream, [0 1], [N*modOrd, 1]);调制数据txSig = pskModulator(msg);%具有独立链路的平坦瑞利衰落信道rayleighChan = (randn(stream, M, N) + 1i*randn(stream, M, N))/√(2);为褪色数据添加噪声rxSig = awgn(rayleighChan*txSig, snrIndB(idx), 0, stream);% ZF-SIC接收器r = rxSig;H = rayleighChan;假设完美的信道估计%初始化estZF = 0 (N*modOrd, 1);orderVec = 1:N;k = N+1;开始ZF清空循环n = 1: n缩小H以删除最后一个解码符号的效果H = H(:, [1:k-1,k+1:end]);相应地收缩顺序向量orderVec = orderVec(1, [1:k-1,k+1:end]);选择下一个要解码的符号G = (H'*H) \ eye(N-n+1);%与inv(H'*H)相同,但更快[~, k] = min(diag(G));symNum = orderVec(k);硬解码所选符号decBits = pskDemodulator(G(k,:) * H' * r);estZF(modOrd * (symNum-1) + (1:modOrd)) = decBits;从r中减去最后一个解码符号的效果如果n < n r = r - H(:, k) * pskModulator(decBits);结束结束% MMSE-SIC接收器r = rxSig;H = rayleighChan;%初始化estMMSE = 0 (N*modOrd, 1);orderVec = 1:N;k = N+1;开始MMSE空化循环n = 1: n H = H(:, [1:k-1,k+1:结束]);orderVec = orderVec(1, [1:k-1,k+1:end]);%阶算法(矩阵G计算)唯一的区别% ZF-SIC接收器G = (H * H + ((n n + 1) / snrLinear (idx)) *眼(n n + 1)) \眼睛(n n + 1);[~, k] = min(diag(G));symNum = orderVec(k);decBits = pskDemodulator(G(k,:) * H' * r);estMMSE(modOrd * (symNum-1) + (1:modOrd)) = decBits;如果n < n r = r - H(:, k) * pskModulator(decBits);结束结束% ML接收器r = rxSig;H = rayleighChan;(~ k) = min(总和(abs (repmat (r,[1、2 ^ (modOrd * N))) - H * allTxSig)。^ 2));estML = allBits(:,k);%更新误码率BER_ZF(idx,:) = zfBERCalc(msg, estZF);BER_MMSE(idx,:) = mmseBERCalc(msg, estMMSE);BER_ML(idx,:) = mlBERCalc(msg, estML);结束%绘图结果semilogy(EbNoVec(1:idx), BER_ZF(1:idx, 1),的r *...EbNoVec(1:idx), BER_MMSE(1:idx, 1),“波”...EbNoVec(1:idx), BER_ML(1:idx, 1),“gs”);传奇(“ZF-SIC”“MMSE-SIC”毫升的);drawnow;结束%画线符号学(EbNoVec, BER_ZF(:, 1),的r -...EbNoVec, BER_MMSE(:, 1),“b -”...EbNoVec, BER_ML(:, 1),“g -”);持有

我们观察到,ML接收器的性能最好,其次是MMSE-SIC和ZF-SIC接收器,这也可以从[4].在接收机复杂度方面,ML随发射天线数量呈指数级增长,而ZF-SIC和MMSE-SIC是结合连续干扰抵消的线性接收机。为降低复杂度而优化的ZF-SIC和MMSE-SIC算法可在[5].

下面是在较大Eb/No值范围下比较三种方案的仿真结果。这些曲线允许您测量从误码率曲线的斜率获得的分集顺序。

openfig (“spatMuxResults.fig”);

一些进一步探索的领域将尝试这些方法用于更大数量的天线,有或没有信道估计。

选择引用

  1. George Tsoulos主编,“无线通信的MIMO系统技术”,CRC出版社,博卡拉顿,佛罗里达州,2006年。

  2. G. J. Foschini,“使用多天线时衰落环境中无线通信的分层时空结构”,Bell Sys。《科技期刊》1996年第1期,第41-59页。

  3. P. W. Wolniansky, G. J. Foschini, G. D. Golden, R. A. Valenzuela,“V-BLAST:在富散射无线信道上实现非常高数据速率的架构”,1998年URSI信号、系统和电子国际研讨会,1998年9月2日- 10月,页295-300。

  4. 李晓霞,黄海昌,A. Lozano, G. J. Foschini,“基于多元素阵列的系统低复杂度检测算法”,IEEE®全球电信会议,2000。第二卷,2000年11月27日- 12月1日,第1072-76页。

  5. 尚雅与薛志刚。夏,“基于最优有序SIC检测的V-BLAST快速递归算法”,IEEE Trans。《无线通信》,第8卷,第1期。6,页2860-2865,2009年6月。