逼近信道容量的无速率tcm码的编译码方法

文档序号:7806572阅读:270来源:国知局
逼近信道容量的无速率tcm码的编译码方法
【专利摘要】本发明公开了一种逼近信道容量的无速率TCM码的编译码方法,主要解决现有TCM码无法根据实际信道状态的变化自适应地选择合适的码率进行传输的问题。其实现步骤是:信息序列u经过编码器编码产生编码序列c;发送端通过改变信号映射关系,不断对编码序列c进行调制以产生源源不断的符号信息并发送至信道;接收端接收部分信息后进行译码,若译码失败,则再多接收一些信息重新译码,直至正确译码为止。仿真结果表明,本发明提高了TCM码在时变信道中的传输效率,且在线性编码结构下其传输速率能够逼近Shannon限,可用于在发送端未知信道状态信息的情况下自适应地选择合适的码率进行传输,以自适应适配链路速率。
【专利说明】逼近信道容量的无速率TCM码的编译码方法
【技术领域】
[0001]本发明属于数字通信【技术领域】,涉及一种信道编译码方法,可用于使TCM码在发送端未知信道状态信息的情况下自适应地选择合适的码率进行传输。
【背景技术】
[0002]网格编码调制TCM技术是1982年由Ungerboeck提出的一种基于卷积码的编码调制方法,它利用状态的记忆和适当的映射来增大码字序列之间的距离,因为卷积码可以看成是网格码,因此这种体制就称为网格编码调制。其基本思想是:将码率R = m/(m+1)的卷积码与2m+1进制星座图相结合,在不降低频带利用率和功率利用率的情况下,以设备的复杂化来换取编码增益。使用该技术调制的卷积码称为TCM码。一般情况下,TCM码的可选码率范围可看作是几个固定离散值的集合。由于TCM码在接收端接收符号信息的多少与码率有关,因此当选用某一码率时,不可避免会出现以下问题:当接收端实际接收的信息多于实现正确译码所必需接收的信息时,会造成传输信息的浪费,此时应该使用某一更高码率使TCM码性能最佳,但是由于TCM码可选的码率值是有限的,大多数情况下在可选码率集合里找不到适用于当前信道的最佳码率;当接收端实际接收的信息少于实现正确译码所必需接收的信息时,无法实现可靠译码,此时需要使用某一更低码率使TCM码性能最佳,但是仍会出现如上类似的问题。因此,如何使TCM码在发送端未知信道状态信息的情况下自适应地选择合适的码率进行传输,是需要解决的一个问题。

【发明内容】

[0003]本发明的目的在于针对上述已有技术的不足,提出一种逼近信道容量的无速率TCM码的编译码方法,以使TCM码在发送端未知信道状态信息的情况下能够自适应地选择合适的码率进行传输,实现可靠传输,提高TCM码在时变信道中的传输效率。
[0004]实现本发明目的的方案是:在TCM码的编码调制基础上引入Rateless的设计思想,完成无速率TCM码的实现。其技术步骤如下:
[0005](I)选用码率R = m/(m+l)的卷积码编码器,用该编码器对信息序列U= (U1, U2,…,Ui,…,Ul)进行编码,得到编码序列:c = (C1, C2,-,Ci,…,Cl),其中Ui为第i个2m进制的信息符号,Ci为第i个2m+1进制的编码符号,I≤i≤L,L为编码的网格长度;
[0006](2)发送端通过改变信号映射关系,不断对编码序列c进行调制以产生源源不断的符号信息并发送至信道,直到接收端接收足够多的信息以完成正确译码为止:
[0007](2a)令η表示发送端对编码序列c进行调制的次数,初始化η = 1,并设计信号映射关系Φη ;
[0008](2b)在发送端,采用信号映射关系Φη,将编码序列c = (C1, C2,…,cj映射到2m+1进制星座图上,得到已调制符号序列Xn = (Xn,!, Xn, 2) Xn, L),并将已调制符号序列Xn分成
M 部分:χ^,χ〗,…,x“...,xf,xl表示第 i 部分,1 ^ i ^ M, I ^ M ^ L ;
[0009](2c)令t表示该次调制下发送端向信道发送符号序列的次数,初始化t = I ;[0010](2d)发送端对符号序列\进行删余,只保留该序列的第t部分,即<,再将其发送至信道,信道输出加噪序列yl,在该次调制下接收端接收的符号序列为
[0011]
[0012](2e)接收端根据目前所有的已接收序列y= (yi,y2,…,yn),使用维特比译码算法进行译码;
[0013](2f)如果译码结果完全正确,则输出译码结果,并宣告译码结束,如果译码结果有误,则观察此次调制下发送端向信道发送符号序列的次数t的大小,若t = M,则令发送端对编码序列c进行调制的次数η = n+1,改变信号映射关系Φη,返回步骤(2b)则令t = t+1,返回步骤(2d)。
[0014]本发明具有如下优点:
[0015]I)在发送端未知信道状态信息的情况下能够自适应地选择合适的码率进行传输。现有TCM码的传输码率为其编码器的码率R = m/(m+1),其可选码率范围可看作是几个固定离散值的集合,对于某一信道来说,该集合里不一定存在适用于该信道的最佳码率,因此现有TCM码不一定能找到合适的码率,而本发明的无速率TCM码由于在发送端通过改变信号映射关系,不断对编码序列c进行调制以产生源源不断的符号信息并发送至信道,直到接收端接收足够多的信息完成正确译码为止,因此在接收端实际接收符号信息的多少会随实际信道状态的变化而变化,从而能够根据实际信道的状态自适应地选择合适的码率进行传输;
[0016]2)在线性编码结构下,其传输速率可以逼近容量限。现有TCM码的传输码率为其编码器的码率R = m/(m+l ),因此其传输速率范围可看作是一些离散值的集合,无法随着信道状态的变化而渐进变化,从而无法逼近容量限,而本发明的无速率TCM码在接收端一直接收符号信息直到正确译码为止,由于传输码率与接收端接收符号的多少有关,因此其传输速率会随着信道状态的变化而渐进变化,在线性编码结构下可以逼近容量限。
【专利附图】

