资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课程名称:信息论与编码课程设计题目循环码的编码和译码程序设计指导教师:系 另U: 专 业: 学 号:姓 名:合作者完成时间:一、实验目的:1、通过实验了解循环码的工作原理。2、深刻理解RS码构造、RS编译码等相关概念和算法。二、实验原理1、RS循环码编译码原理与特点设C使某川 二线性分组码的码字集合,如果对任C二(c , c ,,c ) g C,它的循环n-1 n20移位C(1)二(c , c ,c , c )也属于C,则称该匸a 码为循环码。n2 n30 n 1该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。 其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环 码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。如果一个(丁J线性码具有以下的属性,则称为循环码:如果n元组c二c , c, , c 是子空间S的一个码字,则经过循环移位得到的c(1)二c , c,,c 也0 1n-1n1 0n2同样是s中的一个码字;或者,一般来说,经过j次循环移位后得到的 c(j)= c ,c ,,c ,c ,c,,c也是S中的一个码字。nj nj+1n1 0 1nj 1RS码的编码系统是建立在比特组基础上的,即字节,而不是单个的0和1,因此它是非二进制BCH码,这使得它处理突发错误的能力特别强。码长:n = 2m 1信息段:k = n 2t(t为纠错符号数)监督段:2t二n k最小码段:d = 2t +1最小距离为d的本原RS码的生成多项式为:g(x)=(x-a)(x-a2)(x-a3).(x-ad-2)信息元多项式为: m(x)=m0+mlx+m2x2+. .+mk-1xk-1循环码特点有:1)循环码是线性分组码的一种,所以它具有线性分组的码的一般特性,且具有循环性,纠错能力强。2)循环码是一种无权码,循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件,即相邻 数码间只有一位码元不同,因此它具有一个很好的优点是它满足邻接条件,没有瞬时错误(在数码变 换过程中,在速度上会有快有慢,中间经过其他一些数码形式,即为瞬时错误)。3)码字的循环特性,循环码中任一许用码经过牡环移位后,所得到的码组仍然是许用码组。对所有的i=0,l,2,.k-1,用生成多项式g(x)除xn*i,有:27)xnk+i = a (x)g (x) + b (x)ii式中b (x)是余式,表示为:i因此,X n k + i +成矩阵为:G =b (x)二 bii, n - k -1b1x)是 g(x)的倍式,k-1,bxn-k-1 + b x + bi ,1i,0即 x n - k +1n-k-128)k1 +bbi (x)是码多项式,由此得到系统形式的生k - 2,k-1,1bk - 2,1k-1,0bk-x,0b0, n k 1b0,1b0,0(29)它是一个kxn阶的矩阵。同样,由Gx h T=0可以得到系统形式的一致校验矩阵为:bk -1, n - k -1bk - 2, n - k - 1b0, n - k -11 00H=- (210)bb b010k-1,1k - 2,10,1bb b001k-1,0k - 2,00,0-已知(7,4)循环码的生成多项式和校验多项式分别为:g(x)二x 3 + x + 1, h(x)二x4 + x2 + x + 1。写得其生成矩阵和校验矩阵分别为:10G =001H = 000 1 11010 1 00011101110 1 10001001100 1 11000 1 01012、编码原理:有信息码构成信息多项式m(x) = mk-1xk-1 + m0,其中最高幂次为k-1;用xn-k乘以信息多项式m(x),得到的xn-km(x),最高幂次为n-1,该过程相当于把信息码(mk -1,mk - 2,m 1,m )移位到了码字德前k个信息位,其后是r个全为零的监督位;用g(x)除xn-km(x)得到余式r(x),其次数必小于g(x)的次数,即小于(n-k),将此r(x)加于 信息位后做监督位,即将r(x)于 xn_km(x)相加,得到的多项式必为一码多项式。1) 有信息码构成信息多项式皿仪)=皿妄严-1+、皿0其中高幕次为k-1。2) 用xn-k乘上信息多项式m(x),得最高幕次为n-1,做移位。3) 用 g(x)除 xn-km(x)和到余式 r(x)。编码过程流程图:3、译码原理:1) 有接收到的y(x)计算伴了随式s(x)。2) 根据伴随式s(x)找出对应的估值错误图样。3) 计算cA(x)=y(x)+eA(x),得估计码字。若cA(x)= c(x),贝V译码正确,否则错误。由于g(x)的次数为n - k次,g(x)除E(x)后得余式(即伴随式)的最高次数为n-k-1次,故S(x)共 有2n-k个可能的表达式,每一个表达式对应一个错误格式。可以知道(7,4)循环码的S(x)共有2(7-4)=8个可能的表达式,可根据错误图样表来纠正(7,4)循环码中的一位错误。BC114循坏码错误图样表:铅课图样留谋罔样码字伴随式s仗)伴随式E6(k)1000000100E5 (x) 一 兀50100000X姑XHOE-1 (x) jc40010000x2+x+I11 IE3(x)0001000x+101 IE2(x)0000100x2+l101El (x=xl0000010X010EO (x)=kO00000011001E (x) =000000000000解码过程流程图:4、纠错能力:由于循环码是一种线性分组码,所以其纠检错能力与线性分组码相当。而线性分组码的最小距离 可用来衡量码的抗干扰能力,那么一个码的最小距离就与它的纠检错能力有关。定理:对于任一个(n, k)线性分组码,若要在码字内(1)检测已个错误,要求码的最小距离d、e + 1 ;(2) 纠正:个错误,要求码的最小距离d - 2t + 1 ;(3) 纠正:个错误同时检测八工八 个错误,则要求d - t + e + 1;循环码的译码分检错译码与纠错译码两类。在无记忆信道上,对码字c,差错图案e和接收向 量r的多项式描述为r (x) = c (x) + e( x)定义r(X)的伴随多项式为s(x)s(x) = r(x) (mod g (x)=s + s x + s x 2 + s xr-1012r-1由于 c (x) = a (x) g (x) = 0(mod g (x),所以s (x) = e( x )(mod g (x)由此可见,s(x)丰0则一定有差错产生,或说满足e(x)(mod g (x)丰0的差错图样 e(x)产生,它满足e(x)(modg(x) = 0。循环码的检错译码即是计算s( x)并判断是否为o三、实验分析1、实验测试结果,包括译码结果、误码率与信噪比之间的关系、生成多项式s-051020谨码器输出信吕理想状态下,对信号随机的提取,编码器输入为1000001110001000,通过encode函数后,因为加入了监督码,信号变得复杂密集,编码输出为 1011000101001110110001011000通过译码输出为1000001110001000,与编码输入一致。说明循环码的检错和纠错能力性能好。输出多项式为:g(x)=(x+a) (x+a2)(x+a3)=a6+a5x+a4x+a3x2+ a3x +a2x+x3编码器输人.信号编码器输出信号频谱團以randint函数重新做一个输入信号并进行编码,结果与上例相似,输入与输出一致。由上面所有的图可以发现,编码器输入信号并不完全相同,因为对信号的提取是随机的,所以码元也 是随机的,信号经过编码器后,因为要加入监督码,所以波形变得更加密集了。信号经过译码后,波 形和编码器输入信号大致相同,说明循环码的检错和纠错能力可以。循环码在不同信嗓比下的误码率5 44O.O0.1信噪比与误码率的关系比较,从图中可看出,当信噪比在20以内时,误码率相对比较大,最高达到0.45以上,而当SNR大于2 0后,信噪比保持很稳定。下面是误码率的数字显示:ThebiterrorrateisO. 4ThebiterrorrateisO.4GThebiterrorrateisO.44ThebiterrorrateisO.415ThebiterrorrateisO. 4ThebiterrorratelsO.385ThebiterrorrateisO.32EThebiterrorrateisO. 4ThebiterrorratelsO.34ThebiterrorrateisO.305ThebiterrorrateisO.32ThebiterrorrateisO.245rhebiterrorrateisOl 245ThebiterrorrateisO.17ErhebiterrorrateisO. I 85ThebiterrorratelsO. I 75ThebiterrorrateisO.095ThebiterrorratelsO.095ThebiterrorrateisO.065rhebll:errorrateisO.09ThebiterrorrateisO.OOErhebiterrorrsteisOL 045rhebiterrorrateisOrhebiterrorrateisOThebiterrorrateisO2、实验过程遇到的问题及解决方法刚开始并没有注意到运用循环码时可用上简便的Matlab自带函数,一直苦恼怎么进行纠错编码 及解码,然后查找资料,收集了与循环码相关的函数(部分如下:1) encode 函数功能:编码函数语法:code=encode(msg,N,K,method,opt)说明:用method指定的方法完
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号