循环码实验报告
更新时间:2024-07-09 08:31:01 阅读量: 综合文库 文档下载
湖 南 大 学
信息科学与工程学院
实 验 报 告
实验名称 课程名称
香农编码 信息论与编码
1、实验目的
(1)进一步熟悉循环编码、译码算法;
(2)掌握C语言程序设计和调试过程中数值的进制转换、数值与字符串之间的转换等
技术。
2、实验要求
(1)输入:7位信息序列 (2)输出:输出(11,7)循环码
3、循环码编码算法
一个码长为n的(n,k)循环码,它必为按模xn+1运算的一个余式。 Cn-1(x) =c0 xn-1+cn-1xn-2+…+c2 x+c1 Ci (x) ≡xi ·C(x) mod (xn + 1)
循环码完全由其码组长度n和生成多项式g(x)所决定 生成多项式g(x)具有以下特性:
(1) g(x)是一个常数项为1的 r=n-k 次多项式; (2) g(x)是x?1的一个因式;
(3)该循环码中其它码多项式都是g(x)的倍式。 g(x), xg(x) …, xk-1g(x)
如果g(x)是一个 n – k = r 次多项式,并且是xn+1的一个因式,则 g(x)生成一( n , k )循环码。 任何(n,k)循环码的全体码字都是由一个n-k=r次多项式生成。
n?gn?kgn?k?1...g1g0000...0??0gg?...gg00...0n?kn?k?110????G??00gn?kgn?k?1...g1g00...0?
?........?????000...0gn?kgn?k?1...g1g0??生成矩阵
xn+1=g(x
可见H矩阵可由下述的多项式矩阵的系数构成,即由h(x)的反多项式h*(x)循环移位得到r组互不相关的多项式系数矢量构成。称H为循环码的一致监督矩阵
定义一个矩阵是生成矩阵还是监督矩阵,主要是看它们在编码过程中所起的作用。由于H矩阵与G矩阵彼此正交,所以两者的作用可以互换。若g(x)生成一(n,k)循环码,那么h*(x)可生成(n,n-k)循环码,h(x)亦也作为生成多项式得到一(n,n-k)循环码。 h*(x) = x k h(x – 1) =h0 + h1x +…+ hkxk
以 g(x)作为生成多项式生成的 (n,k)循环和以h*(x)作为生成多项式生成的 (n,n-k)循环码互为对偶码,而以g(x)作为生成多项式生成的 (n,k)循环码和以 h(x)作为生成多项式生成的 (n,n-k)循环码互为等效对偶码。 设待编码的信息序列为 I=[cn-1cn-2…cn-k]
I(x)=cn-1xk-1+cn-2xk-2+…+cn-k
一般系统循环码的编码可由下述三个步骤完成:
(1) 先用xn-k乘以I(x),这相当于用移位寄存器 将信息序列移位n-k位。
(2) 用生成多项式g(x)除xn-kI(x),得到余式V(x), 即构成监督码元位
(3) 输出k个未变化的信息元,cn-1,cn-2,cn-3,…,cn-k, 其后紧随n-k个监督码元输出。
编码电路的关键是如何构造一个以g(x)为除式, 以xn-k·I(x)为被除式的除法电路。
4、循环码译码:
1)由接收到的码多项式B(x)计算校正子(伴随式)多项式S(x); 2)由校正子S(x)确定错误图样E(x);
3)将错误图样E(x)与B(x)相加,纠正错误。
上述第(1)步运算和检错译码类似,也就是求解B(x)整除g(x)的余式,第(3)步也很简单。
因此,纠错码译码器的复杂性主要取决于译码过程的第(2)步。
基于错误图样识别的译码器称,它的原理图如图8-7所示。错误图样识别器是一个具有(n-k)个输入端的逻辑电路,原则上可以采用查表的方法,根据校正子找到错误图样,利用循环码的上述特性可以简化识别电路。梅吉特译码器特别适合于纠正2个以下的随机独立错误。
梅基特译码器
5、实验代码
#include
main(){ int i,j,k,wy=0; int total[128][7]; int temp[7]={0,0,0,0,0,0,0}; int s,ss; int ydev[5]={0,0,0,0,0}; int xdev[5]={1,0,0,1,1}; int YE1[11][64][11]; int in[11]; int end=6; int Y[64][11]; int E[11][11]; //得到7位所有源码 for(i=0;i<128;i++){ for(j=0;j<7;j++)total[i][j]=temp[j]; s=temp[0]*64+temp[1]*32+temp[2]*16+temp[3]*8+temp[4]*4+temp[5]*2+temp[6]*1;//转换为10进制 s++;//加一 ss=s; for(k=6;k>=0;k--){//转换为二进制 temp[k]=ss%2; ss=ss/2; } } for(i=0;i<128;i++){//求64位 第七位为1的码 if(total[i][6]==1){ for(j=0;j<7;j++) Y[wy][j]=total[i][j]; for(;j<11;j++) Y[wy][j]=0; wy++; } } wy=0; while(wy<64){ //把前面的五位信息位赋给保存上位模二加后的数组中,而由其初始化知后两位开始为0 for(i=0;i<5;i++)ydev[i]=Y[wy][i]; while(end!=0){
d];
//做除法 11101 需要六次移位,由end进行判断除法是否结束 if(ydev[0]==0){
ydev[0]=ydev[1];ydev[1]=ydev[2];ydev[2]=ydev[3];ydev[3]=ydev[4];ydev[4]=Y[wy][11-en end--; } //end为0时若ydev[0]=0则停止若为1则还有一次运算 if(ydev[0]==1){ for(j=0;j<5;j++) ydev[j]=(ydev[j]+xdev[j])%2; } } for(j=1;j<5;j++) Y[wy][j+6]=ydev[j]; printf(\ for(j=0;j<7;j++) printf(\ printf(\此信息对应的循环码为:\ for(j=0;j<11;j++)printf(\ printf(\ end=6;wy++; }
printf(\getchar();
/**生成一位错误图样**/ printf(\一位错误图样:\\n\for(i=0;i<11;i++){ E[i][10-i]=1; for(j=0;j<11;j++){ if(j!=(10-i)) E[i][j]=0; } }
/**加到源码中**/ for(k=0;k<11;k++){ for(i=0;i<64;i++){ for(j=0;j<11;j++){ YE1[k][i][j]=(Y[i][j]+E[k][j])%2; } } } for(k=0;k<11;k++){ for(i=0;i<64;i++){ for(j=0;j<11;j++){ printf(\ } printf(\
正在阅读:
循环码实验报告07-09
小学生三年级作文快乐的春节06-12
表扬与批评的艺术(论文)07-06
小学生观察日记大全02-21
天空的自述作文600字06-20
高中羽毛球课教案羽毛球课教案11-07
高考化学一轮复习第九章有机化合物章末检测09-24
深基坑钢管桩支护方案检算10-20
难忘的一位老师作文400字06-15
基础会计练习与实训题参考答案06-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 循环
- 实验
- 报告
- 厦门市政府信息公开目录编制说明(试行)
- 产品让步放行流程 1.0
- 通达信指标公式源码本公式最大的优点就是逃顶100%,
- 圆通速递调研1
- 关于征求意见的情况报告
- 2016山东公务员申论指导:命题人眼中的作文立意是什么样的?
- IT前沿技术讲座总结
- 政协提案答复摘要汇总-深圳人力资源和社会保障局
- 2002年全国大专辩论赛预选赛第4场
- 统计学课后答案
- 《古典诗词格律入门》 - 3b33
- 干细胞分裂模式和干细胞干性维持的机制研究
- 四年级上册数学基础训练
- 高考英语回归课本复习14
- 文明班级建设计划
- 分析网络环境下的新闻记者角色定位
- 2018年秋部编人教版七年级历史上册专题复习训练专题四 人物篇
- 高二生物课时作业1-11(内含答案) - 图文
- 《机械设计基础》教案
- 中国鼓凳子行业市场前景分析预测报告(目录) - 图文