74汉明码编码原理

上传人:豆浆 文档编号:11387911 上传时间:2017-10-13 格式:DOC 页数:6 大小:175KB
返回 下载 相关 举报
74汉明码编码原理_第1页
第1页 / 共6页
74汉明码编码原理_第2页
第2页 / 共6页
74汉明码编码原理_第3页
第3页 / 共6页
74汉明码编码原理_第4页
第4页 / 共6页
74汉明码编码原理_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《74汉明码编码原理》由会员分享,可在线阅读,更多相关《74汉明码编码原理(6页珍藏版)》请在金锄头文库上搜索。

1、 74汉明码编码 1. 线性分组码是一类重要的纠错码,应用很广泛。在(n,k)分组码中,若 冗余位是按线性关系模2相加而得到的,则称其为线性分组码。现在以(7,4)分组码为例来说明线性分组码的特点。其主要参数如下:码长: 21mn信息位: k校验位: ,且 3最小距离: min0d其生成矩阵G(前四位为信息位,后三位为冗余位)如下:系统码可分为消息部分和冗余部分两部分,根据生成矩阵,输出码字可按下 式计算:所以有信息位 冗余位由以上关系可以得到(7,4)汉明码的全部码字如下所示。表2 (7,4)汉明码的全部码字序号 信息码元 冗余元 序号 信息码元 冗余元0 0000 000 8 1000 1

2、111 0001 011 9 1001 1002 0010 101 10 1010 0103 0011 110 11 1011 0014 0100 110 12 1100 0015 0101 101 13 1101 0106 0110 011 14 1110 1007 0111 000 15 1111 111103210321010(,)(,)baGa63524130ba2310120ba2.用 C+编写 (7,4)汉明码的思路如下:16 个不同信息序列的产生:调用 stidlib 包中的 rand()产生二进制伪随机序 列,为了产生 16 个不同信息序列,共分两步产生:第一步:先产生一个伪随

3、机序列并保留,将它赋给第一个信息序列 V0;i=0;for(j=0;j#includevoid main()int g47=1,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,1,0,0,0,1,1,0,1;/声明生成矩阵63524130ba2310120baint v164;/声明信息序列int u167;int i,j,k;cout 生成矩阵为: endl;/输出生成矩阵for(i=0;i4;i+)for(j=0;j7;j+)cout gij ;cout endl;bool vedict(int a,int b);/声明判断函数cout 消息序列: endl;/

4、随机产生信息位序列i=0;for(j=0;j4;j+)vij=rand()%2;for(i=1;i16;i+)lable:for(j=0;j4;j+)vij=rand()%2;for(k=0;ki;k+) /判断随机产生的信息序列与前面的信息序列是否相同if( vedict( vi,vk)continue; /如果产生的信息序列与前面的序列都不同,则保留这个信 息序列,并进行产生下一个信息序列else goto lable; /如果产生的信息序列与前面的序列有相同的,则此次产生的 序列无效,跳转到标签 lable 处,从新产生信息序列for(i=0;i16;i+) /输出信息序列for(j=0

5、;j4;j+)cout vij ;cout endl;cout 74 汉明码为: endl;for(i=0;i16;i+) for(j=0;j7;j+)if(j4)uij= vij;if(j=4)uij=(vi0vi2)vi3;if(j=5)uij=(vi0vi1)vi2;if(j=6)uij=(vi1vi2)vi3;cout uij ;cout endl;bool vedict(int a,int b)int m;for(m=0;m4;m+)switch(m)case 0:if(am!=bm) return true;else continue;break; case 1:if(am!=bm) return true;else continue;break; case 2:if(am!=bm)return true; else continue;break;case 3:if(am!=bm)return true; else return false;编译、运行结果为:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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