实验3循环码编译码及纠错能力验证实验实验目的1.学习循环码编译码的基本概念;2.掌握循环码的编译码方法。3.用写程序或者搭电路的方法实现循环码的编码和解码并仿真。4.了解循环码纠错原理并验证循环码的纠错能力。实验原理(一)循环码编码循环码是一种线性分组码。其组成与分组码相同,它的前k位是信息码元,后r位是监督码元。它除了具有线性分组码的封闭性之外,还具有循环性。所谓循环性是指:循环码中任一许用码字经过循环移位之后,所得到的码字(码组)仍然为一许用码组。设信息码多项式为)(xm,循环码的码多项式)(xc,它一定是码多项式的倍式,因此)()()()(x,rxrxmxxcr则是)()(xgxmxr除以的余式,设某(7-4)循环码1)(3xxxg,则生成矩阵:1101000011010011100101010001G,编码情况见表格1。表格14,7循环码编码表:信息码监督位循环码信息码监督位循环码00000000000000100010110001010001011000101110011101001110001011000101101010011101001100111010011101101100010110000100111010011111000101100010010110001011001101001110100101100010110001111010011101000111010011101011111111111111表中余式是由二进制除法得到如信码为0011,则)(xmxr=0011000,则除法过程如下:生成多项式11101100110001011011101011101其它余式求解方法与此相似。提高:若是输入一串随机码元序列,最终能按照循环码编码方式编码并输出编码序列,需要考虑的问题是什么,要如何搭建电路或编写程序实现功能。(二)循环码解码循环码译码有两种要求:检错和纠错。检错过程中,由于循环码的码多项式能够被)(xg整除,所以在接收端可以将接收码组)(xR用原码生成多项式)(xg去除。当在传输中未发生错误时,接收码组与发送码组相同,故必定能被整除;若接收码组)(xR发生错误时,不能被)(xg整除,会产生余项。因此,可以利用余项是否为零来判断接收码组是否有错误。若余项不为零时,说明接收码组)(xR出错。为了能够纠错,要求可纠正的错误图样)(xE必须与一个特定的余项有一一对应的关系。当接收码组)(xR出错时,可以根据余项用查表或计算校正的方法等得到错误图)(xE,再将)()(xExR模二加便得到纠错后的译码,上述的译码方法是由于循环码特殊的数字结构决定的,它仅适用于循环码译码。例如0011001)(xR,)()(xgxR的余数为011,则)(xE=0000100则纠错后译码为0011101,若)(xR=1111100,则余数为100,则)(xE=0001000,则纠错后译码为1110100。对)(xg=1011余数为001,010,011,100,101,110,111均可纠错。对应的错误图样分别为0000001,0000010,0000100,0001000,0010000,01000001000000,若余数为其它图样,则表明错码为2个或2个以上,则无法纠错。由于循环码也属于线性分组码,采用一般分组码译码的方法也可以对其译码。商余式实验步骤循环码编码仿真观测已编码数据,能与循环码编码表对应。循环码译码第4位加错,译码结果正确第2位加错,译码结果正确第1和第4位加错,译码结果错误第3和第4位加错,译码结果错误实验心得通过这次实验我学习了循环码编译码的基本概念,掌握了循环码的编译码方法,用写程序或者搭电路的方法实现了循环码的编码和解码并仿真,了解了循环码纠错原理并验证循环码的纠错能力。