无线通信技术武卓zwu@shu.edu.cn编码技术概述线性编码原理SPC及汉明码、循环码、BCH码及RS码解码的误码率软判决解码及其性能Turbo编解码及LDPC码的原理及其应用通信与信息工程学院信道编码技术信道编码技术4.1.1编码技术概述编码技术是用一系列编码后的信号取代原始信息的系统性的技术,其作用是帮助原始信息的重构CodingCryptographytopreservesecrecySourcecodingtocompressdataLinecodingtoimprovespectralcharacteristicsError-controlcodingtopermitrobusttransmissionofdataError-detectioncodingallowsre-transmissionoferroneousdataForwardErrorCorrection(FEC)codingtocorrecterrorsevenwithoutafeedbackchannel‘信道编码’为什么使用前向纠错码(FEC)编码技术?相对于无编码的系统,FEC编码技术能够在同样的速率同样的误码率下减小系统的比特能量与噪声功率比值—降低发射功率的要求信道编码技术通信与信息工程学院未编码已编码Eb/NoBER(logscale)要求的BER编码增益信道编码技术4.1.2FEC编码原理通信与信息工程学院加入冗余,使得原始信号在传输中被破坏后仍然能够被恢复出来例如:2比特二进制信息,我们加入校验比特00:000信息比特01:110校验比特10:01111:101编码后可能的传输信号称之为码字假设发生码字为01110;而接收码字为00110–可以检测出有错误发生-接收码字不在可能传输的码字范围内–传输错误可以通过选择具有“最近距离”的码字纠正过来纠错只有在加入校验比特后采用可能汉明距离是指两个码字之间相同位置上的比特信息不同的位置数之和使用纠错码的其他应用:–拼写错误–电视画面噪声信道编码技术最小汉明距离最小汉明距离dmin是任意两个码字间汉明距离的最小值一种编码可以检测dmin-1个错误比特,同时纠正每个码字中的dmin/2个错误比特。最佳编码是所有码字间均具有最大距离越长的码字意味着越多的错误比特可以被纠正过来代价是:–传输信息速率下降,–复杂度增加33334412340000001110100111110100110ddminmin2信道编码技术编码的分类通信与信息工程学院分组码、卷积码–分组码:•校验比特仅取决于传输信息的一个有限分组•码的表示方式(n,k)---n=码字长度,k=信息比特长度,n-k=校验比特长度•有时候表示方式中还会出现第三个数,dmin,或可纠正的错误比特数–卷积码:编码序列取决于数个分组•码字的表示方式中第三个数通常表示的是约束长度编码速率-每个码字中信息比特数所占的百分比---》k/n系统码、非系统码–系统码•码字中明显地包含信息比特–非系统码•例如将下列信息比特映射为以下四种码字:00:0000001:1110110:0011111:11010•从这些码字中不能直接读出哪些是信息比特线性码–任意两个码字的和(模2加)是另一个码字–码字中包含全0码信道编码技术通信与信息工程学院线性和基底如果一个编码是线性的,可以选择码字中的一些子集来生成其他的任意码字这些码字称为基底在前面给出的码字例子中我们选择(a)01110(b)10011然后(a)+(b)=11101以上加法为模2加(或异或)因此,所有的码字都可以由这些码字的和来生成,通过乘以1或0注意如果一共有2k个码字,那么共有k个基底码字举例一个编码的码字为000000101001110100011101011010110011101110000111选出其中的三个作为基底:注意如果一种编码是线性的,那么它的最小距离就等于它的最小权重即在任意码字中的“1”的个数的最小值(全0码除外)信道编码技术通信与信息工程学院生成矩阵将基底码字作为矩阵的行生成矩阵因此,我们可以通过给生成矩阵G相乘信息比特向量d来得到任意的码字c:注意使用模2加例如:注意信息比特会出现在码字中即该编码为系统码这是因为生成矩阵包含一个单位阵I:基底总是具有这样的性质G为kn;码字c长度为n;一个码字的校验部分p的长度为(n-k)Gb1b2b3110100011010101001cdG110b1b2b31b11b20b3110100011010000000101110GPIcdPIpd信道编码技术校验矩阵通信与信息工程学院校验矩阵H定义为:同样可以说H的行是与G的行正交的这个矩阵使得我们可以检验一个接收到的信号r是不是一个s被称为伴随式长度为n-k对于一个系统二进制码,我们可以从G中构造H:如果其中Ik代表一个kk单位矩阵那么:注意这里仍然为模2加在我们的例子中:GHT0srHTdGHT0ifrisacodeword0otherwiseGPIkthenputHInkPTGHTPIkInkPPP0THG100101010110001011信道编码技术伴随式解码伴随式可以被用来解码当传输发生错误时一个接收到的信号包含错误图案e(即一个向量,其中1代表产生错误的位置,‘0’代表该位置没有产生错误)可以被写做:因此伴随式可以被写做:因此伴随式仅取决于错误图案因此我们可以列出一个错误图案以及它们相应的伴随式的表格然后我们对每个接收到的信号找到对应的伴随式,查询错误图案,然后纠正其中的传输错误在前面的例子中,假设我们接收到的符号式001110:那么对应这个伴随式的错误图案为:edGecrTTTTTeHeHdGHHedGrHss001110100010001110011101信道编码技术4.1.3汉明码注意如果伴随式对应的第i个位置上的单个错误在HT的i行那么如果我们确定HT中的所有行是不同的且不含全’0‘行,我们能够检验并纠正所有的单个错误这就产生了汉明码对于一个系统码例如:n-k=3最小距离:3非零伴随式的个数=错误位置的个数=n=2n-k-1因此汉明码的长度比2的某次方少1因此汉明码可表示为(7,4,),(15,11,)。。。。。。PIHknT信道编码技术循环码显然在许多情况下要求编码要能够纠正不止一个错误!几乎所有其它重要的编码都是循环码即,任一码字的循环移位会得到另外一个码字例1000110011101例21101000101110000000001111111011010001011100011010001011100011011001011100011011001010100011111001010100010111001注意这也并不表示所有的码字都是通过对其他码字循环移位得到的BCH码信道编码技术通信与信息工程学院BCH码(Bose-Chaudhuri-Hocquenghem)是循环码的一种,它基于生成多项式从而能够纠正多于1个错误其长度n总是比2的某次方小1(对于大多数情况)可以设计码字(即找到合适的生成多项式)来保证该码能够纠正至少t个错误即dmin=2t+1设计的步骤是基于Galoisfields理论,但是通常可以通过简单的查询生成多项式的表格获得总是存在基于场论的解码方法,而不需要查询长度为2n-k的表格信道编码技术RS(Reed—Solomon)码通信与信息工程学院RS码是严格的非二进制码编码后的符号是M-ary,M是2的某次方(M=2q)生成多项式的系数及信息符号都是M-ary但是通常RS码都是以二进制的形式传输的传输的二进制信息比特首先被分为若干组,每组包含q个比特,之后再转换为M-ary的符号M-ary信息符号被编码为M-ary的编码符号M-ary编码符号接着以q比特每组的形式发送出去以符号为单位的长度N=2q–1;以比特为单位的长度n=q(2q–1)对于一个能纠正t个错误的RScodes,dmin=2t+1可以进行对突发错误的纠错,因为任意符号中的错误都具有同等的可纠正性常用的码为q=8;M=256;N=255通常通过删除信息比特及相应的编码比特来缩短码字的长度可用于:CD;深空及卫星通信;数字地面电视;WLAN信道编码技术4.1.4解码的误码率因为FEC编码只能纠正一个码字中有限个错误比特,解码的错误仍然会发生我们计算一个能够纠正二进制编码中t比特错误的解码错误概率p码字的错误概率是当一个码字中出现多于t个传输错误的概率P(t错误发生)=1-P(t个错误发生)=1-(it)P(i个错误发生)i个错误的任意给定图案的概率是pi(1-p)n-i共有nCi个这样的图案最有可能的码字错误共包含dmin=2t+1的错误,平均分布于信息和校验比特因此,平均上共有(2t+1)k/n个信息位错误每个错误的码字中如果p很小的话(p的高阶次方可以被忽略):tiiniinewppCP0111112ttnbpCntPewbPntP12信道编码技术汉明码的错误概率通信与信息工程学院3456789100.000010.00010.0010.01BERBitenergytonoisedensityratio,dBuncoded7153163信道编码技术通信与信息工程学院BCH码的错误概率•Nearrate1/2BCHcodes:b-(7,4);c-(15,7);d-(31,16)34567891010-710-60.000010.00010.0010.01BERBitenergytonoisedensityratio,dBubcd信道编码技术通信与信息工程学院RS码错误概率67891011121.´10-71.´10-60.000010.00010.0010.010.1BERBitenergytonoisedensityratio,dBuncoded(7,3)(15,9)(31,23)信道编码技术4.1.5硬判决和软判决译码通信与信息工程学院传统的解码仅使用解调器中输出的信息直接判决称为硬判决而解调器中同时包含所作判决的可靠性信息基于接收信号距离判决门限的远近称之为软判决例如:7891011121314-101硬判决000001dH(010101)010100=2dH(000000)000001=1可靠性MLHMHM信道编码技术欧几里德距离更为正式的准则是选择与接收信号距离最近的码字判决为原始发送码字,距离最近指的是均方误差即欧几里德距离7891011121314-101d2(010101):0.05671.23380.17002.59710.08780.0192=4.1645d2(000000):0.05670.79080.17000.15090.08783.4656=4.7217信道编码技术作业题:1.写出一种(5,3)二进制系统线性码的码字的可能集合,找出你写出的码字的最小汉明距离。(提示:n=5,k=3)2.一个(7,4)循环码的生成多项式为g(X)=1+X2+X3.试判断以多项式形式描述的码字C1(X)=1+X2+X5+X6以及C2(X)=1+X2+X3+X5+X6是否是由该生成多项式生成的合法码字。