信息论与编码之(9,3)循环码课程设计解析

上传人:我** 文档编号:114641351 上传时间:2019-11-12 格式:DOC 页数:14 大小:400KB
返回 下载 相关 举报
信息论与编码之(9,3)循环码课程设计解析_第1页
第1页 / 共14页
信息论与编码之(9,3)循环码课程设计解析_第2页
第2页 / 共14页
信息论与编码之(9,3)循环码课程设计解析_第3页
第3页 / 共14页
信息论与编码之(9,3)循环码课程设计解析_第4页
第4页 / 共14页
信息论与编码之(9,3)循环码课程设计解析_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《信息论与编码之(9,3)循环码课程设计解析》由会员分享,可在线阅读,更多相关《信息论与编码之(9,3)循环码课程设计解析(14页珍藏版)》请在金锄头文库上搜索。

1、成都理工大学工程技术学院信息论与编码课程设计 循环(9,3)码姓名:屈未炳、戴皓学号:201220101109、201220101117系别:电子信息与计算机工程系专业:信息工程班级:2012级1班目录摘要3关键词3一、编码器原理图3二、译码器原理图3三、生成多项式求解生成矩阵4四、生成矩阵求系统码的生成矩阵4五、发现错误的能力5六、纠正错误的能力5七、和线性码、Haming码等的区别、联系 6(一)、循环码 (二)、线性分组码 (三)、Haming码八、调用内嵌函数完成编解码6九、利用Simulink完成仿真7十、不调用内嵌函数完成编解码8(一)、完成编码器的Matlab编写8(二)、完成解

2、码器的Matlab 编写10(三)、用循环序列完成编译码的MATLAB编写(完成联合调试Demo编写)12结论、13参考文献、13循环码(9,3)码课程设计摘要:本报告详细给出了编码器、解码器原理图以及由生成多项式求解生成矩阵的过程和由生成矩阵求系统码的生成矩阵,讨论发现错误的能力纠正错误的能力,讨论和线性分组码、Hamming码等的区别、联系等;调用内嵌函数完成编解码;利用Simulink完成仿真;不调用内嵌函数完成编解码,完成编码器的Matlab编写;完成解码器的Matlab编写;完成联合调试Demo的编写。关键字:循环码 编码 译码 检错 纠错 Matlab Simulink一、 编码器

3、原理图二、 译码器原理图译码表(需用到长除法): 伴随式译码框图:三、 生成多项式求解生成矩阵由生成多项式:经过移位可得生成矩阵: ,四、 生成矩阵求系统码的生成矩阵由生成多项式:,由长除法可知,五、 发现错误的能力 , 信息码组因为,可得码字求任意两行码字的最小(汉明)距离,则:可以检测出任意小于等于l =2个差错。六、 纠正错误的能力求任意两行码字的最小(汉明)距离,则:可以纠正出任意小于等于t=1个差错,七、 和线性分组码、aming码等的区别、联系(一)、循环码是采用循环移位特性界定的一类线性分组码。是线性分组码的一个重要子类,BCH是其主要的一大类,汉明码、R-码、Golay码、RS

4、码等可变换,纳入循环码内,Goppa码的一个子类也属于循环码,用反馈线性移位寄存器可以容易的实现其编码和得到的伴随式,由于数学上的特性,译码方法简单。(二)、线性分组码是同时具有分组特性(码字和消息长度恒定)和线性特性(消息相加后的编码等于各自编码后相加)的纠错码。每个监督码元都是码组中某些信息码元的线性相加得到的,将q元符号按每K个分为一组,然后通过编码得到n-k个q元符号作为冗余校验符号,最后由校验符号和信息符号组成有n个q符号的码字符号。得到的码字可以纠正t个错误,编码效率为k/n。两个属于该码的码字的和仍是一个属于该码字,全零字总是一个码字,一个线性码的两个码字的最小距离等于任何非零码

