循环码实验报告
更新时间:2023-11-23 21:04: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(\
正在阅读:
循环码实验报告11-23
2018会计继续教育答案03-12
咸宁职业技术学院园林技术教育实训基地建设03-04
洋思中学教学经验(3)09-18
思想汇报201602-24
2014年一级建造师法律法规真题答案解析06-04
NCCN肿瘤相关静脉血栓栓塞性疾病指南09-25
超导型磁共振冷头的工作原理及维护保养04-20
第二章 简单国民收入决定理论11-09
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 循环
- 实验
- 报告
- 个案工作期末复习(2)
- 2016年全国职业院校技能大赛竞赛机器人、机器视觉及RFID技术应用与开发项目方案申报书
- by smile初见的知识点总结 生物联赛
- 2018年江苏省普通高中学业水平测试(必修科目)物理试题及答案(Word版) - 图文
- 习题集2第二章 欧洲中世纪文学
- 对外汉语教学过程中兼语句式的教学方法探究
- 淮安市乡镇卫生室名录2018版116家
- 设备配件管理制度
- 2017推销策略与艺术期末复习资料(新)
- 免疫共沉淀
- TYJL—TR9型计算机联锁
- 110kv高压输电线路毕业设计
- RTK-南方工程之星道路放样步骤
- 以内因与外因的辩证关系原理分析马加爵杀人案
- 浙江省台州市书生中学2014-2015学年七年级社会(含答案)
- 2013年1月 2012年1月 2011年1月 2010年1月 浙江自考 毛邓三试题和答案 03707
- 新世纪大学英语系列教材综合教程1答案
- 企业文化远程教育模拟试卷D
- 校园长培训的摘抄内容
- 医院分级诊疗实施方案