具体实施方式
下面结合附图对本发明的各个部分作进一步的详细说明。
如图2所示,假设系统有MT根发射天线和MR根接收天线,发送端的MT根天线被分成q组,分别为G1,G2,…,Gq,各包含n1,n2,…,nq根天线,并且有如下关系:n1+n2+,…,+nq=MT。原始比特信息在t时刻有A位比特输入,经卷积编码器编码后输出B位,进行分层空时分组编码。B位的数据被分成MT组长度分别为B1,B2,…,Bq位的数据串,且B1+B2+,…,+Bq=B。随后,第i个数据串空时编码器发射天线数为ni,1≤i≤q的正交STBC编码,记每组的空时码字为Ci,1≤i≤q,其维数为ni×si,则每组的编码速率是ni/si,si表示第i个时隙。从发送端的总体结构上来看,它仍是一个分层处理的结构;但是在每一层的处理上完全采用了独立的STBC编码,相当于一系列的q个空时编码器在相同的无线信道上并行工作。
实施例一
参照图3,本发明在4发4收的MIMO系统中,设迭代次数是3,其LSTBC译码包括如下步骤:
步骤1,根据天线的分组数对信道矩阵和接收向量进行分组,保存原始信道矩阵与原始接收向量。
1.1将每两根天线分为一组,每组分别进行STBC编码,编码矩阵为:
其中C1,C2分别为第一分组发射天线和第二分组发射天线对应的空时编码矩阵,ci,i=1,2,3,4是第i根发射天线发送的经过调制的信号,ci *是ci的共轭。
1.2信道矩阵H分解为H=[H(C1)H(C2)],其中:
其中H(C1),H(C2)分别为第一分组发射天线和第二分组发射天线对应的原始信道矩阵,hij,i,j=1,2,3,4是信道矩阵元素。
1.3将接收天线按照发射天线的分组数每两根天线分为一组,接收天线的接收向量R也被分为两组:R=[R1 R2]T,其中,R1为第一分组接收天线接收到的原始接收向量,R2为第二分组接收天线接收到的原始接收向量,T表示矩阵的转置。
1.4将原始信道矩阵H(C1),H(C2)与原始接收向量R1,R2保存以用于之后的迭代过程。
步骤2,对各组接收向量进行分组干扰抑制,得到修正的信道矩阵和修正的接收向量,将修正的接收向量进行STBC译码,得到各组的未迭代的译码结果,并将此结果反馈到接收端再对每一分组进行译码。
2.1对各组接收向量进行分组干扰抑制,定义Λ(C1)为除去第一分组发射天线后的信道传输矩阵,Λ(C2)为除去第二分组发射天线后的信道传输矩阵,即:
当利用分组干扰抑制的方法来对第一分组的STBC的C1解码时,关键是如何找到一组与Λ(C1)正交的矢量,本发明采用如下方法对Λ(C1)做QR分解来找到正交矢量,即:
[Q1,R1′]=qr[Λ(C1)]
其中,qr[]表示对Λ(C1)进行QR分解,Q1,R1′分别是Λ(C1)经QR分解后得到的正交矩阵和上三角矩阵。
根据QR分解的性质得知,Q1H矩阵的后两行共两个行向量与Λ(C1)正交,其中H表示矩阵的共轭转置。令这些行向量为:{q1,q2},且令T(C1)=[q1 q2]T,得到与Λ(C1)正交的矢量矩阵T(C1)。对Λ(C2)做同样处理,得到与Λ(C2)正交的矢量矩阵T(C2)。
2.2用T(C1),T(C2)分别左乘对应的原始信道矩阵H(C1),H(C2),得到修正的信道矩阵:
2.3用T(C1),T(C2)分别左乘对应的原始接收向量R1,R2,得到修正的接收向量:
2.4分别对修正的接收向量
进行2发2收的STBC译码,得到各组的未迭代的译码结果,并将此结果反馈到接收端再对每一分组进行译码。
步骤3,对各组的译码结果重新进行STBC编码,得到各组的新的编码矩阵,通过该新的编码矩阵和原始信道矩阵与原始接收向量,消除在接收端对某一分组的接收向量进行译码时的干扰。
3.1设未迭代的译码结果为S0:
其中,S0(C1)是第一分组的译码结果组成的矩阵,S0(C2)是第二分组的译码结果组成的矩阵,s0i,i=1,2,3,4是第i根接收天线未迭代译码后的输出信号。
将S0(C1),S0(C2)反馈到接收端,分别对其进行STBC编码,得到:
其中,Sd0(C1)是第一分组的新的编码矩阵,Sd0(C2)是第二分组的新的编码矩阵。
3.2在接收端再对第一分组进行译码时,将第二分组的新的编码矩阵Sd0(C2)与对应的原始信道矩阵H(C2)相乘,将该相乘结果在原始接收向量R中减掉,得到消除了第二分组干扰的接收向量:
Rd0(C1)=R-H(C2)·Sd0(C2);
在接收端再对第二分组进行译码时,将第一分组的新的编码矩阵Sd0(C1)与对应的原始信道矩阵H(C1)相乘,将该相乘结果在原始接收向量R中减掉,得到消除了第一分组干扰的接收向量:
Rd0(C2)=R-H(C1)·Sd0(C1)。
步骤4,对消除干扰后的接收向量再进行STBC译码,得到迭代译码结果。
将消除了第二分组干扰的接收向量Rd0(C1)进行2发4收的STBC译码,得到第一分组迭代一次的译码结果S1(C1);将消除了第一分组干扰的接收向量Rd0(C2)进行2发4收的STBC译码,得到第二分组迭代一次的译码结果S1(C2):
其中,s1i,i=1,2,3,4是第i根接收天线迭代一次译码后的输出信号。
步骤5,将各组的迭代译码结果反馈到接收端,根据设定的迭代次数3,将步骤3和步骤4重复2次,得到各组迭代3次的译码结果。
5.1将第一分组迭代一次的译码结果S1(C1),第二分组迭代一次的译码结果S1(C2)反馈到接收端,分别对其进行STBC编码,得到第一分组的新的编码矩阵Sd1(C1),第二分组的新的编码矩阵Sd1(C2):
5.2在接收端再对第一分组进行译码时,将第二分组的新的编码矩阵Sd1(C2)与对应的原始信道矩阵H(C2)相乘,将该相乘结果在原始接收向量R中减掉,得到消除了第二分组干扰的接收向量:
Rd1(C1)=R-H(C2)·Sd1(C2);
在接收端再对第二分组进行译码时,将第一分组的新的编码矩阵Sd1(C1)与对应的原始信道矩阵H(C1)相乘,将该相乘结果在原始接收向量R中减掉,得到消除了第一分组干扰的接收向量:
Rd1(C2)=R-H(C1)·Sd1(C1)。
5.3将消除了第二分组干扰的接收向量Rd1(C1)进行2发4收的STBC译码,得到第一分组迭代两次的译码结果S2(C1);将消除了第一分组干扰的接收向量Rd1(C2)进行2发4收的STBC译码,得到第二分组迭代两次的译码结果S2(C2):
其中,s2i,i=1,2,3,4是第i根接收天线迭代两次译码后的输出信号。
5.4将第一分组迭代两次的译码结果S2(C1),第二分组迭代两次的译码结果S2(C2)反馈到接收端,分别对其进行STBC编码,得到第一分组的新的编码矩阵Sd2(C1),第二分组的新的编码矩阵Sd2(C2):
5.5在接收端再对第一分组进行译码时,将第二分组的新的编码矩阵Sd2(C2)与对应的原始信道矩阵H(C2)相乘,将该相乘结果在原始接收向量R中减掉,得到消除了第二分组干扰的接收向量:
Rd2(C1)=R-H(C2)·Sd2(C2);
在接收端再对第二分组进行译码时,将第一分组的新的编码矩阵Sd2(C1)与对应的原始信道矩阵H(C1)相乘,将该相乘结果在原始接收向量R中减掉,得到消除了第一分组干扰的接收向量:
Rd2(C2)=R-H(C1)·Sd2(C1)。
5.6将消除了第二分组干扰的接收向量Rd2(C1)进行2发4收的STBC译码,得到第一分组迭代三次的译码结果S3(C1);将消除了第一分组干扰的接收向量Rd2(C2)进行2发4收的STBC译码,得到第二分组迭代三次的译码结果S3(C2):
其中,s3i,i=1,2,3,4是第i根接收天线迭代三次译码后的输出信号。
步骤6,将第一分组迭代三次的译码结果S3(C1)和第二分组迭代三次的译码结果S3(C2)进行并串变换,得到最终的译码结果:
实施例二
参照图4,本发明在6发6收的MIMO系统中,设迭代次数是2,其LSTBC译码包括如下步骤:
步骤1,根据天线的分组数对信道矩阵和接收向量进行分组,保存原始信道矩阵与原始接收向量。
1.1将每两根天线分为一组,每组分别进行STBC编码,编码矩阵为:
其中C1,C2,C3分别为第一分组、第二分组和第三分组发射天线对应的空时编码矩阵,ci,i=1,2,3,4,5,6是第i根发射天线发送的经过调制的信号,ci *是ci的共轭。
1.2信道矩阵H分解为H=[H(C1)H(C2)H(C3)],其中:
其中H(C1),H(C2),H(C3)分别为第一分组、第二分组和第三分组发射天线对应的原始信道矩阵,hij,i,j=1,2,3,4,5,6是信道矩阵元素。
1.3将接收天线按照发射天线的分组数每两根天线分为一组,接收天线的接收向量R也被分为三组:R=[R1 R2 R3]T,其中,R1为第一分组接收天线接收到的原始接收向量,R2为第二分组接收天线接收到的原始接收向量,R3为第三分组接收天线接收到的原始接收向量,T表示矩阵的转置。
1.4将原始信道矩阵H(C1),H(C2),H(C3)与原始接收向量R1,R2,R3保存以用于之后的迭代过程。
步骤2,对各组接收向量进行分组干扰抑制,得到修正的信道矩阵和修正的接收向量,将修正的接收向量进行STBC译码,得到各组的未迭代的译码结果,并将此结果反馈到接收端再对每一分组进行译码。
2.1对各组接收向量进行分组干扰抑制,定义Λ(C1)为除去第一分组发射天线后的信道传输矩阵,Λ(C2)为除去第二分组发射天线后的信道传输矩阵,Λ(C3)为除去第三分组发射天线后的信道传输矩阵,即:
本发明采用如下方法对Λ(C1)做QR分解来找到一组与Λ(C1)正交的矢量,即:
[Q1,R1′]=qr[Λ(C1)]
其中,qr[]表示对Λ(C1)进行QR分解,Q1,R1′分别是Λ(C1)经QR分解后得到的正交矩阵和上三角矩阵。
根据QR分解的性质得知,Q1H矩阵的后两行共两个行向量与Λ(C1)正交,其中H表示矩阵的共轭转置。令这些行向量为:{q1,q2},且令T(C1)=[q1 q2]T,得到与Λ(C1)正交的矢量矩阵T(C1)。对Λ(C2),Λ(C3)做同样处理,得到与Λ(C2)正交的矢量矩阵T(C2),与Λ(C3)正交的矢量矩阵T(C3)。
2.2用T(C1),T(C2),T(C3)分别左乘对应的原始信道矩阵H(C1),H(C2),H(C3),得到修正的信道矩阵:
2.3用T(C1),T(C2),T(C3)分别左乘对应的原始接收向量R1,R2,R3,得到修正的接收向量:
2.4分别对修正的接收向量
进行2发2收的STBC译码,得到各组的未迭代的译码结果,并将此结果反馈到接收端再对每一分组进行译码。
步骤3,对各组的译码结果重新进行STBC编码,得到各组的新的编码矩阵,通过该新的编码矩阵和原始信道矩阵与原始接收向量,消除在接收端对某一分组的接收向量进行译码时的干扰。
3.1设未迭代的译码结果为S0:
其中,S0(C1)是第一分组的译码结果组成的矩阵,S0(C2)是第二分组的译码结果组成的矩阵,S0(C3)是第三分组的译码结果组成的矩阵,s0i,i=1,2,3,4,5,6是第i根接收天线未迭代译码后的输出信号。
将第一分组未迭代的译码结果S0(C1),第二分组未迭代的译码结果S0(C2),第三分组未迭代的译码结果S0(C3)反馈到接收端,分别对其进行STBC编码,得到:
其中,Sd0(C1)是第一分组的新的编码矩阵,Sd0(C2)是第二分组的新的编码矩阵,Sd0(C3)是第三分组的新的编码矩阵。
3.2在接收端再对第一分组进行译码时,将第二分组的新的编码矩阵Sd0(C2)与对应的原始信道矩阵H(C2)相乘,将第三分组的新的编码矩阵Sd0(C3)与对应的原始信道矩阵H(C3)相乘,将这两个相乘结果在原始接收向量R中减掉,得到消除了第二分组和第三分组干扰的接收向量:
Rd0(C1)=R-H(C2)·Sd0(C2)-H(C3)·Sd0(C3);
在接收端再对第二分组进行译码时,将第一分组的新的编码矩阵Sd0(C1)与对应的原始信道矩阵H(C1)相乘,将第三分组的新的编码矩阵Sd0(C3)与对应的原始信道矩阵H(C3)相乘,将这两个相乘结果在原始接收向量R中减掉,得到消除了第一分组和第三分组干扰的接收向量:
Rd0(C2)=R-H(C1)·Sd0(C1)-H(C3)·Sd0(C3);
在接收端再对第三分组进行译码时,将第一分组的新的编码矩阵Sd0(C1)与对应的原始信道矩阵H(C1)相乘,将第二分组的新的编码矩阵Sd0(C2)与对应的原始信道矩阵H(C2)相乘,将这两个相乘结果在原始接收向量R中减掉,得到消除了第一分组和第二分组干扰的接收向量:
Rd0(C3)=R-H(C1)·Sd0(C1)-H(C2)·Sd0(C2)。
步骤4,对消除干扰后的接收向量再进行STBC译码,得到迭代译码结果。
将消除了第二分组和第三分组干扰的接收向量Rd0(C1)进行2发6收的STBC译码,得到第一分组迭代一次的译码结果S1(C1);
将消除了第一分组和第三分组干扰的接收向量Rd0(C2)进行2发6收的STBC译码,得到第二分组迭代一次的译码结果S1(C2);
将消除了第一分组和第二分组干扰的接收向量Rd0(C3)进行2发6收的STBC译码,得到第三分组迭代一次的译码结果S1(C3):
其中,s1i,i=1,2,3,4,5,6是第i根接收天线迭代一次译码后的输出信号。
步骤5,将各组的迭代译码结果反馈到接收端,根据设定的迭代次数3,将步骤3和步骤4重复1次,得到各组迭代2次的译码结果。
5.1将第一分组迭代一次的译码结果S1(C1),第二分组迭代一次的译码结果S1(C2),第三分组迭代一次的译码结果S1(C3)反馈到接收端,分别对其进行STBC编码,得到第一分组的新的编码矩阵Sd1(C1),第二分组的新的编码矩阵Sd1(C2),第三分组的新的编码矩阵Sd1(C3):
5.2在接收端再对第一分组进行译码时,将第二分组的新的编码矩阵Sd1(C2)与对应的原始信道矩阵H(C2)相乘,将第三分组的新的编码矩阵Sd1(C3)与对应的原始信道矩阵H(C3)相乘,将这两个相乘结果在原始接收向量R中减掉,得到消除了第二分组和第三分组干扰的接收向量:
Rd1(C1)=R-H(C2)·Sd1(C2)-H(C3)·Sd1(C3);
在接收端再对第二分组进行译码时,将第一分组的新的编码矩阵Sd1(C1)与对应的原始信道矩阵H(C1)相乘,将第三分组的新的编码矩阵Sd1(C3)与对应的原始信道矩阵H(C3)相乘,将这两个相乘结果在原始接收向量R中减掉,得到消除了第一分组和第三分组干扰的接收向量:
Rd1(C2)=R-H(C1)·Sd1(C1)-H(C3)·Sd1(C3);
在接收端再对第三分组进行译码时,将第一分组的新的编码矩阵Sd1(C1)与对应的原始信道矩阵H(C1)相乘,将第二分组的新的编码矩阵Sd1(C2)与对应的原始信道矩阵H(C2)相乘,将这两个相乘结果在原始接收向量R中减掉,得到消除了第一分组和第二分组干扰的接收向量:
Rd1(C3)=R-H(C1)·Sd1(C1)-H(C2)·Sd1(C2)。
5.3将消除了第二分组和第三分组干扰的接收向量Rd1(C1)进行2发6收的STBC译码,得到第一分组迭代两次的译码结果S2(C1);
将消除了第一分组和第三分组干扰的接收向量Rd1(C2)进行2发6收的STBC译码,得到第二分组迭代两次的译码结果S2(C2);
将消除了第一分组和第二分组干扰的接收向量Rd1(C3)进行2发6收的STBC译码,得到第三分组迭代两次的译码结果S2(C3):
其中,s2i,i=1,2,3,4,5,6是第i根接收天线迭代两次译码后的输出信号。
步骤6,将第一分组迭代两次的译码结果S2(C1),第二分组迭代两次的译码结果S2(C2),第三分组迭代两次的译码结果S2(C3)进行并串变换,得到最终的译码结果:
以上两种实施例,不构成对本发明的任何限制。显然,利用本发明的译码方法可以用于所有MIMO系统的LSTBC译码,这些均在本发明的保护范围之内。
本发明的效果可以通过以下仿真实验进一步说明:
1.仿真内容及条件
分别采用现有的VBLAST基于QR分解的译码方法、现有的STBC译码方法、现有的LSTBC译码方法以及本发明的基于迭代的LSTBC译码方法,对其抗衰落性能进行仿真比较,仿真系统采用4发4收的MIMO系统,平坦瑞利衰落信道,帧数为100帧,帧长为130bit。
各种编码方式的频带利用率均为4bit/s/HZ,各种译码方法采用不同的调制方式,即VBLAST采用BPSK调制;2发2收STBC采用16QAM调制;4发4收STBC采用256QAM调制;现有的LSTBC译码方法采用QPSK调制;本发明的基于迭代的LSTBC译码方法采用QPSK调制。
2.仿真结果
仿真结果如附图5所示,其中“vblast44-QR-BPSK”表示用BPSK调制的4发4收VBLAST基于QR分解的译码方法的抗衰落性能曲线;“lstbc-QPSK”表示用QPSK调制的现有LSTBC译码方法的抗衰落性能曲线;“lstbc-DD1-QPSK”表示用QPSK调制的本发明的LSTBC译码方法迭代一次的抗衰落性能曲线;“lstbc-DD2-QPSK”表示用QPSK调制的本发明的LSTBC译码方法迭代两次的抗衰落性能曲线;“lstbc-DD3-QPSK”表示用QPSK调制的本发明的LSTBC译码方法迭代三次的抗衰落性能曲线;“lstbc-DD4-QPSK”表示用QPSK调制的本发明的LSTBC译码方法迭代四次的抗衰落性能曲线;“stbc22-16QAM”表示用16QAM调制的2发2收STBC译码方法的抗衰落性能曲线;“stbc44-256QAM”表示用256QAM调制的4发4收STBC译码方法的抗衰落性能曲线。
A.比较附图5中“vblast44-QR-BPSK”、“stbc22-16QAM”和“stbc44-256QAM”三条曲线,得到以下结论:
1)编码增益:4发4收STBC的编码增益最好,4发4收VBLAST的编码增益次于2发2收STBC和4发4收STBC;2发2收STBC的编码增益次于4发4收STBC。相同误码率下,2发2收STBC比4发4收STBC抗衰落性能差很多,可见随着发射天线数的增多,STBC的编码增益有了显著改善。
2)分集度:4发4收VBLAST分集度只与发射天线数有关,仅为4;2发2收STBC分集度是4;4发4收STBC分集度是16。由于分集度影响仿真曲线的下降速度,因此在附图5中,4发4收STBC的曲线最陡峭。
B.比较附图5中“vblast44-QR-BPSK”、“stbc22-16QAM”、“stbc44-256QAM”和“lstbc-QPSK”四条曲线,得到以下结论:
1)编码增益:4发4收现有LSTBC的编码增益次于4发4收STBC,优于4发4收VBLAST,其抗衰落性能是4发4收STBC与4发4收VBLAST的折中。
4发4收现有LSTBC与2发2收STBC相比,在信噪比SNR=11dB附近,“stbc22-16QAM”与“lstbc-QPSK”两曲线有交叉。当SNR<11dB时,4发4收现有LSTBC抗衰落性能次于2发2收STBC;由于4发4收现有LSTBC的编码速率是2发2收STBC系统的两倍,因此“lstbc-QPSK”曲线的斜率大于“stbc22-16QAM”,随着SNR增大,4发4收现有LSTBC的抗衰落性能逐渐逼近2发2收STBC;当SNR>11dB时,4发4收现有LSTBC抗衰落性能优于2发2收STBC。
2)分集度:4发4收VBLAST分集度是4;2发2收STBC分集度是4;4发4收STBC分集度是16;现有LSTBC将天线分成两个2发2收STBC分组,其分集度是4。
C.比较附图5中“vblast44-QR-BPSK”、“stbc22-16QAM”、“stbc44-256QAM”和“lstbc-DD1-QPSK”四条曲线,得到以下结论:
1)编码增益:本发明的基于迭代的LSTBC译码方法的编码增益次于4发4收STBC,优于4发4收VBLAST。
与2发2收STBC相比,在信噪比SNR=5dB附近,两曲线有交叉,当SNR<5dB时,4发4收基于迭代的LSTBC的抗衰落性能次于2发2收STBC;由于4发4收基于迭代的LSTBC的编码速率是2发2收STBC的两倍,因此“lstbc-DD1-QPSK”曲线的斜率大于“stbc22-16QAM”的,随着SNR增大,4发4收基于迭代的LSTBC的抗衰落性能逐渐逼近2发2收STBC;当SNR>11dB时,4发4收基于迭代的LSTBC抗衰落性能优于2发2收STBC。
2)分集度:4发4收VBLAST分集度是4;2发2收STBC分集度是4;4发4收STBC分集度是16;本发明的基于迭代的LSTBC译码方法充分利用了接收天线的分集度,相当于两个2发4收STBC,分集度为8。
D.比较附图5中“lstbc-DD1-QPSK”、“lstbc-DD2-QPSK”、“lstbc-DD3-QPSK”和“lstbc-DD4-QPSK”四条曲线,得出以下结论:
1)迭代一次的本发明的LSTBC译码方法比未迭代的现有LSTBC译码方法的抗衰落性能有很大改善,相同误码率条件下,抗衰落性能提高约3dB;
2)迭代两次以上后的曲线“lstbc-DD2-QPSK”、“lstbc-DD3-QPSK”、“lstbc-DD4-QPSK”重叠在一起,因此实际应用中只需迭代两次就可达到较理想的效果。
综上所述,现有LSTBC的抗衰落性能介于STBC和VBLAST之间,它是一种折中方案。虽然现有LSTBC与STBC相比牺牲了部分的分集增益,但是由于它引用了VBLAST的分层结构,因此现有LSTBC较之STBC有较高的频带利用率和编码速率。本发明的基于迭代的LSTBC译码方法在保持了现有LSTBC优点的基础上,充分利用了接收天线的分集度,在4发4收MIMO系统中相当于两个2发4收STBC,分集度为8,与现有的LSTBC译码方法相比增加了一倍。虽然本发明的译码方法的编码增益没有改变,但是由于分集度的提高,仍使本发明的译码方法的抗衰落性能较现有技术有明显提高。