5、字的最校汉明重量。(三)、Haming码汉明码是一种能纠正一位错码的线性分组码且是一类高效率的纠错码。当m=6时,n=9,k=3。线性分组码中的(9,3)就是汉明码。汉明码的译码电路利用最小码重错误图样进行译码的电路实现,利用校正子与错码位置的对应关系,也可以使用地址译码器来帮助实现译码。八、 调用内嵌函数完成编解码clear;clc;n=9;k=3;genpoly=1 0 0 1 0 0 1;msg=randint(100,k);code=encode(msg,n,k,cyclic,genpoly);a,c=size(code);noise=randerr(a,c,01;.8 .2);rec

6、eive=rem(code+noise,2);trt=zeros(2(n-k),n);newmsg,err=decode(receive,n,k,cyclic,genpoly,trt);sum(abs(msg-newmsg)ans = 0 2 2九、 利用Simulink完成仿真十、 不调用内嵌函数完成编解码(一)、完成编码器的Matlab编写clear;clc;m=input(输入m矩阵) G=1 0 0 1 0 0 1 0 0;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1c=m*G mod(c,2) 运行在matlab如下:若输入m矩阵为101,则运行结果:m =

7、 1 0 1G = 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1c = 1 0 1 1 0 1 1 0 1ans = 1 0 1 1 0 1 1 0 1(二)、完成解码器的Mmatlab编写G=1 0 0 1 0 0 1 0 0;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1;c1=0 0 0*G ;a1=mod(c1,2) ;c2=0 0 1*G ;a2=mod(c2,2) ;c3=0 1 0*G ;a3=mod(c3,2) ;c4=0 1 1*G ;a4=mod(c4,2) ;c5=1 0 0*G ;a5

8、=mod(c5,2) ;c6=1 0 1*G ;a6=mod(c6,2) ;c7=1 1 0*G ;a7=mod(c7,2) ;c8=1 1 1*G ;a8=mod(c8,2) ;M=a1;a2;a3;a4;a5;a6;a7;a8 R=input(请输入矩阵) b1=mod(R+a1,2) ;k1=find(b1=1) ;y1=length(k1) ;b2=mod(R+a2,2) ;k2=find(b2=1) ;y2=length(k2) ;b3=mod(R+a3,2) ;k3=find(b3=1) ;y3=length(k3) ;b4=mod(R+a4,2); k4=find(b4=1) ;

9、y4=length(k4) ;k5=find(b5=1) ;y5=length(k5) ;b6=mod(R+a6,2) ;k6=find(b6=1) ;y6=length(k6) ;b7=mod(R+a7,2) ;k7=find(b7=1) ;y7=length(k7) ;b8=mod(R+a8,2) ;k8=find(b8=1) ;y8=length(k8) ;L=y1 y2 y3 y4 y5 y6 y7 y8 ;g,n=min(L) ;X=M(n,:) ;m1=X(:,1:3)运行在matlab如下:M = 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0

10、 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1请输入矩阵1 0 0 1 0 0 1 0 0R = 1 0 0 1 0 0 1 0 0g = 0n = 5X = 1 0 0 1 0 0 1 0 0m1 = 1 0 0 1 0 0(三)用循环序列完成编译码的MATLAB编写clear all,clcm=input(请输入m矩阵)G=1 0 0 1 0 0 1 0 0;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1;c=

11、m*G;c=mod(c,2)for i=1:7 c(i,:)=de2bi(i,3)*G; M(i,:)=rem(c(i,:),2);endR=input(请输入R矩阵)for r=1:7 b(r,:)=mod(R+M(r,:),2); k(r,:)=length(find(b(r,:)=1);endg,n=min(k);X=M(n,:);m1=X(:,1:3)运行在matlab如下:请输入m矩阵1 0 1m = 1 0 1c = 1 0 1 1 0 1 1 0 1请输入R矩阵1 0 1 1 0 1 1 0 1R = 1 0 1 1 0 1 1 0 1m1 = 1 0 1结论:在这次基于MATLAB的信息论与编码课程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号