CN1645752A - 一种Turbo码与多维调制级联的***编译码方案 - Google Patents
一种Turbo码与多维调制级联的***编译码方案 Download PDFInfo
- Publication number
- CN1645752A CN1645752A CN 200510011229 CN200510011229A CN1645752A CN 1645752 A CN1645752 A CN 1645752A CN 200510011229 CN200510011229 CN 200510011229 CN 200510011229 A CN200510011229 A CN 200510011229A CN 1645752 A CN1645752 A CN 1645752A
- Authority
- CN
- China
- Prior art keywords
- sequence
- bit
- centerdot
- decoder
- posterior probability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013507 mapping Methods 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 18
- 101150047356 dec-1 gene Proteins 0.000 claims description 30
- 108010076504 Protein Sorting Signals Proteins 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 8
- 230000006698 induction Effects 0.000 claims description 3
- 230000009897 systematic effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
一种Turbo码与多维调制级联的***编译码方案。其特征在于:在发送端,将Turbo码编码器输出的比特流进行不同类型的调制,其中,信息比特序列使用传统的两维Gray映射QPSK调制,而校验比特序列使用经过星座图映射方式优化的多维QPSK调制。在接收端,Turbo码译码和多维调制的迭代解调间进行联合迭代解调译码,其中,迭代解调使得传统Turbo码所无法利用的校验比特的后验概率得到利用。在相同的***复杂度下,相对于单纯的Turbo码,本***可以获得***误比特率性能上的明显增益。
Description
技术领域
一种Turbo码与多维调制级联的***编译码方案属于迭代译码技术领域。
背景技术
在无线通信***中,为了保证信息被可靠地传输,信道编码是一项灵活而且有效的技术。在各种信道编码技术中,Turbo码是一种能力强大的信道编码,它能够在距离香农极限较近的信噪比达到较低的误码率。它已经被广泛应用在各种通信***当中,比如第三代陆地移动通信协议UMTS/3GPP以及深空通信协议CCSDS中。
Turbo码的编译码器结构如图1中所示。在发送端,它由两个相同的***递归卷积码(RSC)编码器和一个交织器π组成,两个编码器通过π并行级联在一起,两个RSC码输出的校验位序列p1和p2与原始信息比特序列u通过复接器进行复接得到的码字序列,最后对该序列进行Gray映射的QPSK调制(或者说是BPSK调制),如图1.1所示。复接器的功能就是将三个输入序列按照(u,p1,p2)的顺序连接在一起,成为一个单独的输出序列。在接收端,Turbo码的译码器包括两个相同的RSC码的译码器,分别对每个RSC码使用软输入软输出(SISO)的最大后验概率(MAP)译码算法,每个RSC码译码器都会输出信息比特序列的后验概率序列,该后验概率序列通过交织或解交织后成为了另外一个译码器的先验概率序列,这样,通过在两个译码器间的后验概率序列的传递来实现迭代译码,如图1.2所示。图中P(;I)表示输入的先验概率序列,P(;O)表示输出的后验概率序列,P(u;)表示关于信息比特序列的概率序列,P(p1;)和P(p2;)分别表示关于两个RSC码的校验比特序列的概率序列,下标dec1表示译码器1的输入或输出,下标dec2表示译码器2的输入或输出,下标dem表示解调器的输入或输出。在第一次迭代开始的时候,由于译码器2还没有后验概率输出,P(u;Idec1)被初始化为等概情况,也就是信息比特序列u中得每一个比特等于0和等于1的概率都为0.5。
这里我们对所选用的RSC码做如下规定。RSC码的记忆深度为m,以网格图表示时共有2m个状态,以st表示状态值,
每个状态都有两个输出分支和两个输入分支,整个网格图中一共可能有2m+1个分支,分支以e表示,
每个分支都有一个起始状态和一个结束状态,令stB(e)表示分支e的起始节点的状态值,stE(e)表示分支e的结束节点的状态值。另外,每个分支都对应于一个n比特的标签,n为大于1的整数,其中包括一个信息比特和n-1个校验比特,分别用u(e)和p(e)表示。不凿孔时,忽略收尾比特序列的影响,RSC码的编码效率为R1=1/n,如果想得到更高效率的编码可以使用凿孔技术。所谓“收尾”就是在对信息比特序列的编码过程结束后,为了最终使得编码器的状态值为0状态,而对每一个编码器进行的操作,包括添加长度为m的收尾比特序列ut,以及对收尾比特序列编码所得到的长度为(n-1)*m的校验比特序列pt,两部分的总长度为n*m。Turbo码的码字长度决定于其交织器的深度以及RSC码的记忆深度。假设交织器的深度为L,也就是每个Turbo码的编码块内共有L个信息比特,则两个RSC码编码器输出的校验比特序列长度均为(n-1)*L,两个RSC码编码器的两组收尾比特序列的总长度为2*n*m,最终的Turbo码的码字长度为2*n*L-L+2*N*m,由于2*n*m一般远小于L,Turbo码的编码效率近似为R=R1/(2-R1)。
在Turbo码译码过程中的每一次迭代译码时,每个RSC码译码器都使用MAP算法,RSC码译码器后验概率的计算过程如下:
1.首先要完成前向和逆向的递推。交织器的深度为L,RSC码的记忆深度为m,在有收尾比特序列的情况下,用网格图表示的整个卷积码共有M=L+m+1个节点。令Ak(stB(e))表示在第k个节点上,该码处于状态stB(e)且输出分支为e的概率,k=0,1,…,M-1;令Bk(stE(e))表示在第k个节点上,该码处于状态stE(e)且输入分支为e的概率,k=1,2,…,M;令u(e)表示当分支为e的时候在该编码节点上输入的信息比特的值;pj(e)表示当分支为e的时候在该编码节点上输出的校验比特序列中第j个比特的值,j=0,1,…,n-2。则前向递推为:
逆向递推为:
假设网格图的初始状态为0,而且经过收尾以后,最终的状态也为0。则上述递推公式的初始值为:A0(st0)=1,A0(sti)=0 i=1,2,…,2m-1;BM(st0)=1,BM(sti)=0 i=1,2,…,2m-1。
2.输出的网格图上第k个节点对应的信息比特和校验比特的后验概率,通过下式计算得到:
其中pi(e)表示分支e的标签中校验比特的第i个比特,b∈{0,1}。(1-4)式中得到的概率值需要进行归一化。
对于凿孔和不凿孔的两种情况,译码器的结构是完全一样的,只不过在输入先验概率时,对应于凿孔位置的先验概率用先验等概来描述。
整个Turbo码的译码过程由两个RSC码译码器迭代完成,每一次迭代中两个译码器都分别进行一次译码。在信噪比满足一定大小的条件下,每次迭代之后,每个译码器输出的信息比特序列的后验概率序列的准确度都会有所增长,该后验概率序列经过交织或解交织后又将成为另外一个译码器的输入先验概率序列。最终经过多次迭代之后,信息比特序列的后验概率序列将接近准确。与此同时,在每次迭代译码之后,校验比特序列上的后验概率序列也将变得更加准确,但是由于Turbo码的结构,该后验概率序列无法被利用。
本发明针对Turbo码的上述缺陷对Turbo码进行了修改,使得Turbo码的校验比特序列上的后验概率序列在译码过程中得以被利用,从而得到了性能更好的信道编码调制方案。同时,针对本发明提出的编码调制结构,对构成***所需的RSC码和调制方式进行了搜索,提出了一套高性能的具体实现方案。
发明内容
本发明的目的在于,使得传统Turbo码译码过程中无法被使用的校验比特序列的后验概率序列得以利用。本发明提出的新型的编译码方案将Turbo码的信息比特序列和校验比特序列使用不同的调制方式进行调制,通过迭代解调,使得校验比特序列的后验概率序列得以利用。迭代解调是二十世纪九十年代末被提出的,它通过对星座映射方式的仔细选择,与信道编码一起配合,可以提高***的误码率性能。之所以选择多维调制,是因为相比以往使用的二维调制,它有更好的性能。本发明针对加性高斯白噪声(AWGN)信道,根据后验概率传递的特性进行了多维星座图调制映射的优化,提出了一个具体的多维调制映射方案(见后文中的表1)。
本发明所提出的***的收发两端***结构如图2所示。图2.1中给出了本***的发端,对比图1.1可知,它对传统的Turbo码的调制方式进行了修改,把Turbo码的码字分成两部分分别进行调制映射。其中,信息比特序列仍然使用Gray映射的QPSK进行调制(调制器1),对于校验比特序列则使用多维QPSK星座映射进行调制。这是因为在不进行迭代调制时,对Gray映射的解调所得到的后验概率是所有映射方式中最准确的,而对于信息比特序列来说,我们已经通过Turbo码译码对它的后验概率序列进行了利用,并不需要再使用迭代解调。对于Turbo码的校验比特序列,我们根据Turbo码的后验概率传递特性选择与之匹配的多维QPSK调制方式。Turbo码的两个RSC码编码器编码后的校验比特序列先通过复接器1进行复接,然后进入交织器π2进行交织,再进入N维QPSK调制器(调制器2)进行调制。两个调制器的输出符号t1和t2通过复接器2进行复接后被发送。
所谓N维QPSK调制,就是由N个比特一起决定连续的N/2个QPSK信号,每个2维QPSK信号都是由正交和同相两个分量组成的,一个N维QPSK信号也就是由N/2对正交和同相的分量组成的一个N维星座图上的一个星座点,该星座图上共有2N个星座点。图3.1和图3.2中分别画出了一个2维QPSK和一个4维QPSK星座图,可见后者就是对前者进行的一个4维扩展。在4维星座图中任意地标注了两个星座点S0和S1,其中,S0的坐标为(a,a,a,a),它所对应的4比特二进制序列为“0000”(下文中将称该二进制序列为星座点的“标签”),S1的坐标为(-a,-a,-a,-a),它的标签为“1111”。一般的,一个N维QPSK星座图中任意一个星座点都有一个N维的坐标向量,令该坐标为si,令星座点的集合为
同时,每个星座点都有一个N比特的标签,令该标签为v=(v0,v1,…,vN-1),其中vi表示标签v的第i个比特。坐标与标签间的对应方式称为该星座图的映射方式,用μ来表示,s=μ(v)。假设发送的信号为s,s∈χ,接收到的信号为r,则该信号的标签的各个比特值的后验概率可以依下式计算:
其中P(r|s)表示接收信号的先验概率;χb i表示χ的子集,其中每个星座点的标签第i位的值都等于b,b∈{0,1};(μ-1(s))j表示星座点s的标签的第j位的比特值。设噪声的方差为N0/2,则近似有:
当标签的各个比特都没有先验概率的时候,也就是先验等概时,(5)式可以简化成:
(5)、(7)式中计算的概率值还需要进行归一化。
图2.2中给出了本***的收端,对比1.2可知,该收端是在Turbo码译码器上叠加了一个迭代解调的单元。图中的符号意义与图1.2中所描述的相同,另外,下标dem1表示解调器1的输入或输出,下标dem2表示解调器2的输入或输出。在迭代解调和译码的开始,接收机先通过解复接器2将接收到的信号进行解复接分为两个接收符号序列r1和r2,分别对应于调制信号t1和t2,它们分别作为解调器1和解调器2的输入。图中实线连接的部分是一个Turbo码的译码器,我们把它称作“小环”译码,在该过程中,Turbo码的两个RSC码译码器接收来自解调器1的信息比特序列的先验概率序列和来自解调器2的和校验比特序列的先验概率序列,信息比特序列的后验概率序列在两个RSC码译码器之间迭代传递,其过程与上文中描述的Turbo码译码器译码过程相同。每迭代U次“小环”译码以后,将校验比特序列的后验概率序列输出,经过复接器1和交织器π2之后,成为解调器2的先验概率序列,解调器2进行一次解调,然后再输出校验比特序列的后验概率序列,该后验概率序列再经过解交织器π2 -1和解复接器1后成为“小环”译码的先验概率序列。迭代解调相关的过程在图中以虚线表示。我们把一次解调器2的解调和U次“小环”译码一起称作一次“大环”译码。把“大环”译码的迭代次数V叫做本方案的的迭代译码次数。
本发明的特征在于:
它依次含有以下步骤:
在发送端,依次含有以下步骤:
第1步.在开始编码前进行初始化,设定交织器π1的交织深度L,随机产生交织图样;设定交织器π2的交织深度为Lp=2*(n-1)*L+2*n*m,随机产生交织图样。编码器1和编码器2相同,都是编码效率为R1=1/n的***码编码器,每输入一个信息比特就会输出n-1个校验比特,编码器的记忆深度为m,将编码器1和编码器2的状态都设为0状态。
第2步.把序列长度为L的信息比特序列u输入编码器1进行编码,令u=u0,u1,…,uL-1,输出信息比特序列的校验比特序列p1,输出收尾比特序列ut1,输出收尾比特序列的校验比特序列pt1,将上述三个比特序列一起称为分量码1的校验比特序列p1’;同时该信息比特序列通过交织器π1进行交织,然后输入编码器2进行编码,输出信息比特序列的校验比特序列p2,输出收尾比特序列ut2,输出收尾比特序列的校验比特序列pt2,将上述三个比特序列一起称为分量码2的校验比特序列p2’。最终得到的码字总长度为2*n*L-L+2*n*m,其中校验比特序列以及收尾比特序列(以后合在一起简称为Turbo码的校验比特序列)的长度为Lp=2*(n-1)*L+2*n*m。
第3步.将信息比特序列通过调制器1进行2维Gray映射的调制,生成长度为
的2维调制信号序列t1,
假设2维QPSK星座点可能的四种信号取值为(±a,±a)。信息比特序列u的第2k和2k+1两个比特u2k和u2k+1分别决定t1,k的同相分量t1,k I和正交分量t1,k Q:
将编码器1和编码器2输出的信息比特序列的校验比特序列、收尾比特序列、收尾比特序列的校验比特序列通过复接器1按照(p1,p2,ut1,pt1,ut2,pt2)的顺序复接在一起,成为一个单独的序列。之后通过交织器π2进行交织,得到序列p, p再通过调制器2按照选定的调制映射方案进行N维QPSK调制映射,生成长度为
的N维调制信号序列t2,
该星座图的星座点的集合为
每个调制信号t2,i∈χ,t2,i的标签v2,i为校验比特序列p的第N*i到N*i+N-1个比特,v2,i=(pNi,PNi+1,…,PNi+N-1)。
第4步.将调制器1输出的调制信号序列t1和调制器2输出的调制信号序列t2通过复接器2按照(t1,t2)的顺序进行复接,成为一个单独的输出符号序列,然后发送至信道。
在接收端,依次含有以下步骤:
第1步.在开始译码前进行初始化,把输入到译码器1的序列u的先验概率序列P(u;Idec1)和输入到解调器2的序列p先验概率序列P(p;Idem2)置为等概率。所述的先验概率序列P(u;Idec1)也就是译码器2输出的后验概率序列P(u;Odec2)经过解交织器π1-1解交织器后得到的。
第2步.对从信道上接收到的符号用解复接器2进行解复接,得到接收信号序列r1和r2,分别输送给两个解调器。
它们分别对应于两个发射信号序列t1和t2。
第3步.解调器1根据接收信号序列r1计算并输出序列u的后验概率序列P(u;Odem1)。对于序列r1中的第i个接收信号r1,i,它的同相分量r1,i I和正交分量r1,i Q两个分量分别对应于信息比特u2k和u2k+1,依下式计算它们的后验概率:
上式中b∈{0,1}。对所有的r1,i所对应的比特计算后验概率并进行归一化后,就得到后验概率序列P(u;Odem1),它直接作为译码器1的序列u的先验概率序列输入;
另外,它经过交织器π1进行交织后将作为译码器2的先验概率序列输入。
第4步.进行V次“大环”迭代解调译码,包括一次解调器2的解调和U次“小环”迭代译码:
第4.1步.解调器2的工作:解调器2的输入有两部分,包括:从信道上接收到的信号序列r2和编码器输出的序列p的先验概率序列P(p;Idem2)。输出为序列p的后验概率序列P(p;Odem2)。首先,对于序列r2中的第i个信号r2,i计算发送信号t2,i的先验概率P(r2,i|t2,i=sj),j=0,1,…,2N-1:
然后再计算r2,i的标签v2,i所对应的N个比特的后验概率:
其中,χb l表示χ的子集,其中每个星座点的标签第l位的值都等于b,b∈{0,1};v2,i l表示v2,i的第l个比特,(μ-1(sj))h表示信号sj的标签的第h个比特的值。对所有的r2,i的标签计算后验概率并进行归一化后,就得到序列p的后验概率序列P(p;Odem2)。
第4.2步.P(p;Odem2)经过解交织器π2 -1进行解交织,然后经过解复接器1进行解复接,得到P(p1′;Idec1)和P(p2′;Idec2),分别作为译码器1和译码器2的关于序列p1’和p2’的先验概率序列输入。
第4.3步.进行U次“小环”译码:
第4.3.1步.译码器1的译码:译码器1对分量码1进行译码,它有三个输入,分别是来自解调器1的序列u的先验概率序列P(u;Odem1);来自解交织器π1 -1的序列u的先验概率序列P(u;Idec1);来自解复接器1的序列p1’的先验概率序列P(p1′;Idec1)。有两个输出,分别是序列u的后验概率序列P(u;Odec1);序列p1’的后验概率序列P(p1′;Odec1)。
首先要完成前向和逆向的递推。令Ak(stB(e))表示在对第k个信息比特编码时,该码处于状态stB(e)且输出分支为e的概率,k=0,1,…,M-1。有收尾比特,所以整个码字一共有M=L+m+1个状态节点;令Bk(stE(e))表示在第k个信息比特编码时,该码处于状态stE(e)且输入分支为e的概率,k=1,2,…,M;当k<L时,u(e)表示当分支为e的时候在该编码节点上输入的信息比特,它对应于序列u中的第k个比特,u(e)=uk;pj(e)表示当分支为e的时候在该编码节点上输出的校验比特序列中第j个比特,j=0,1,…,n-2,它对应于序列p1中的第(n-1)*k+j个比特,pj(e)=P1,(n-1)·k+j;当k≥L时,u(e)则表示第k-L个收尾比特,pj(e)表示第k-L个收尾比特的校验比特序列中的第j个比特。则
前向递推为:
逆向递推为:
编码器1的初始状态为0,经过收尾以后,最终的状态也为0。上述递推公式的初始值为:A0(st0)=1,A0(sti)=0,i=1,2,…,2m-1;BM(st0)=1,BM(sti)=0,i=1,2,…,2m-1。
然后计算第k个信息比特及其所对应的校验比特的后验概率:
式中j=0,1,…,n-2,序列u的输入先验概率可以按下式得到,需要归一化处理。
Pk(u=b;I)=Pk(u=b;Idec1)*Pk(u=b;Odem1)
以上各式式中得到的概率值需要进行归一化。
第4.3.2步.序列P(u;Odec1)通过交织器π1进行交织,得到序列P(u;Idec2)。
第4.3.3步.译码器2的译码:与译码器1的工作是对称的;译码器2对分量码2进行译码,它有三个输入,分别是经过交织器π1来自解调器1的序列u的先验概率序列;经过交织器π1来自译码器1的序列u的先验概率序列P(u;Idec2);来自解复接器1的序列p2’的先验概率序列P(p2′;Idec2)。有两个输出,分别是序列u的后验概率序列P(u;Odec2);序列p2’的后验概率序列P(p2′;Odec2)。具体译码过程与第i.)步中译码器1相同。
第4.3.4步. 序列P(u;Odec2)通过解交织器π1 -1进行解交织,得到序列P(u;Idec1)。
第4.4步.将“小环”迭代译码输出的序列p1’和p2’的后验概率序列P(p1′;Odec1)和P(p2′;Odec2)通过复接器1进行复接,然后再通过交织器π2进行交织,得到解调器2的输入先验概率序列P(p;Idem2)。
第5步.根据译码得到的序列u的后验概率P(u;Odec1)、P(u;Odec2)以及解调器1得到的后验概率P(u;Odem1),依下式计算序列u的概率序列P(u),并根据此值进行硬判决,得到译码结果。
Pk(u=b)=Pk(u=b;Idec1)*Pk(u=b;Odec1)*Pk(u=b;Odem1)
实验效果如下:
按照下文中的实际***实现方案得到的实际***仿真结果见图4。当U=2,V=30,L=50000时,将该方案的性能与每个分量码的状态数都是16的Turbo码(37,21)相比较,该Turbo码译码的迭代次数也是30,码长也是50000,编码效率也是1/2。由图中可见,本***方案明显好于Turbo码,由于本***方案使用的是分量码为4状态的Turbo码,所以两次小环迭代的复杂度只相当于一个16状态的RSC码的译码复杂度,也就是说,两次小环迭代的复杂度只相当于1/2次的16的Turbo码迭代译码的复杂度。一次8维QPSK的MAP解调复杂度相当于一个16状态的RSC码的译码复杂度,而且比RSC码的译码器更容易并行实现。由此可见,图中进行性能比较的两个***的复杂度大致相同,而本发明中提出的方案更加有利于并行实现。
附图说明
图1传统的Turbo码的编译码器结构:
1.1、Turbo码的编码器;
1.2、Turbo码的译码器。
图2 Turbo码与多维调制级联的迭代译码解调***的编译码器结构:
2.1、发送端;
2.2、接收端。
图3N维QPSK调制星座图举例:
3.1、2维Gray映射的QPSK;
3.2、4维QPSK举例。
图4实际***方案的实验效果。
图5编码效率为1/2的RSC码的编码器。
实际***方案
这里给出适合于本发明中提出的编译码结构一套实际***方案。先规定命名规范,如果编码效率为1/2的RSC码的生成多项式为(G1,G2),则意味着该RSC码编码器的结构如图5中所示,如果使用二进制表示,则有
其中m是前文中提到的RSC码的记忆深度。习惯上G1和G2使用八进制进行表示。***方案分别如下:
两个RSC码的生成多项式均为(0×7,0×6),是记忆深度为2,状态数为4的RSC码,凿孔到编码效率为2/3,凿孔图案使用最常用的图案,即编码器输出的校验比特序列每隔一个比特删掉一个比特。调制器2为8维QPSK调制,调制映射见表1。在交织深度较大的情况下,本方案的编码速率约等于1/2。
附表中的星座点标号i是以十进制表示的,它决定了该星座点的坐标,如果用二进制表示,i=(i0,i1,…,iN-1),则对应的星座点坐标为
标签的标号k同样是以十进制表示的,对应的标签值就是k的二进制表示,vk=(k0,k1,…,kN-1)。
表1 8维QPSK调制映射方式
星座点i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
标签k | 0 | 63 | 95 | 96 | 111 | 80 | 48 | 15 | 119 | 72 | 40 | 23 | 24 | 39 | 71 | 120 |
星座点i | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
标签k | 123 | 68 | 36 | 27 | 20 | 43 | 75 | 116 | 12 | 51 | 83 | 108 | 99 | 92 | 60 | 3 |
星座点i | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
标签k | 125 | 66 | 34 | 29 | 18 | 45 | 77 | 114 | 10 | 53 | 85 | 106 | 101 | 90 | 58 | 5 |
星座点i | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
标签k | 6 | 57 | 89 | 102 | 105 | 86 | 54 | 9 | 113 | 78 | 46 | 17 | 30 | 33 | 65 | 126 |
星座点i | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
标签k | 127 | 64 | 32 | 31 | 16 | 47 | 79 | 112 | 8 | 55 | 87 | 104 | 103 | 88 | 56 | 7 |
星座点i | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 |
标签k | 4 | 59 | 91 | 100 | 107 | 84 | 52 | 11 | 115 | 76 | 44 | 19 | 28 | 35 | 67 | 124 |
星座点i | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 |
标签k | 2 | 61 | 93 | 98 | 109 | 82 | 50 | 13 | 117 | 74 | 42 | 21 | 26 | 37 | 69 | 122 |
星座点i | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |
标签k | 121 | 70 | 38 | 25 | 22 | 41 | 73 | 118 | 14 | 49 | 81 | 110 | 97 | 94 | 62 | 1 |
注:表1中只列出了8维QPSK的前128个星座点的映射方式,后面128个星座点的标签为vk=(1,k1′,…,kN-1′),k′=k-128。
Claims (1)
1.一种Turbo码与多维调制级联的***编译码方法,其特征在于它依次含有以下步骤:在发送端,依次含有以下步骤:
第1步.在开始编码前进行初始化,设定交织器(π1)的交织深度L,随机产生交织图样;设定交织器(π2)的交织深度为Lp=2*(n-1)*L+2*n*m,随机产生交织图样;编码器(1)和编码器(2)相同,都是编码效率为R1=1/n的***码编码器,每输入一个信息比特就会输出n-1个校验比特,编码器的记忆深度为m,将编码器(1)和编码器(2)的状态都设为0状态;
第2步.把序列长度为L的信息比特序列u输入编码器(1)进行编码,令u=u0,u1,…,uL-1,输出信息比特序列的校验比特序列p1,输出收尾比特序列ut1,输出收尾比特序列的校验比特序列pt1,将上述三个比特序列一起称为分量码(1)的校验比特序列p1’;同时该信息比特序列通过交织器(π1)进行交织,然后输入编码器(2)进行编码,输出信息比特序列的校验比特序列p2,输出收尾比特序列ut2,输出收尾比特序列的校验比特序列pt2,将上述三个比特序列一起称为分量码(2)的校验比特序列p2’;最终得到的码字总长度为2*n*L-L+2*n*m,其中校验比特序列以及收尾比特序列(以后合在一起简称为Turbo码的校验比特序列)的长度为Lp=2*(n-1)*L+2*n*m;
第3步.将信息比特序列通过调制器(1)进行2维Gray映射的调制,生成长度为
的2维调制信号序列t1,
假设2维QPSK星座点可能的四种信号取值为(±a,±a);信息比特序列u的第2k和2k+1两个比特u2k和u2k+1分别决定t1,k的同相分量t1,k I和正交分量t1,k Q:
将编码器(1)和编码器(2)输出的信息比特序列的校验比特序列、收尾比特序列、收尾比特序列的校验比特序列通过复接器(1)按照(p1,p2,ut1,pt1,ut2,pt2)的顺序复接在一起,成为一个单独的序列;之后通过交织器(π2)进行交织,得到序列p, p再通过调制器(2)按照选定的调制映射方案进行N维QPSK调制映射,生成长度为
的N维调制信号序列t2,
该调制星座图的星座点的集合为
每个调制信号t2,i∈χ,t2,i的标签v2,i为校验比特序列p的第N*i到N*i+N-1个比特,v2,i=(pNi,pNi+1,…,pNi+N-1);
第4步.将调制器(1)输出的调制信号序列t1和调制器(2)输出的调制信号序列t2通过复接器(2)按照(t1,t2)的顺序进行复接,成为一个单独的输出符号序列,然后发送至信道;
在接收端,依次含有以下步骤:
第1步.在开始译码前进行初始化,把输入到译码器(1)的序列u的先验概率序列P(u;Idec1)和输入到解调器(2)的序列p先验概率序列P(p;Idem2)置为等概率;所述的先验概率序列P(u;Idec1)也就是译码器(2)输出的后验概率序列P(u;Odec2)经过解交织器π1 -1解交织后得到的;
第2步.对从信道上接收到的符号用解复接器(2)进行解复接,得到接收信号序列r1和r2,分别输送给两个解调器;
它们分别对应于两个发射信号序列t1和t2;
第3步.解调器(1)根据接收信号序列r1计算并输出序列u的后验概率序列P(u;Odem1);对于序列r1中的第i个接收信号r1,i,它的同相分量r1,i I和正交分量r1,i Q两个分量分别对应于信息比特u2k和u2k+1,依下式计算它们的后验概率:
上式中b∈{0,1};对所有的r1,i所对应的比特计算后验概率并进行归一化后,就得到后验概率序列P(u;Odem1),它直接作为译码器(1)的序列u的先验概率序列输入;另外,它经过交织器π1进行交织后将作为译码器(2)的先验概率序列输入;
第4步.进行V次“大环”迭代解调译码,包括一次解调器(2)的解调和U次“小环”迭代译码:
第4.1步.解调器(2)的工作:解调器(2)的输入有两部分,包括:从信道上接收到的信号序列r2和交织器(π2)输出的序列p的先验概率序列P(p;Idem2);输出为序列p的后验概率序列P(p;Odem2);首先,对于序列r2中的第i个信号r2,i计算发送信号t2,i的先验概率P(r2,i|t2,i=sj),j=0,1,…,2N-1:
然后再计算r2,i的标签v2,i所对应的N个比特的后验概率:
其中,χb l表示χ的子集,其中每个星座点的标签第l位的值都等于b,b∈{0,1};v2,i l表示v2,i的第l个比特,(μ-1(sj))h表示信号sj的标签的第h个比特的值;对所有的r2,i的标签计算后验概率并进行归一化后,就得到序列p的后验概率序列P(p;Odem2);
第4.2步.P(p;Odem2)经过解交织器(π2 -1)进行解交织,然后经过解复接器(1)进行解复接,得到P(p1′;Idec1)和P(p2′;Idec2),分别作为译码器(1)和译码器(2)的关于序列p1’和p2’的先验概率序列输入;
第4.3步.进行U次“小环”译码:
第4.3.1步.译码器(1)的译码:译码器(1)对分量码(1)进行译码,它有三个输入,分别是来自解调器(1)的序列u的先验概率序列P(u;Odem1);来自解交织器(π1 -1)的序列u的先验概率序列P(u;Idec1);来自解复接器(1)的序列p1’的先验概率序列P(p1′;Idec1);有两个输出,分别是序列u的后验概率序列P(u;Odec1);序列p1’的后验概率序列P(p1′;Odec1);
首先要完成前向和逆向的递推;令Ak(stB(e))表示在对第k个信息比特编码时,该码处于状态stB(e)且输出分支为e的概率,k=0,1,…,M-1;有收尾比特,所以整个码字一共有M=L+m+1个状态节点;令Bk(stE(e))表示在第k个信息比特编码时,该码处于状态stE(e)且输入分支为e的概率,k=1,2,…,M;当k<L时,u(e)表示当分支为e的时候在该编码节点上输入的信息比特,它对应于序列u中的第k个比特,u(e)=uk;pj(e)表示当分支为e的时候在该编码节点上输出的校验比特序列中第j个比特,j=0,1,…,n-2,它对应于序列p1中的第(n-1)*k+j个比特,pj(e)=p1,(n-1)·k+j;当k≥L时,u(e)则表示第k-L个收尾比特,pj(e)表示第k-L个收尾比特的校验比特序列中的第j个比特;则前向递推为:
逆向递推为:
编码器(1)的初始状态为0,经过收尾以后,最终的状态也为0;上述递推公式的初始值为:A0(st0)=1,A0(sti)=0,i=1,2,…,2m-1;BM(st0)=1,BM(sti)=0,i=1,2,…,2m-1;
然后计算第k个信息比特及其所对应的校验比特的后验概率:
式中j=0,1,…,n-2,序列u的输入先验概率可以按下式得到,需要归一化处理;
Pk(u=b;I)=Pk(u=b;Idec1)*Pk(u=b;Odem1)
以上各式式中得到的概率值需要进行归一化;
第4.3.2步.序列P(u;Odec1)通过交织器(π1)进行交织,得到序列P(u;Idec2);
第4.3.3步.译码器(2)的译码:与译码器(1)的工作是对称的;译码器(2)对分量码(2)进行译码,它有三个输入,分别是经过交织器(π1)来自解调器(1)的序列u的先验概率序列;经过交织器(π1)来自译码器(1)的序列u的先验概率序列P(u;Idec2);来自解复接器(1)的序列p2’的先验概率序列P(p2′;Idec2);有两个输出,分别是序列u的后验概率序列P(u;Odec2);序列p2’的后验概率序列P(p2′;Odec2);具体译码过程与第i.)步中译码器(1)相同;
第4.3.4步.序列P(u;Odec2)通过解交织器(π1 -1)进行解交织,得到序列P(u;Idec1);
第4.4步.将“小环”迭代译码输出的序列p1’和p2’的后验概率序列P(p1′;Odec1)和P(p2′;Odec2)通过复接器(1)进行复接,然后再通过交织器(π2)进行交织,得到解调器(2)的输入先验概率序列P(p;Idem2);
第5步.根据译码得到的序列u的后验概率P(u;Odec1)、P(u;Odec2)以及解调器(1)得到的后验概率P(u;Odem1),依下式计算序列u的概率序列P(u),并根据此值进行硬判决,得到译码结果;
Pk(u=b)=Pk(u=b;Idec1)*Pk(u=b;Odec1)*Pk(u=b;Odem1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100112296A CN100364238C (zh) | 2005-01-21 | 2005-01-21 | 一种Turbo码与多维调制级联的***编译码方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100112296A CN100364238C (zh) | 2005-01-21 | 2005-01-21 | 一种Turbo码与多维调制级联的***编译码方案 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1645752A true CN1645752A (zh) | 2005-07-27 |
CN100364238C CN100364238C (zh) | 2008-01-23 |
Family
ID=34875496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100112296A Expired - Fee Related CN100364238C (zh) | 2005-01-21 | 2005-01-21 | 一种Turbo码与多维调制级联的***编译码方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100364238C (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100508405C (zh) * | 2005-11-11 | 2009-07-01 | 清华大学 | 提高Turbo码译码速度的并行译码方法及译码装置 |
CN101227193B (zh) * | 2008-02-02 | 2010-06-02 | 中国科学院计算技术研究所 | 一种低密度校验码的编解码装置和方法 |
CN101197603B (zh) * | 2006-12-07 | 2011-07-13 | 上海无线通信研究中心 | 多天线***基于球形译码的低复杂度分步检测***及检测方法 |
CN101405943B (zh) * | 2005-10-03 | 2012-03-14 | 摩托罗拉*** | 用于低密度奇偶校验解码器的方法和装置 |
CN104780018A (zh) * | 2014-01-15 | 2015-07-15 | 上海数字电视国家工程研究中心有限公司 | 星座映射方法、基带帧形成方法以及解映射方法 |
CN105308867A (zh) * | 2013-06-19 | 2016-02-03 | 三菱电机株式会社 | 用于对数据进行调制以进行光通信的方法和*** |
CN105356890A (zh) * | 2015-11-30 | 2016-02-24 | 华侨大学 | 一种基于重要性采样技术的ldpc码打孔算法 |
CN105871505A (zh) * | 2015-01-23 | 2016-08-17 | 中兴通讯股份有限公司 | 多维码处理方法、发送端、接收端和*** |
CN106788466A (zh) * | 2016-12-13 | 2017-05-31 | 中国电子科技集团公司第二十研究所 | 用于小型化通信***的Turbo码编译码芯片 |
CN108400788A (zh) * | 2018-01-24 | 2018-08-14 | 同济大学 | Turbo译码的硬件实现方法 |
CN109547158A (zh) * | 2018-11-07 | 2019-03-29 | 中国电子科技集团公司第七研究所 | 一种Turbo码的编码方法及译码方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3590310B2 (ja) * | 1999-12-07 | 2004-11-17 | シャープ株式会社 | 連接畳込み符号復号器 |
CN1271791C (zh) * | 2001-01-18 | 2006-08-23 | 深圳市中兴集成电路设计有限责任公司 | Turbo译码器及其实现方法 |
FR2821217B1 (fr) * | 2001-02-21 | 2003-04-25 | France Telecom | Procede et systeme de codage-decodage iteratif de flux de donnees numeriques codees par combinaisons spatio-temporelles, en emission et reception multiple |
CN1555605A (zh) * | 2002-04-05 | 2004-12-15 | 连宇通信有限公司 | 一种时空频turbo编码方法及装置 |
CN1204693C (zh) * | 2002-11-29 | 2005-06-01 | 重庆重邮信科股份有限公司 | 随机***Turbo码的编、译码方法 |
-
2005
- 2005-01-21 CN CNB2005100112296A patent/CN100364238C/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101405943B (zh) * | 2005-10-03 | 2012-03-14 | 摩托罗拉*** | 用于低密度奇偶校验解码器的方法和装置 |
CN100508405C (zh) * | 2005-11-11 | 2009-07-01 | 清华大学 | 提高Turbo码译码速度的并行译码方法及译码装置 |
CN101197603B (zh) * | 2006-12-07 | 2011-07-13 | 上海无线通信研究中心 | 多天线***基于球形译码的低复杂度分步检测***及检测方法 |
CN101227193B (zh) * | 2008-02-02 | 2010-06-02 | 中国科学院计算技术研究所 | 一种低密度校验码的编解码装置和方法 |
CN105308867B (zh) * | 2013-06-19 | 2019-04-30 | 三菱电机株式会社 | 用于对数据进行调制以进行光通信的方法和*** |
CN105308867A (zh) * | 2013-06-19 | 2016-02-03 | 三菱电机株式会社 | 用于对数据进行调制以进行光通信的方法和*** |
CN104780018A (zh) * | 2014-01-15 | 2015-07-15 | 上海数字电视国家工程研究中心有限公司 | 星座映射方法、基带帧形成方法以及解映射方法 |
CN104780018B (zh) * | 2014-01-15 | 2018-01-23 | 上海数字电视国家工程研究中心有限公司 | 星座映射方法、基带帧形成方法以及解映射方法 |
CN105871505A (zh) * | 2015-01-23 | 2016-08-17 | 中兴通讯股份有限公司 | 多维码处理方法、发送端、接收端和*** |
CN105871505B (zh) * | 2015-01-23 | 2020-04-28 | 中兴通讯股份有限公司 | 多维码处理方法、发送端、接收端和*** |
CN105356890A (zh) * | 2015-11-30 | 2016-02-24 | 华侨大学 | 一种基于重要性采样技术的ldpc码打孔算法 |
CN105356890B (zh) * | 2015-11-30 | 2019-03-12 | 华侨大学 | 一种基于重要性采样技术的ldpc码打孔方法 |
CN106788466A (zh) * | 2016-12-13 | 2017-05-31 | 中国电子科技集团公司第二十研究所 | 用于小型化通信***的Turbo码编译码芯片 |
CN108400788A (zh) * | 2018-01-24 | 2018-08-14 | 同济大学 | Turbo译码的硬件实现方法 |
CN109547158A (zh) * | 2018-11-07 | 2019-03-29 | 中国电子科技集团公司第七研究所 | 一种Turbo码的编码方法及译码方法 |
CN109547158B (zh) * | 2018-11-07 | 2022-03-22 | 中国电子科技集团公司第七研究所 | 一种Turbo码的编码方法及译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100364238C (zh) | 2008-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1645752A (zh) | 一种Turbo码与多维调制级联的***编译码方案 | |
CN1153357C (zh) | 用于涡轮解码器的预解码器和恢复涡轮码的方法 | |
CN101453221B (zh) | 基于比特交织编码调制***的映射器及其映射方法 | |
US20030039318A1 (en) | System and method performing quadrature amplitude modulation by combining co-sets and strongly coded co-set identifiers | |
CN101425871B (zh) | 多元纠错码发射接收装置及数据传输***以及相关方法 | |
CN1711712A (zh) | 带有似然加权的迭代解码 | |
CN1233139C (zh) | 带宽有效的级联格码调制解码器及其解码方法 | |
CN1276116A (zh) | 采用选择性递归解码的通信***和方法 | |
CN1418421A (zh) | 比特交织的编码调制映射 | |
CN1685650A (zh) | 传输*** | |
CN1266555A (zh) | 乘积码的迭代解码 | |
CN103236900B (zh) | 一种串行级联Turbo码交织器参数盲估计方法 | |
CN1179489C (zh) | 用于利用单工码产生(n,3)码和(n,4)码的装置和方法 | |
CN1798326A (zh) | 具有综合纠错编码功能的数字广播***的发送装置及方法 | |
CN1197337A (zh) | 高频谱效率传输cdma调制信号的方法和装置 | |
CN1463499A (zh) | 用于互补编码器/译码器的方法和设备 | |
CN1259781C (zh) | 最小欧氏距离最大化的星座映射级联纠错编码方法 | |
CN1328384A (zh) | Turbo译码器及其实现方法 | |
CN1209922C (zh) | 一种多码率纠错编码方法 | |
CN1172448C (zh) | 解码数据信号的方法 | |
CN1323462A (zh) | 用于最大后验概率解码器的存储器体系结构 | |
CN1694439A (zh) | 软信息保留的迭代接收方法 | |
CN1738229A (zh) | TD-SCDMA***中的Woven卷积码纠错编、译码器 | |
CN109412752A (zh) | 极化码的非相干检测接收机、***及方法 | |
CN101958719A (zh) | 采用卷积Turbo码编码的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080123 Termination date: 20150121 |
|
EXPY | Termination of patent right or utility model |