【附图说明】
[0017]图1是本发明的实现总流程图;
[0018]图2是本发明中无速率TCM码在发送端的删余示例图;
[0019]图3是本发明的无速率TCM码的仿真曲线与Shannon限的对比图。
【具体实施方式】
[0020]以下参照附图对本发明的技术方案和效果作进一步说明。
[0021]参考图1,本发明的实现步骤如下:
[0022]步骤1,选用码率R = m/(m+l)的卷积码编码器,用该编码器对信息序列u =(U1, U2,…,Ui,…,Ul)进行编码,得到编码序列:C = (C1, C2,…,Ci,…,C1),其中Ui为第i个2m进制的信息符号,Ci为第i个2m+1进制的编码符号,I≤i≤L,L为编码的网格长度。
[0023]步骤2,令η表示发送端对编码序列c进行调制的次数,初始化η = 1,并设计信号映射关系Φη。
[0024]步骤3,在发送端,对编码序列c进行调制,并对得到的已调制符号序列Xn进行删余,再向信道发送已删余符号序列:
[0025](3a)采用信号映射关系Φη,将编码序列c = (cl,c2,…,cJ映射到2m+1进制星座图上,得到已调制符号序列Xn = (Xn,!, Xn,2,..., Xn,L),并将已调制符号序列Xn分成M部分:.,xf,Xin表示第 i 部分,I ≤ i ≤ M,I ≤ M ≤ L。
[0026](3b)令t表示该次调制下发送端向信道发送符号序列的次数,初始化t = I ;
[0027](3c)发送端对符号序列Xn进行删余,只保留该序列的第t部分,即XI,再将其发送至信道,信道输出加噪序列yl,在该次调制下接收端接收的符号序列为
[0028]Jn
[0029]针对本步骤所述的删余,图2以L=16,M = 4的无速率TCM码为例,给出了删余示例图,该图共有四行,这表示第η次调制后得到的已调制符号序列Xn = (Xn,!, χη,2)…
,X?,k)…,χη,16)共被发送四次,即将已调制符号序列Xn分成四部分且第t次
只发送该次对已调制符号序列Xn删余后得到的符号序列<,其中χηΛ表示符号序列Xn
中的第k个符号,KkS 16,1 ^ t ^ M0每一行有16个单元,其中包括4个实心单元,12个空心单元,且第k个单元表示符号xn,k。若第t行的第k个单元为实心单元,则表示在符号序列X=中包含符号xn,k,若第t行的第k个单元为空心单元,则表示在符号序列<中不包含符号xn,k。因此,依图2可得,这4次删余后得到的符号序列依次为:
X?_.4 , Xn.S , Xn'12 , Xn'16),X? _ (?,] ’-'?,6, 4.10,-'?'14),
[0030]Xn- (χη;1 , Xtl^ , Xn9 , Χ?;13) J χ?_ ^?3 5 Χη,7 5 Χη,11 5 -^?,15^ 0
[0031]步骤4,接收端根据目前所有的已接收序列y = (Yl, y2,…,yn),使用维特比译码算法进行译码:
[0032](4a)令Stl表示编码器编码时的初始状态,并初始化:令时间单位j = 0,进入初始状态Stl的所有长为j段分支的部分路径的度量值为0,进入其它状态的所有长为j段分支的部分路径的度量值为无穷大;
[0033](4b)对每一状态S,挑选并存贮一条有最小度量的部分路径及部分路径度量值,称此部分路径为留选路径;
[0034](4c)令时间单位j = j+1,按照下列步骤,计算j时刻进入每一状态s的所有分支的度量:
[0035](4cl)假设某分支在前一时刻的状态为s',输入符号u'」后,通过网格编码得到该分支的编码输出c' j并进入状态S ;
[0036](4c2)针对该分支,分别米用信号映射关系O1, Φ2, *.., Φ?, *.., Φη,将编码输出c' j映射到2Π+1进制星座图上,依次得到符号X1, X2,…,Xi,-, Xn,其中,01表示发送端对编码序列c进行第i次调制时所采用的信号映射关系,X i表示采用信号映射关系Oi将编码输出c' j映射到2m+1进制星座图上得到的符号,Ι^?^η,η表示目前为止发送端对编码序列c进行调制的次数;
[0037](4c3)针对编码器在j时刻输出的编码符号C」,发送端发送符号χ1;」,x2j,,…,Xi,」,..., χη后,j,接收端接收到的符号依次为y1;j,y2,j,…,yi;j,…,yn,其中,xi;」表示在发送端对j时刻编码器输出的编码符号h进行第i次调制时得到的已调制符号,yu表示Xi,」通过信道后的输出,I ^n, η表示目前为止发送端对编码序列c进行调制的次数;
[0038](4c4)根据该分支对应的已调制符号X1, X2,…,X i;…,X ?和j时刻接收端对应
接收的符号y2;J,…,yi,j,I≤i≤η,结合公式,求出该分支度量






