CN100364238C - 一种Turbo码与多维调制级联的系统编译码方案 - Google Patents

一种Turbo码与多维调制级联的系统编译码方案 Download PDF

Info

Publication number
CN100364238C
CN100364238C CNB2005100112296A CN200510011229A CN100364238C CN 100364238 C CN100364238 C CN 100364238C CN B2005100112296 A CNB2005100112296 A CN B2005100112296A CN 200510011229 A CN200510011229 A CN 200510011229A CN 100364238 C CN100364238 C CN 100364238C
Authority
CN
China
Prior art keywords
sequence
bit
decoder
output
dec1
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.)
Expired - Fee Related
Application number
CNB2005100112296A
Other languages
English (en)
Other versions
CN1645752A (zh
Inventor
齐心
周世东
赵明
王京
许希斌
肖立民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2005100112296A priority Critical patent/CN100364238C/zh
Publication of CN1645752A publication Critical patent/CN1645752A/zh
Application granted granted Critical
Publication of CN100364238C publication Critical patent/CN100364238C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

一种Turbo码与多维调制级联的系统编译码方案。其特征在于:在发送端,将Turbo码编码器输出的比特流进行不同类型的调制,其中,信息比特序列使用传统的两维Gray映射QPSK调制,而校验比特序列使用经过星座图映射方式优化的多维QPSK调制。在接收端,Turbo码译码和多维调制的迭代解调间进行联合迭代解调译码,其中,迭代解调使得传统Turbo码所无法利用的校验比特的后验概率得到利用。在相同的系统复杂度下,相对于单纯的Turbo码,本系统可以获得系统误比特率性能上的明显增益。

Description

一种Turbo码与多维调制级联的系统编译码方案
技术领域
一种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表示状态值, st ∈ { s t 0 , s t 1 , · · · s t 2 m - 1 } 。每个状态都有两个输出分支和两个输入分支,整个网格图中一共可能有2m+1个分支,分支以e表示, e ∈ { e 0 , e 1 , · · · , e 2 m + 1 - 1 } 。每个分支都有一个起始状态和一个结束状态,令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。则前向递推为:
A k ( st ) = Σ e : s t E ( e ) = st A k - 1 ( s t B ( e ) ) P k ( u ( e ) ; I ) Π j = 0 n - 2 P k ( P j ( e ) ; I ) - - - ( 1 ) ,
逆向递推为:
B k ( st ) = Σ e : s t B ( e ) = st B k + 1 ( s t E ( e ) ) P k + 1 ( u ( e ) ; I ) Π j = 0 n - 2 P k + 1 ( P j ( e ) ; I ) - - - ( 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个节点对应的信息比特和校验比特的后验概率,通过下式计算得到:
P k ( u ( e ) = b ; O ) = Σ e : u ( e ) = b A k - 1 ( s t B ( e ) ) Π j = 0 n - 2 P k + 1 ( P j ( e ) ; I ) B k ( s t E ( e ) ) - - - ( 3 ) ,
P k ( P j ( e ) = b ; O ) = Σ e ; P j ( e ) = b A k - 1 ( s t B ( e ) ) P k ( u ( e ) ; I ) ( Σ i = 0 i ≠ j v - 2 P k ( P i ( e ) ; I ) ) B k ( s t E ( e ) ) - - - ( 4 ) ,
其中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,令星座点的集合为 X = { s 0 , s 1 , · · · s 2 N - 1 } . 同时,每个星座点都有一个N比特的标签,令该标签为v=(v0,v1,…,vN-1),其中vi表示标签v的第i个比特。坐标与标签间的对应方式称为该星座图的映射方式,用μ来表示,s=μ(v)。假设发送的信号为s,s∈χ,接收到的信号为r,则该信号的标签的各个比特值的后验概率可以依下式计算:
P ( v i = b ; O ) = Σ s ∈ X b i P ( r | s ) Π j ≠ i j = 0 N - 1 P ( v i = ( μ - 1 ( s ) ) j ; I ) - - - ( 5 ) .
其中P(r|s)表示接收信号的先验概率;χb i表示χ的子集,其中每个星座点的标签第i位的值都等于b,b∈{0,1};(μ-1(s))j表示星座点s的标签的第j位的比特值。设噪声的方差为N0/2,则近似有:
P ( r | s ) = 1 π N 0 exp ( - | r - s | 2 N 0 ) - - - ( 6 )
当标签的各个比特都没有先验概率的时候,也就是先验等概时,(5)式可以简化成:
P ( v i = b ; O ) = Σ s ∈ X b i P ( r | s ) - - - ( 7 ) .
(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相同,都是编码效率为RI=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映射的调制,生成长度为
Figure C20051001122900121
的2维调制信号序列t1 t 1 = t 1,0 , t 1,1 , · · · , t 1 , L 2 - 1 . 假设2维QPSK星座点可能的四种信号取值为(±a,±a)。信息比特序列u的第2k和2k+1两个比特u2k和u2k+1分别决定t1,k的同相分量t1,k I和正交分量ti,k Q t 1 , k I = ( - 1 ) u 2 k a , t 1 , k Q = ( - 1 ) u 2 k + 1 a .
第一将编码器1和第二编码器2输出的信息比特序列的校验比特序列、收尾比特序列、收尾比特序列的校验比特序列通过第一复接器1按照(p1,p2,ut1,pt1,ut2,pt2)的顺序复接在一起,成为一个单独的序列。之后通过第二交织器π2进行交织,得到序列p, P = P 0 , P 1 , · · · , P L P - 1 。p再通过第二调制器2按照选定的调制映射方案进行N维QPSK调制映射,生成长度为
Figure C20051001122900126
的N维调制信号序列t2 t 2 = t 2,0 , t 2,1 , · · · , t 2 , L P N - 1 . 该星座图的星座点的集合为 X = { s 0 , s 1 , · · · , s 2 N - 1 } ,每个调制信号t2,i∈χ,t2,i的标签v2,i为校验比特序列p的第N*i到N*i+N-1个比特,v1,2=(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,分别输送给两个解调器。 r 1 = r 1,0 , r 1,1 , · · · , r 1 , L P 2 - 1 , r 2 = r 2,0 , r 2,1 , · · · , r 2 , L P N - 1 , 它们分别对应于两个发射信号序列t1和t2
第3步.第一解调器1根据接收信号序列r1计算并输出序列u的后验概率序列P(u;Odem1)。对于序列r1中的第i个接收信号r1,i,它的同相分量r1,i I和正交分量r1,i Q两个分量分别对应于信息比特u2k和u2k+1,依下式计算它们的后验概率:
P ( u 2 k = b ; O ) = 1 π N 0 exp ( - | r 1 , i I - ( - 1 ) b a | 2 N 0 ) ; P ( u 2 k + 1 = b ; O ) = 1 π N 0 exp ( - | r 1 , i Q - ( - 1 ) b a | 2 N 0 ) .
上式中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:
P ( r 2 , i | t 2 , i = s j ) = 1 π N 0 exp ( - | r 2 , i - s j | 2 N 0 )
然后再计算r2,i的标签v2,i所对应的N个比特的后验概率:
P ( v 2 , i I = b ; O ) = Σ s j ∈ X b i P ( r 2 , i | t 2 , i = s j ) Π h ≠ 1 h = 0 N - 1 P ( v 2 , i h = ( μ - 1 ( s j ) ) h ; I ) , l , h = 0,1 , · · · , N - 1 .
其中,χ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个比特。则前向递推为:
A k ( st ) = Σ e : s t E ( e ) = st A k - 1 ( s t B ( e ) ) P k ( u ( e ) ; I ) Π j = 0 n - 2 P k ( P j ( e ) ; I )
逆向递推为:
B k ( st ) = Σ e : s t B ( e ) = st B k + 1 ( s t E ( e ) ) P k + 1 ( u ( e ) ; I ) Π j = 0 n - 2 P k + 1 ( P j ( e ) ; I )
第一编码器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个信息比特及其所对应的校验比特的后验概率:
P k ( u ( e ) = b ; O ) = Σ e : u ( e ) = b A k - 1 ( s t B ( e ) ) Π j = 0 n - 2 P k + 1 ( P j ( e ) ; I ) B k ( s t E ( e ) )
P k ( P j ( e ) = b ; O ) = Σ e ; P j ( e ) = b A k - 1 ( s t B ( e ) ) P k ( u ( e ) ; I ) ( Σ i = 0 i ≠ j v - 2 P k ( P i ( e ) ; I ) ) B k ( s t E ( e ) )
式中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(p′2;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码的译码器。
图2Turbo码与多维调制级联的迭代译码解调系统的编译码器结构:
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中所示,如果使用二进制表示,则有 G 1 = g 1 0 , g 1 1 , g 1 2 , · · · , g 1 m ; G 2 = g 2 0 , g 2 1 , g 2 2 , · · · g 2 m , 其中m是前文中提到的RSC码的记忆深度。习惯上G1和G2使用八进制进行表示。系统方案分别如下:
两个RSC码的生成多项式均为(0x7,0x6),是记忆深度为2,状态数为4的RSC码,凿孔到编码效率为2/3,凿孔图案使用最常用的图案,即编码器输出的校验比特序列每隔一个比特删掉一个比特。调制器2为8维QPSK调制,调制映射见表1。在交织深度较大的情况下,本方案的编码速率约等于1/2。
附表中的星座点标号i是以十进制表示的,它决定了该星座点的坐标,如果用二进制表示,i=(i0,i1,…,iN-1),则对应的星座点坐标为 s i = ( ( - 1 ) i 0 · a , ( - 1 ) i 1 · a , · · · , ( - 1 ) i N - 1 · a ) . 标签的标号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,k′1,…,k′N-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映射的调制,生成长度为
Figure C2005100112290002C1
的2维调制信号序列t1 t 1 = t 1,0 , t 1,1 , . . . , t 1 , L 2 - 1 ; 假设2维QPSK星座点可能的四种信号取值为(±a,±a);信息比特序列u的第2k和2k+1两个比特u2k和u2k+1分别决定t1,k的同相分量t1,k I和正交分量t1,k Q t 1 , k I = ( - 1 ) u 2 k a , t 1 , k Q = ( - 1 ) u 2 k + 1 a ;
将第一编码器(1)和第二编码器(2)输出的信息比特序列的校验比特序列、收尾比特序列、收尾比特序列的校验比特序列通过第一复接器(1)按照(p1,p2,ut1,pt1,ut2,pt2)的顺序复接在一起,成为一个单独的序列;之后通过第二交织器(π2)进行交织,得到序列p, p = p 0 , p 1 , . . . , p L p - 1 ; p再通过第二调制器(2)按照选定的调制映射方案进行N维QPSK调制映射,生成长度为的N维调制信号序列t2 t 2 = t 2,0 , t 2,1 , . . . , t 2 , L p N - 1 ; 该调制星座图的星座点的集合为 x = { s 0 , s 1 , . . . , s 2 N - 1 } , 每个调制信号t2,i∈x,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,分别输送给两个解调器; r 1 = r 1,0 , r 1,1 , . . . , r 1 , L p 2 - 1 , r 2 = r 2,0 , r 2,1 , . . . , r 2 , L p N - 1 , 它们
分别对应于两个发射信号序列t1和t2
第3步.第一解调器(1)根据接收信号序列r1计算并输出序列u的后验概率序列P(u;Odem1);对于序列r1中的第i个接收信号r1,i,它的同相分量r1,i I和正交分量r1,i Q两个分量分别对应于信息比特u2k和u2k+1,依下式计算它们的后验概率:
P ( u 2 k = b ; O ) = 1 π N 0 exp ( - | r 1 , i I - ( - 1 ) b a | 2 N 0 ) ; P = ( u 2 k + 1 = b ; O ) = 1 π N 0 exp ( - | r 1 , i Q - ( - 1 ) b a | 2 N 0 ) ;
上式中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:
P ( r 2 , i | t 2 , i = s j ) = 1 π N 0 exp ( - | r 2 , i - s j | 2 N 0 )
然后再计算r2,i的标签v2,i所对应的N个比特的后验概率:
P ( v 2 , i l = b ; O ) = Σ s j ∈ x b l P ( r 2 , i | t 2 , i = s j ) Π h ≠ I h = O N - 1 P ( v 2 , i h = ( μ - 1 ( s j ) ) h ; I ) , l,h=0,1,…,N-1;
其中,xb l表示x的子集,其中每个星座点的标签第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个比特;则前向递推为:
A k ( st ) = Σ e : st E ( e ) = st A k - 1 ( st B ( e ) ) P k ( u ( e ) ; I ) Π j = 0 n - 2 P k ( p j ( e ) ; I )
逆向递推为:
B k ( st ) = Σ e : st B ( e ) = st B k + 1 ( st E ( e ) ) P k + 1 ( u ( e ) ; I ) Π j = 0 n - 2 P k + 1 ( p j ( e ) ; I )
第一编码器(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个信息比特及其所对应的校验比特的后验概率:
P k ( u ( e ) = b ; O ) = Σ e : u ( e ) = b A k - 1 ( st B ( e ) ) Π j = 0 n - 2 P k + 1 ( p j ( e ) ; I ) B k ( st E ( e ) )
P k ( p j ( e ) = b ; O ) = Σ e : p j ( e ) = b A k - 1 ( st B ( e ) ) P k ( u ( e ) ; I ) ( Σ i = 0 i ≠ j v - 2 P k ( p i ( e ) ; I ) ) B k ( st E ( e ) )
式中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;Pdec1)*Pk(u=b;Odem1)。
CNB2005100112296A 2005-01-21 2005-01-21 一种Turbo码与多维调制级联的系统编译码方案 Expired - Fee Related CN100364238C (zh)

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 CN1645752A (zh) 2005-07-27
CN100364238C true 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)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398453B2 (en) * 2005-10-03 2008-07-08 Motorola, Inc. Method and apparatus for a low-density parity-check decoder
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 中国科学院计算技术研究所 一种低密度校验码的编解码装置和方法
US9112653B2 (en) * 2013-06-19 2015-08-18 Mitsubishi Electric Research Laboratories, Inc. Method and system for modulating optical signals as high-dimensional lattice constellation points to increase tolerance to noise
CN104780018B (zh) * 2014-01-15 2018-01-23 上海数字电视国家工程研究中心有限公司 星座映射方法、基带帧形成方法以及解映射方法
CN105871505B (zh) * 2015-01-23 2020-04-28 中兴通讯股份有限公司 多维码处理方法、发送端、接收端和系统
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译码的硬件实现方法
CN109547158B (zh) * 2018-11-07 2022-03-22 中国电子科技集团公司第七研究所 一种Turbo码的编码方法及译码方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1328384A (zh) * 2001-01-18 2001-12-26 深圳市中兴集成电路设计有限责任公司 Turbo译码器及其实现方法
WO2002067488A1 (fr) * 2001-02-21 2002-08-29 France Telecom Procede et systeme de codage-decodage iteratif de flux de donnees numeriques codees par combinaisons spatio-temporelles, en emission et reception multiple
CN1409897A (zh) * 1999-12-07 2003-04-09 夏普公司 级联卷积码译码器
CN1423422A (zh) * 2002-11-29 2003-06-11 重庆重邮信科股份有限公司 随机系统Turbo码的编、译码方法
WO2003088503A1 (fr) * 2002-04-05 2003-10-23 Linkair Communications, Inc. Procede et dispositif de codage turbo frequentiel spatio-temporel

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1409897A (zh) * 1999-12-07 2003-04-09 夏普公司 级联卷积码译码器
CN1328384A (zh) * 2001-01-18 2001-12-26 深圳市中兴集成电路设计有限责任公司 Turbo译码器及其实现方法
WO2002067488A1 (fr) * 2001-02-21 2002-08-29 France Telecom Procede et systeme de codage-decodage iteratif de flux de donnees numeriques codees par combinaisons spatio-temporelles, en emission et reception multiple
WO2003088503A1 (fr) * 2002-04-05 2003-10-23 Linkair Communications, Inc. Procede et dispositif de codage turbo frequentiel spatio-temporel
CN1423422A (zh) * 2002-11-29 2003-06-11 重庆重邮信科股份有限公司 随机系统Turbo码的编、译码方法

Also Published As

Publication number Publication date
CN1645752A (zh) 2005-07-27

Similar Documents

Publication Publication Date Title
CN100364238C (zh) 一种Turbo码与多维调制级联的系统编译码方案
CN103841065B (zh) 非正交多用户接入发送及联合接收解调译码系统及方法
CN101710850B (zh) 卷积Turbo编码方法及实现编码方法的设备
CN101425871B (zh) 多元纠错码发射接收装置及数据传输系统以及相关方法
CN101453221B (zh) 基于比特交织编码调制系统的映射器及其映射方法
CN100527657C (zh) 带有似然加权的迭代解码
CN105991227A (zh) 数据编码方法及装置
CN103236900B (zh) 一种串行级联Turbo码交织器参数盲估计方法
CN101026434A (zh) 一种低复杂度的迭代检测译码方法及装置
JP2002509680A (ja) 積符号の反復復号化
CN104137456A (zh) 传送用于非正交ms-marc系统的数字信号的方法、以及对应的程序产品和中继设备
CN101299746B (zh) 星座映射解映射及线性变换星座图映射解映射方法和装置
CN100571046C (zh) 一种在SCDMA系统中实现Turbo编译码方案的装置和方法
CN101119177B (zh) 一种相干通信机用的比特-符号信号处理方法
CN100508434C (zh) Ofdm系统用的高效的迭代编码多用户检测方法
CN116318185A (zh) 一种Polar码编译码方法和利用该方法的低频无线通信系统
CN103427946B (zh) 数字信号传输系统及方法
CN104135347B (zh) 认知网络中基于联合格成型技术的脏纸编码和译码方法
CN102195743B (zh) 动态实时喷泉码编码方案
CN109660265A (zh) 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法
CN101980491A (zh) 一种基于Turbo编码和BFSK调制的FFH通信系统的MAP解调译码方法
CN101268664B (zh) 数据的分集传输的方法和系统
CN101882934B (zh) 运算电路
CN110166386B (zh) 一种基于递归混沌码的水声通信均衡译码方法
CN109412752A (zh) 极化码的非相干检测接收机、系统及方法

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