主要内容

空间多路复用

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

然而,空间多路复用需要强大的接收器解码技术。在众多建议中[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 = comm.PSKModulator (...“ModulationOrder”2 ^ modOrd,...“PhaseOffset”0,...“BitInput”,真正的);pskDemodulator = comm.PSKDemodulator (...“ModulationOrder”2 ^ modOrd,...“PhaseOffset”0,...“BitOutput”,真正的);%为3个不同的接收者创建错误率计算系统对象zfBERCalc = comm.ErrorRate;mmseBERCalc = comm.ErrorRate;mlBERCalc = comm.ErrorRate;获得ML接收器的所有位和符号组合allBits = de2bi (0:2 ^ (modOrd * N) 1,“left-msb”)”;allTxSig =重塑(pskModulator(allBits(:)), N, 2^(modOrd*N));%预分配变量来存储BER结果以提高速度[BER_ZF, BER_MMSE, BER_ML] = deal(0 (length(EbNoVec), 3));

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

建立一个可视化的误码率结果的数字无花果=图;网格;持有;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:长度(EbNoVec)%重置错误率计算系统对象重置(zfBERCalc);重置(mmseBERCalc);重置(mlBERCalc);%从EbNo计算每个独立传输链路的信噪比snrIndB = EbNoVec(idx) + 10*log10(modOrd);snrLinear = 10 ^ (0.1 * snrIndB);(BER_ZF (idx, 3) < 1 e5) & & ((BER_MMSE (idx, 2) < 100) | |...|| (BER_ML(idx, 2) < 100))%创建随机位矢量调制msg = randi(stream, [0 1], [N*modOrd, 1]);%调整数据txSig = pskModulator(味精);具有独立链路的平坦瑞利衰落信道rayleighChan = (randn(stream, M, N) + 1i*randn(stream, M, N))/根号(2);给褪色的数据添加杂音rxSig = awgn(rayleighChan*txSig, snrIndB, 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 = psk解调器(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:end]);orderVec = orderVec(1, [1:k-1,k+1:end]);%阶算法(矩阵G的计算)是唯一不同的%与ZF-SIC接收机G = (H * H + ((n n + 1) / snrLinear) *眼(n n + 1)) \眼睛(n n + 1);[~, k] = min(diag(G));symNum = orderVec (k);decBits = psk解调器(G(k,:) * H' * r); / /estMMSE(modOrd * (symNum-1) + (1:modOrd)) = decBits;如果n < n r = r - H(:, k) * pskModulator(decBits);结束结束%毫升接收机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);结束%绘制结果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, Ed.,“无线通信MIMO系统技术”,CRC出版社,Boca Raton,佛罗里达州,2006。

  2. G. J. Foschini,“在衰落环境中使用多天线时无线通信的分层时空架构”,贝尔系统。技术期刊,1996年,第1期,第41-59页。

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

  4. Li X., Huang H. C., A. Lozano, G. J. Foschini,“multi-element arrays systems的低复杂度检测算法”,IEEE®全球电信会议,2000。第二卷,2000年11月27日至12月1日,第1072-76页。

  5. 尚勇和x - g。夏,“基于最优有序SIC检测的V-BLAST快速递归算法”,电子学报。《无线通信》,第8卷,第3期。6、第2860-2865页,2009年6月。