ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:321.58KB ,
资源ID:13072088      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13072088.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文((7-4)汉明码编译码程序说明资料Word格式.doc)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

(7-4)汉明码编译码程序说明资料Word格式.doc

1、由于一个(n,k)的线性码C是所有二进制n维向量组成的向量空间的一个k维子空间,则可以找到k个线性独立的码字, ,使得C中的每个码字v都是这k个码字的一种线性组合。(7,4)汉明码的生成矩阵如下,前三位为冗余校验部分,后四位为消息部分。如果是待编码的消息序列,则相应的码字可如下给出:编码结构即码字,对于(7,4)线性分组码汉明码而言,为所提供的消息序列,而,。由以上关系可以得到(7,4)汉明码的全部码字如下所示: k=4,n=7的线性分组码消息码字(0000)(0000000)(0001)(1010001)(1000)(1101000)(1001)(0111001)(0100)(0110100

2、)(0101)(1100101)(1100)(1011100)(1101)(0001101)(0010)(1110010)(0011)(0100011)(1010)(0011010)(1011)(1001011)(0110)(1000110)(0111)(0010111)(1110)(0101110)(1111)(1111111)2、用C+编写(7,4)汉明码编译码程序的思路如下:(1)编码程序循环输入待编码消息序列,首先判断输入是否符合输入条件:输入必须是4位0,1序列,共有种情况。编码程序如下:(本人水平有限,使用直接赋值的方法,望见笑)for(j=0;j7;j+) if(j=3) vj=

3、 u0;if(j=4) vj= u1;if(j=5) vj= u2;if(j=6) vj= u3;if(j=0)vj= (u0u2)u3);/异或运算if(j=1)vj= (u0u1)u2);if(j=2)vj= (u1u2)u3);cout vj ;coutendl;编码的思想为:(2)译码程序:循环输入待译码的码字序列,第一步判断输入是否符合输入条件:输入必须是7位0,1序列,共有种情况。但是种情况中只有即16个有效码字,那么第二步则是要判断是否是即16个有效码字,这也是编码的一个检错方式,利用其奇偶校验矩阵,校正子,接收到的码字序列为,判断是否等于0。若等于0,则证明是有效码字;若不等于

4、0,则证明不属于16个有效码字的一个。l 奇偶校验矩阵以下为纠错的关键程序:3; a=(v0*ht0j)(v1*ht1j)(v2*ht2j)(v3*ht3j)(v4*ht4j)(v5*ht5j)(v6*ht6j); result=result+a; if(result!=0) cout输入的是无效的字码 goto loop;else cout输入字码有效cout您所输入的待译码的码字序列为:接下来便是译码的两个主要方法:第一个方法为查表法:程序中check_table()函数便是查表法。表格如下:第二个方法编码方法便是:系统码直接取信息位译码程序如下:for(j=0;4;if(j=0) uj=

5、 v3;if(j=1) uj= v4;if(j=2) uj= v5;if(j=3) uj= v6; uj 3、程序附录/(7,4)编译码程序#include using namespace std;void check_table();/编码程序int main() int g47=1,1,0,1,0,0,0,0,1,1,0,1,0,0,1,1,1,0,0,1,0,1,0,1,0,0,0,1;/声明生成矩阵G,即4个线性独立的码字,可以使码本C中的码字v都是这k个码字的一种线性组合,int h37=1,0,0,1,0,1,1,0,1,0,1,1,1,0,0,0,1,0,1,1,1;/声明校验矩

6、阵H,int ht73=1,0,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1,1,1,0,1;/声明校验矩阵H的转置矩阵HT(这里的T是H 的上标)int u4; /声明待编码的消息序列,即未编码前的信息序列int v7; /声明编码后的码字序列/int s7;int i,j,k;/顺序输入待编码4位信息序列lable:请输入4位待编码消息序列:for(i=0;iui;/判断是否输入正确数据if(u0=0|u0=1)&(u1=0|u1=1)&(u2=0|u2=1)&(u3=0|u3=1)cout您所输入的待编码消息序列为:for(i=0;coutelse 输入错误!请输入正确的二进制4位0,1信息序列!goto lable;cout/输出生成矩阵cout (7,4)汉明码的生成矩阵G为: for(j=0;cout gijcout endl;/码字的系统结构分为冗余校验部分和消息部分,结构形式:v(x)=v0,v1,v2,v3,v4,v5,v6/编码序列中v3,v4,v5,v6均为所提供的消息序列,对于(7,4)汉明码:/ v0=v3v5v6;/ v1=v3v4v5;/ v2=v4v5v6; 等待编码中 编码成功!编码后的码字序列为:/顺序输入7位待译码有效码字序列loop: int a,result=0; cout请输入7位待译码有效的消息序列:vi;i+

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1