1第六章网格编码调制(TCM)6.1网格编码调制的基本概念任何纠错码纠错能力的获取都是以冗余度为基础的,即通过编码使误码率降低是要付出代价的。这种代价或者是频带利用率的降低,或者是功率利用率的降低,或者是设备变得比较复杂,昂贵。比如采用(n,k)分组或卷积码后,▬或者信源速率不变而提高信道传输速率,意味着占用更大带宽,频带利用率下降了。▬或者带宽不变而采用多电平(或多相)调制。在误码率即信号星座各点间距离不变条件下,意味着要增大平均功率,则功率利用率下降了。八十年代以来,一种将编码和调制结合在一起,利用状态的记忆和适当的映射来增大码字序列之间距离的方法诞生了,这就是网格编码调制(TCM-TrellisCodedModulation)。TCM码是1982年由Ungerboeck.G[29]提出的。这种方法既不降低频带利用率,也不降低功率利用率,而是以设备的复杂化为代价换取编码增益。在当前集成电路高速发展、传输媒体成本高于终端设备成本而成为通信成本的第一考虑因素时,这种方法无疑是非常吸引人的。现在,这种网格编码调制已在频带、功率同时受限的信道如太空、卫星、微波、同轴、对绞线等通信中大量应用,占据了统治地位。3网格编码调制是一种信号集空间编码(signal-spacecode),它利用信号集的冗余度,保持符号率和功率不变,用大星座传送小比特数而获取纠错能力。为此,先将小比特数编码成大比特数,再设法按一定规律映射到大星座上去。上述过程中,冗余比特的产生属于编码范畴,信号集星座的扩大与映射属于调制范畴,两者结合就是编码调制。比如,用具有携带3比特信息能力的8ASK或8PSK调制方式来传输2比特信息,叫做信号集冗余度,我们正是利用这种信号集空间(星座)的冗余度来获取纠错能力的。4C(比特/符号)65416PSK38PSK24PSK12PSK4.75.912.9SNR0┸┸┸┸┸┸┸┸┸┸┸┸┸┸04812162024dB图6-1带限AWGN信道PSK调制时信道容量与SNR的关系曲线½log2(1+SNR)10-5〇10-5〇10-5〇10-5〇5进一步,我们也可以用16PSK、32PSK…传2比特信息,信噪比还可减小,但不可能超过香农公式规定的4.7dB的极限。这就是说,无论怎样努力至多只能再取得1.2dB增益,与8PSK代替4PSK取得7dB增益相比,继续增大信号集将使设备变得复杂,代价大而收益小。因此,TCM码一般仅增加一位冗余校验,码率R写成m/m+1,表示每码元符号用2m+1点的信号星座传送m比特信息。这个7db增益是指理论极限值,目前工程可实现的TCM码的最大编码增益不超过6dB。6各类信道的信噪比(SNR)有一个典型值。比如微波信道的SNR典型值取50dB,移动信道取10~15dB,模拟电话信道取28dB等。以电话信道,由对数值10lg(S/N)=28得信噪比S/R=631。电话信道标称带宽300~3400Hz,但适合数据传输的频段仅是600~3000Hz,带宽2400Hz。代入香农公式,C=2400log2(1+631)=22320比特/秒,考虑到其它一些因素,当时认为极限数据速率是23500比特/秒(见IEEEJ-SA,Sept.1984,pp632-634)。7如果TCM码能有6dB编码增益,则在同等条件下相当于信噪比改善了6dB即信噪比值增大4倍,代入香农公式可知信道容量增大到27125比特/秒。近年来由于自适应均衡技术的提高,电话信道上数据传输所占带宽不再局限于2400Hz,。如果使用TCM码且把3100Hz都用上,则数据传输速率可达35KHz。这就解释了为什么现在的电话Modem一律都是TCM码且端-端最高数据传输速率为33.6KHz。可见,TCM码的6dB编码增益是相当可观的。86.1.24状态8PSKTCM码结构以4状态8PSK网格编码调制为例,如图6-2,它是Ungerboeck1975研究出的第一种TCM码。第一部分第二部分第三部分差分编码卷积编码分集映射Xn2’Xn2Yn2Xn1’Xn1Yn1Sn1Sn0Yn0图6-24状态8PSK网格编码调制器DD010001011000100111101110(Yn2Yn1Yn0)D9Xn1Sn1Sn010000100011110100001111011Xn2Xn1Sn1Sn0Xn21Xn2000Xn210Xn20001Xn211Xn20110Xn210Xn20011Xn211Xn201Sn+11=Sn0Yn2=Xn2Sn+10=Sn1⊕Xn1Yn1=Xn1Yn0=Sn000010001011001011000010001111100110101111100110110从网格图看,从一个状态转移到另一状态的路径不唯一,存在两条,称为“并行转移”。产生并行转移的原因是输入信息Xn2没有参与卷积编码,编码器状态转移仅与Xn1有关,而与Xn2(即Yn2)究竟是1还是0无关,所以它的两种取值就构成了1Yn1Yn0和0Yn1Yn0两条并行转移路径。从另一角度看,每次输入的两位信息共有22=4种组合,而其中只有一位对状态转移产生影响即只有21=2种转移,所以每转移应对应42=2种Xn2Xn1组合即2种码字即一对并行转移(一条转移路线对应一种码字)。11并行转移影响了卷积码的自由距离。如前述,自由距离是指从零状态分叉又回到零状态、与全0路径距离最小的那条路径的距离。对于如图6-3码字(100)是与全零码(000)的并行转移,严格意义上它并没有“从零状态分叉又回到零状态”,但它的确是“与全0路径分叉又回到全0路径”的一条路径,因此在计算自由距离时也必须包括并行距离,即自由距离不可能大于并行转移的距离。正因为如此,并行转移所对应的码距越大越好。对于二进码就是汉明距离越大越好,对于两维调制如PSK或QAM,就是星座上码字对应信号点的欧氏距离越大越好。12为此,我们将8PSK星座对半又对半地划分成子集(setpartitioning),使每级子集具有逐级增大的距离,然后把并行转移的一组码字映射到点数相符的同一子集上,以保证并行转移具有最大的距离,这个过程叫作分集映射(mappingbysetpartitioning),它使并行转移总是对应到星座的最远点距子集上。8PSK分集过程及各级距离0、0、1、2见图6-4。13距离A0B0B11C0C1C2C32012第1级B0000C1第0级B1第2级C3C2C010011001000110111101120=2sin(/8)1=2=2图6-48-PSK星座的子集分割14分集的结果产生了4个子集C0~C3,每子集与一组并行转移对应,对应的原则是:(1).从某一状态发出的子集源于同一个上级子集,比如C0、C1就是源于同一上级子集B0。(2).到达某一状态的子集源于同一个上级子集。(3).各子集在编码矩阵中出现的次数相等,并呈现出一定的对称性。另外,由于接收端载波恢复时会造成不同程度的相位不定度,比如对于8PSK,一般的载波提取可产生45、90、135、180…等相位不定度,如采用判决反馈情况好些,但还存在180°的相位混淆。15为此,码字对应到星座点时还应遵照如下原则:(1).采用差分编码。如存在180°相位混淆需一位差分编码;如存在90、180、270相位混淆,则需两位差分编码。(2).未差分编码的码元,应选择得不受相位混淆的影响,即相位混淆时其值不变。16按上述准则,得各子集信号点与码字的对应分配关系如图6-4,以及编码矩阵如式6-1-1。C==(6-1)从编码矩阵看,每一行、每一列的子集具有相同的上级子集,C0~C3出现次数相同,分布规则。凡相差180°的两星座点,比如C0的000、100,其后两位Yn1Yn0总是相同的,不受180°相移影响;其第一位Yn2采用差分编码,可抗180°相位混淆。000110100010101111001011110000010100111101011001C0C1C2C3C1C0C3C217状态C0C0C000011011C0C2C1C1C3C3C2000100C1C2C1序列距离记作dseq,并行距离记作dpar。显然,自由距离应该是其中最小者df=min(dseq,dpar)dpar(6-2)本例d2seq=dis2[(C0,C0,C0),(C1,C2,C1)]=dis2(C0,C1)+dis2(C0,C2)+dis2(C0,C1)=12+02+12=()2+(2sin(/8))2+()2=4.586d2par=22=22=4d2f=min(d2seq,d2par)=d2par=422222218为了定量说明编码前后的变化,定义编码增益为=10log()(6-3)式中,d2un是不编码时信号点集的最小距离,Ec、Eun分别是编码、不编码条件下信号集的平均能量。本例不编码时无需信号点集冗余度,只要4PSK即可传送2比特/符号信息,4PSK的最小距离是d2un=12=()2=2,而4PSK、8PSK平均能量相同,于是得编码增益=10log(d2f/d2un)=10log(4/2)=3.01dB2ununcfEdEd//2219可以想象,如果进一步增加编码器的复杂度,使TCM具有8状态、16状态、32状态…,一定可以得到更大的编码增益。实际情况确是如此,通过计算机模拟发现,码率m/m+1的TCM码,8状态时最大可得3.97dB编码增益(理论值),而16、32、64、128状态时的最大编码增益分别是4.39、5.11、5.44、6.02dB。20图6-2前部的差分编码是为了克服相位混淆而设计的。这是因为Viterbi译码时的相似度是以路径间的距离来衡量的,而本题的路径距离体现为各分支对应子集间的欧氏距离。如果子集不同,在相似度上会有所体现;但如果子集相同而同一子集内的点搞错,比如点000混淆为100、010混淆为110,则Viterbi译码时察觉不到。其结果是,如果接收端的载波恢复相差180度,那么收到的所有信号将相差180度,即收端星座是发端星座的180度旋转体,发端的000点变为收端100点、发端001点变为收端101点…,依此类推,见图6-2。简言之,码字中的将由0变为1或由1变为0而Viterbi译码察觉不到,造成译码差错。012nnnYYY2nY21引入差分编码后就不怕180度相位混淆了,比如原信息位:…00010110010…差分编码:…00011011100…180相位差:…11100100011…差分译码:…00010110010…可见,相位混淆不再影响收码的正确性。DD226.2网格编码调制器的一般构成法把4状态8PSKTCM码的概念推广到一般。网格编码调制(TCM)一般由三部分组成:第一部分是差分编码,它与第三部分的合理结合可以解决接收端解调时信号集相位的混淆问题。第二部分是卷积编码器,将m比特编码成m+1比特。第三部分叫分集映射(mappingbysetpartitioning),其任务是将一个(m+1)比特组对应为一个调制符号输出。(m+1)比特组有2m+1种可能的组合,调制后的信号集星座(constellation)想要与之一一对应,显然必须是2m+1点的星座。23XnmYnmXnm-1Ynm-1┇┇Xnk+1Ynk+1VnXnkYnk┇┇Xn1Yn1Yn0图6-6TCM码的典型结构卷积编码器R=k/(k+1)分集映射从既定子集选择星座点选择子集24然而,并非所有输入比特都实际参与编码,真正参与卷积编码的通常仅是其中的k比特,经卷积编码器产生一个(k+1,k)卷积码,而其余的m-k比特直通分集映射器。直通比特与卷积编码器无关,因此也必然与网格图上的状态转移无关。换言之,状态转移只与Xn1,