《信道编码中》PPT课件.ppt
《《信道编码中》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《信道编码中》PPT课件.ppt(85页珍藏版)》请在三一办公上搜索。
1、第三章 信道编码 3.4 循环码,本节的主要内容,码多项式 循环移位的数学表达 循环码的生成多项式 循环码的编码 循环码的译码 编、译码的电路实现,循环码:cyclic code 码多项式:code polynomial 生成多项式:generator polynomial 求模运算:modular arithmetic 系统码:systematic(regular)code 循环移位运算:cycle shift operation,外语关键词,上节回顾:线性分组码,基本概念:表达方式:(n,k)码,k是信息位数,r是监督位数,n=k+r是码长。编码:已知信息K(k位二进序列),求相应码字的方
2、法是 C=KG,G叫生成矩阵,是k行n列的,一般G具有Ik Q的形式,Ik 是k行k列单位方阵,Q是k行r列的矩阵。生成矩阵的设计,应使许用码字之间的最小汉明距离尽量地大。,译玛:当收到码字R时,首先计算伴随子向量:S=RHT;若S=0,则R=C为正确码字;若S 0,则RC为错误码字。这里H叫一致监督矩阵,是r行n列的。一般H具有 P Ir 的形式,Ir 是r行r列单位方阵,P是r行k列的矩阵,P与Q互为转置关系。纠正1位错:当S 0时,由S=RHT 求出S,比较S 与HT,HT的那一行与S相同,相应的错误格式向量E的那一位就等于1,于是R的那一位就是错误的。最后根据 C=RE进行将其纠正。,
3、纠正多位错错:当S 0时,根据S=RHT=EHT,可以预先由S=EHT计算出各种错误格式E所对应的伴随子向量S,得到ES对照表。查表就能找到接收码字R(即S=RHT)所对应的E。纠错能力不等式:2r Cno+Cn1+Cn2+Cnt 这是因为伴随子S是1行r列的向量,它有2r 种不同的状态,除了用全零态表示正确码之外,最多只能区别开2r1种不同的错误格式。,引言:构造线性分组码关键是设计出一个好的生成矩阵,使所有码字之间的汉明距离尽量大。怎样找这样的矩阵呢?循环码的出现提供了一整套理论和方法,使人们能够借助数学工具来寻找更好的线性分组码,并由此引发出一大类很常用检、纠错编译码。,3.4 循环码,
4、上节讨论过(7,3)线性分组码:C0=(0000000);C1=(0011101);C2=(0100111);C3=(0111010);C4=(1001110);C5=(1010011);C6=(1101001);C7=(1110100);,不难发现它们具 有循环移位特性:C0=(0000000);C1=(0011101);C3=(0111010);C7=(1110100);C6=(1101001);C5=(1010011);C2=(0100111);C4=(1001110);,循环码是线性分组码中的一个子集。对于循环码,有了一个的码字,按循环移位规律就能写出n个码字。从中选出k个来构造生成矩
5、阵G,就能生成全部2k个许用码字。循环码与近代数学有密切联系。使我们可以借助数学工具来设计编码。,3.4.1 码多项式,二进制自然码可表达为以2为底的多项式表达,如:C=(1010111)=126+025+124+023+122+121+120;把底换为x,则得到“码多项式”:C(x)=1x6+0 x5+1x4+0 x3+1x2+1x1+1x0=x6+x4+x2+x+1 码长为n时,可写:C(x)=cn-1 xn-1+cn-2 xn-2+c1x1+c0 x0 如三位二元码的8个码字对应的码多项式为:000,001,010,011,100,101,110,111;0,1,x,x+1,x2,x2+
6、1,x2+x,x2+x+1,3.4.2 循环移位的数学表达,对二进数,左移一位相当于乘以2,而将最高位的进位(2n位)上的数码拿回到20位,叫做循环移位,相当于作模2n-1运算。如:1011010011 实际是 52 mod 7=3码多项式的循环移位,实际是乘x后作模 xn-1运算。如:1100010 11000100 1000101(x6+x5+x)x(x6+x5+x)mod(x7-1)=(x7+x6+x2)mod(x7-1)=x6+x2+1,(7,4)循环码及其码多项式的循环移位:,循环次数 循环码 码多项式 模x7-1运算后 0 0001011 x3+x+1 x3+x+1 1 00101
7、10 x(x3+x+1)x4+x2+x 2 0101100 x2(x3+x+1)x5+x3+x2 3 1011000 x3(x3+x+1)x6+x4+x3 4 0110001 x4(x3+x+1)x5+x4+1 5 1100010 x5(x3+x+1)x6+x5+x 6 1000101 x6(x3+x+1)x6+x2+1,3.4.3 循环码的生成多项式(1)生成多项式的定义和特点,循环码的码多项式中幂次最低的非零多项式叫做生成多项式,记做g(x)。如(7,4)码的x3+x+1。有了它,其它码字都可由xi g(x)的模 xn-1得到。生成多项式的常数项为1。否则,通过循环移位还能继续降低幂次,它
8、就不是幂次最低的多项式了。生成多项式的幂次为r。因为幂次最低的码多项式是信息为0001,后面跟上r个监督位的那个码字所对应的码多项式,它的最高位是 xr,是r次的多项式。,(2)生成多项式的两个性质:,1任意码多项式T(x)都是生成多项式 g(x)的倍式。证明:(n,k)循环码作为线性分组码,其生成矩阵G是k行n列的,可由k个不同的码字构成:,任给一个信息码K=(cn-1cn-2cn-k),利用生成矩阵和公式C=KG,不难求出它对应的码字 T(x)=KG=(cn-1cn-2cn-k),=(cn-1xk-1+cn-2xk-2+cn-k)g(x);即:T(x)=h(x)g(x);表明任意码多项式T
9、(x)都应能被g(x)整除。,2生成多项式g(x)是 xn-1的一个因式。证明:因为g(x)循环左移k位,即g(x)乘以xk后再作模xn-1运算,应当仍为一个码多项式。xk g(x)为n次多项式,除以xn-1的商式必为1,设余式为T(x),于是有:,移项即证得:xn-1=g(x)xk h(x);,即:xk g(x)=xn-1+T(x)=xn-1+h(x)g(x),(3)生成多项式g(x)的确定:由性质2知,g(x)是xn-1的一个因式。可根据设定的码长n和监督位r,将xn-1因式分解,从中选择一个r次的因子作为g(x)。,例如:(7,4)码,n=7,k=4,r=3;分解:x7-1=(x-1)(
10、x3+x+1)(x3+x2+1)g(x)应是x7-1 的一个r=3次的因子,可取为:g(x)=x3+x+1 或 g(x)=x3+x2+1;二者任选其一,一旦选定,就不再考虑另一个了。,插件1:查表分解xn-1的方法,(1)并非所有的xn-1都具有r次的既约(不能再分解)的因式。但只要满足n=2r-1,xn-1就具有r次的既约因式。因此 P194 页表4中只列出满足n=2m-1的xn-1的分解情况。(2)不论n取何值,xn-1总有一个m0(x)=x+1的因式。(3)xn-1其它因式是mi(x),i=1,3,5,7(4)mi(x)的表达由8进制数给出,将它换成二进制自然码就是mi(x)各位的系数。
11、如 m=5阶时,n=31,可分解x31-1为:第i=1类因式查表得到(45)8=(100101)2,表示m1(x)=x5+x2+1;第i=3类因式查表得到(75)8=(111101)2,m3(x)=x5+x4+x3+x2+1;第i=5类因式查表得到(67)8=(110111)2,m5(x)=x5+x4+x2+x+1;,(5)表中并未列出xn-1所有的因式,与已列出因式对偶的因式都被省略了。所谓对偶指的是将二进制自然码高低位倒置的表达,如:与(100101)2对称的是(101001)2,表示m15(x)=x5+x3+1;与(111101)2对称的是(101111)2,表示m7(x)=x5+x3+
12、x2+x+1;与(110111)2对称的是(111011)2,表示m11(x)=x5+x4+x3+x+1;值得注意的是,有的二进制自然码本身就是对称的,如:(11111)2与(10001)2,高低位倒置后不变,不会出现新的因式。(6)xn-1分解为以上因式之积,诸因式中幂次最高为r。(7)类序号i与n互素的那些因式mi(x)被称为本原多项式;类序号i与n可约的那些因式mi(x)被称为非本原多项式。如果n为素数,所有的因式都是本原多项式。,例查表分解x63-1 因为26-1=63,所以应查P194 页表4中m=6阶。i=1:(103)8=(1000011)2,得知m1(x)=x6+x+1;由对偶
13、式(1100001)2和187页表得知m31(x)=x6+x5+1;i=3:(127)8=(1010111)2,得知m3(x)=x6+x4+x2+x+1;由对偶式(1110101)2和187页表知m15(x)=x6+x5+x4+x2+1;i=5:(147)8=(1100111)2,得知m5(x)=x6+x5+x2+x+1;由对偶式(1110011)2和187页表知m23(x)=x6+x5+x4+x+1;i=7:(111)8=(1001001)2,得知m7(x)=x6+x3+1;对偶式还是自己。,i=9:(015)8=(1101)2,得知m9(x)=x3+x2+1;由对偶式(1011)2和187
14、页表知m27(x)=x3+x+1;i=11:(155)8=(1101101)2,得知m11(x)=x6+x5+x3+x2+1;由对偶式(1011011)2和187页表知m13(x)=x6+x4+x3+x+1;i=21:(007)8=(111)2,得知m21(x)=x2+x+1;其对偶式仍是自己;最终结果:1)x63-1=m0(x)m1(x)m3(x)m5(x)m7(x)m9(x)m11(x)m13(x)m15(x)m21(x)m23(x)m27(x)m31(x);2)本原多项式是m1(x),m5(x),m11(x),m13(x),m23(x)和m31(x);,(1)循环码的生成矩阵,求出了生成
15、多项式g(x),等于得到了一个码字,通过循环移位不难得到其它码字。果然如此简单吗?实际上,通过循环移位最多可写出n个码字,得不到全部码字,因为(n,k)码应当共有2k个许用码字。例如(7,4)循环码共有16个许用码字。取g(x)=x3+x+1,等于知道了中信息K=(0001)所对应的那个码字:C1=(0001 011)。,3.4.4 循环码的编码,C1经过循环移位只能得到7个码字:序号 信息位 许用码字 C1 0001(0001 011)C2 0010(0010 110)C5 0101(0101 100)C11 1011(1011 000)C6 0110(0110 001)C12 1100(1
16、100 010)C8 1000(1000 101),(7,4)共有16个许用码字,还缺 9个。,从循环组中随便取4个许用码字,比如前4个,用它们构成的生成矩阵为G1:,再利用C=KG1 就能求得全部许用码字。比如:(0100)G1=(0101100);(1000)G1=(1011000);然而发现码字不具备信息位在前,监督位在后的形式。原因是G1不具备G=Ik Q的形式,这样编码叫非系统码,非系统码在译码时是比较困难的。,实际上,为了构造G=Ik Q 形式的生成矩阵。需要如下的 4个码字:1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 才能排列出44的单位矩阵Ik。通过对C1=
17、(0001 011)的循环移位可以得到(0010 110)和(1000 101),但是却无法得到(0100),0 1 1,1 1 0,1 0 1,原因何在?原来0100所对应的码字(0100 111)位于另一循环组中:第一循环组 第二循环组 序号 信息 许用码字 序号 信息 许用码字 C1 0001(0001 011)C4 0100(0100 111)C2 0010(0010 110)C9 1001(1001 110)C5 0101(0101 100)C3 0011(0011 101)C11 1011(1011 000)C7 0111(0111 010)C6 0110(0110 001)C14
18、 1110(1110 100)C12 1100(1100 010)C13 1101(1101 001)C8 1000(1000 101)C10 1010(1010 011)第三循环组 第四循环组 C0 0000(0000 000)C15 1111(1111 111),直接写不出系统码生成矩阵,但可以经过线性变换,将G1最下行加到第二行上,将最下面两行加到第一行上,也能得到Ik Q的形式的系统码生成矩阵G:,非系统码生成矩阵,系统码生成矩阵,得到了系统码生成矩阵,就可以用C=KG得到所有码字。,(2)直接计算系统码的监督元:以(7,4)码为例,设信息位为k3 k2 k1 k0,对应的多项式为:k
19、(x)=k3x3+k2x2+k1x+k0;设监督位为r2 r1 r0,监督位对应的多项式为:r(x)=r2x2+r1x+r0;系统码码字C=(k3 k2 k1 k0 r2 r1 r0)对应的码多项式为:C(x)=k3x6+k2x5+k1 x4+k0 x3+r2 x2+r1 x+r0;=x3(k3x3+k2x2+k1x+k0)+(r2x2+r1x+r0)=x3 k(x)+r(x)推广到一般,码多项式可写为为:C(x)=x r k(x)+r(x)-(1),根据生成多项式性质1,任何码多项式一定能被g(x)整除:C(x)mod g(x)=0 即:x r k(x)mod g(x)+r(x)mod g(
20、x)=0;移项,并考虑到模2运算可把负号变正号,于是:r(x)mod g(x)=x r k(x)mod g(x);因为 r(x)是r-1次多项式,g(x)是r 次多项式,所以 r(x)mod g(x)=r(x)得到直接计算系统码码字监督多项式的公式是:r(x)=x r k(x)mod g(x)-(2)再由公式(1)就得到了相应的码字。,例1求(7,4)循环码中信息位K=(0100)对应的码字:解:k(x)=x2,r=3,xr k(x)=x5,g(x)=x3+x+1;由(2):r(x)=x5 mod x3+x+1=x2+x+1;由(1):C(x)=xr k(x)+r(x)=x5+x2+x+1;C
21、=(0100111);同法可得到所有16个信息(00001111)的码字。,小结:循环码的编码步骤:1、确定(n,k)循环码的生成多项式:将xn-1分解因 式,从中选择一个r次的因子作为g(x)。2、根据信息K,由 r(x)=x r k(x)mod g(x)计算出它的监督位。3、由 信息位+监督位 直接写出编码C;4、间接编码方法:由g(x)得到一个码字,循环移位得到k个码字,写出生成矩阵,通过线性变换得到系统码生成矩阵G,最后由生成方程C=KG 求出相应码字。,例2 求(7,3)循环码的生成多项式,并为信息 K=(110)编码。解:(1)n=7,k=3,r=4 由:x7-1=(x+1)(x3
22、+x+1)(x3+x2+1)取:g(x)=(x+1)(x3+x+1)=x4+x3+x2+1;(2)由:k(x)=x2+x,xr k(x)=x4(x2+x)=x6+x5 知:r(x)=x6+x5 mod x4+x3+x2+1=x3+1;(3)R=(1001);C=(1101001);或由:g(x)=x4+x3+x2+1(0011101)循环左移三次得到:C=(1101001);,3.4.5 循环码的译码(纠错),(1)由接收码字R,写出其接收码多项式R(x);(2)求伴随子多项式S(x)=R(x)mod g(x);(3)若 S(x)=0(即接收码多项式能被g(x)整除),则表明接收码无误。(4)
23、若 S(x)0,表明接收码有误,此时定义 错误格式多项式:E(x)=en-1xn-1+en-2xn-2+e2x2+e1x+e0;,(5)由S(x)求对应的E(x)。因S(x)=C(x)+E(x)mod g(x)=E(x)mod g(x);为了找到S(x)对应的E(x),我们可以预先将纠错能力t 位 以内的各种错误格式E(x)除以g(x)的余式都计算出来,列成一张S(x)-E(x)对照表,由S(x)就能直接查出E(x)。(6)纠错译码:由C(x)=R(x)+E(x)就能写出译码C。,例3 已知(7,4)码的生成多项式是g(x)=x3+x+1;请为R=(0110010)译码。解:设接收码为R=(r
24、6 r5 r4 r3 r2 r1 r0);由 S(x)=E(x)mod g(x);可列出S(x)E(x)对照表:,当R=(0110010)时,R(x)=x5+x4+x;S(x)=(x5+x4+x)mod(x3+x+1)=x+1;查表知:E(x)=x3;纠错:C(x)=R(x)+E(x)=x5+x4+x3+x;即:C=(0111010);译码结果是K=0111,计算机中对公式的计算其实仍归结为数值计算,对所有的赋值都能正确得到结果,就等于对公式的计算。笔算时是从被除数的高位开始,依次对除数求商、求积、求余,然后右移一位,继续前述过程,直至到被除数末尾。现在的道理相同,只不过把除数固定在电路上(就
25、是反馈的位置),让被除数逐位右移通动寄存器,通过反馈电路实现求商、求积、求余的运算。由于是二进制代码,商只有1和0两个可能值,积就是除数本身或是零。商为0时反馈为0,被除数不变;商为1时反馈为1,被除数与除数相减,但模二减等于模二加。最后留在寄存器中的就是余数,上轮余数的首位被输出,它的就是商。,3.4.6 编、译码的电路实现1.除法求余电路:,设被除数是x r k(x)=x5=0100000,除数是g(x)=x3+x+1=1011,相除的过程见表所示。,xr K(x)输入 D0D1D2 输出 x6位 0 0 0 0 0 x5位 1 1 0 0 0 x4位 0 0 1 0 0 x3位 0 0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信道编码中 信道编码 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5464419.html