/-1
Ω,且如果接收纟而未接收到符号yi;」,则令I I Yi,j_ x i I 12 = O。
[0039](4d)将j时刻进入每一状态s的所有分支的度量和与这些分支相连的前一时刻的留选路径的度量相加,计算其部分路径度量,然后按步骤(4b)的方法得到j时刻进入每一状态s的留选路径进行存贮,并删去其他所有路径,使在j时刻进入每一状态s的留选路径均延长了一个分支; [0040](4e)观察时间单位j的大小,若j〈L,其中L为编码的网格长度,则返回步骤(4c),若j = L,则比较所有状态的留选路径度量,挑选出一条有最小度量的路径,再按时间顺序输出该路径所有分支上输入的二进制比特序列,得到译码结果。
[0041]步骤5,如果译码结果完全正确,则输出译码结果,并宣告译码结束,如果译码结果有误,则观察此次调制下发送端向信道发送符号序列的次数t的大小,若t = M,则令发送端对编码序列c进行调制的次数η = η+1,改变信号映射关系Φη,返回步骤(3a);若t〈M,则令t = t+Ι,返回步骤(3c)。
[0042]本发明的效果可通过附图3进一步说明:
[0043]以R = 3/4,L = 3的无速率TCM码为例,采用16QAM调制进行仿真,其仿真曲线和Shannon限的对比图见图3,其中,R为卷积编码器的码率,L为编码的网格长度。
[0044]从图3可看出:
[0045]I)当-1OdB ( SNR < IOdB时,该无速率TCM码的传输速率η均小于3bits/symbol ;当SNR>10dB时,该无速率TCM码的传输速率η大于3bits/symbol。而对于R =3/4的现有TCM码来说,由于采用16QAM调制,理论上其传输速率η为3bits/symbol。因此,可以看出,与同结构的现有TCM码相比,在-1OdB ( SNR < IOdB时,该无速率TCM码的传输码率随着信道状态的不同会有不同程度的降低;在SNR>10dB时,该无速率TCM码的传输码率有了适当的提高。因此,本发明的无速率TCM码实现了根据实际信道状态的变化自适应地选择合适的码率进行传输。
[0046]2)以Shannon限为参考,当传输速率η ( lbits/symbol时,该无速率TCM码的仿真曲线与Shannon限完全重合;当lbits/symbol < η < 2.5bits/symbol时,无速率TCM码的仿真曲线接近Shannon限。可看出,在上述传输速率范围内,该无速率TCM码的传输速率逼近Shannon限。
【权利要求】
1.逼近信道容量的无速率TCM码的编译码方法,包括如下步骤: (1)选用码率R= m/(m+l)的卷积码编码器,用该编码器对信息序列u = (U1, U2,...,Ui,…,Ul)进行编码,得到编码序列:c = (C1, C2,-,Ci,…,Cl),其中Ui为第i个2m进制的信息符号,Ci为第i个2m+1进制的编码符号,I≤i≤L,L为编码的网格长度; (2)发送端通过改变信号映射关系,不断对编码序列c进行调制以产生源源不断的符号信息并发送至信道,直到接收端接收足够多的信息以完成正确译码为止: (2a)令η表示发送端对编码序列c进行调制的次数,初始化η = 1,并设计信号映射关系Φη ; (2b)在发送端,采用信号映射关系φη,将编码序列C= (C1, C2,…,(O映射到2m+1进制星座图上,得到已调制符号序列Xn = (xn;1, Xn, 2)χηΛ),并将已调制符号序列Xn分成M部分:?…,xi表示第i部分,I≤i≤M,I≤M≤L ; (2c)令t表示该次调制下发送端向信道发送符号序列的次数,初始化t = I ; (2d)发送端对符号序列Xn进行删余,只保留该序列的第t部分,即 <,再将其发送至信道,信道输出加噪序列y在该次调制下接收端接收的符号序列为=(yi,y〗,...,y!,); (2e)接收端根据目前所有的已接收序列y= (yi,y2,…,yn),使用维特比译码算法进行译码; (2f)如果译码结果完全正确,则输出译码结果,并宣告译码结束,如果译码结果有误,则观察此次调制下发送端向信道发送符号序列的次数t的大小,若t = M,则令发送端对编码序列c进行调制的次数n = η+1,改变信号映射关系Φη,返回步骤(2b);若t〈M,则令t=t+Ι,返回步骤(2d)。
2.根据权利要求1所述的方法,其中步骤(2e)所述的接收端根据目前所有的已接收序列I = (Y1, y2,…,yn),使用维特比译码算法进行译码,按如下步骤进行: (2el)令Stl表示编码器编码时的初始状态,并初始化:令时间单位j = O,进入初始状态Stl的所有长为j段分支的部分路径的度量值为O,进入其它状态的所有长为j段分支的部分路径的度量值为无穷大; (2e2)对每一状态S,挑选并存贮一条有最小度量的部分路径及部分路径度量值,称此部分路径为留选路径; (2e3)令时间单位j = j+1,计算j时刻进入每一状态s的所有分支的度量; (2e4)将j时刻进入每一状态s的所有分支的度量和与这些分支相连的前一时刻的留选路径的度量相加,计算其部分路径度量,然后按步骤(2e2)的方法得到j时刻进入每一状态s的留选路径进行存贮,并删去其他所有路径,使在j时刻进入每一状态s的留选路径均延长了一个分支; (2e5)观察时间单位j的大小,若j〈L,其中L为编码的网格长度,则返回步骤(2e3),若j = L,则比较所有状态的留选路径度量,挑选出一条有最小度量的路径,再按时间顺序输出该路径所有分支上输入的二进制比特序列,得到译码结果。
3.根据权利要求2所述的方法,步骤(2e3)中所述的计算j时刻进入状态s的某一分支度量,具体步骤如下: (2e31)假设某分支在前一时刻的状态为s',输入符号u/后,通过网格编码得到该分支的编码输出c/并进入状态S ; (2e32)针对该分支,分别采用信号映射关系Φ2,…,…,Φη,将编码输出cj'映射到2m+1进制星座图上,依次得到符号X1, X2,-, Xi,-, Xn,其中,Oi表示发送端对编码序列c进行第i次调制时所采用的信号映射关系,X i表示采用信号映射关系Oi将编码输出V j映射到2m+1进制星座图上得到的符号,1≤i≤η,η表示目前为止发送端对编码序列c进行调制的次数; (2e33)针对编码器在j时刻输出的编码符号Cj,发送端发送符号X1, j, x2; j,…,xi; j,…,χη,j后,接收端接收到的符号依次为y1;j,I2,P..., Yijj,…,yn,j,其中,Xi,j表示在发送端对j时刻编码器输出的编码符号h进行第i次调制时得到的已调制符号,y,j表示Xu通过信道后的输出,1≤I ≤n, η表示目前为止发送端对编码序列c进行调制的次数; (2e34)根据该分支对应的已调制符号X1, X2,…,Xi, -, X1^Pj时刻接收端对应接收的符号Y1 j I2 P…,Ii P…,yn j,I≤i≤η,结合公
【文档编号】H04L1/00GK104022848SQ201410275787
【公开日】2014年9月3日 申请日期:2014年6月19日 优先权日:2014年6月19日
【发明者】白宝明, 窦金芳, 李琼, 陈佩瑶, 魏芸 申请人:西安电子科技大学, 西安空间无线电技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1