汉明码编译码程序说明.doc

汉明码编译码程序说明.doc

ID:55760986

大小:314.50 KB

页数:12页

时间:2020-06-06

汉明码编译码程序说明.doc_第1页
汉明码编译码程序说明.doc_第2页
汉明码编译码程序说明.doc_第3页
汉明码编译码程序说明.doc_第4页
汉明码编译码程序说明.doc_第5页
资源描述:

《汉明码编译码程序说明.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、(7,4)汉明码编译码原理程序说明书1、线性分组码假设信源输出为一系列二进制数字0和1.在分组码中,这些二进制信息序列分成固定长度的消息分组(messageblocks)。每个消息分组记为u,由k个信息位组成。因此共有种不同的消息。编码器按照一定的规则将输入的消息u转换为二进制n维向量v,这里n>k。此n维向量v就叫做消息u的码字(codeword)或码向量(codevector)。因此,对应于种不同的消息,也有种码字。这个码字的集合就叫一个分组码(blockcode)。一个长度为n,有个码字的分组码,当且仅当其个码字构成域GF(2)上所有n维向量空间的一个k维子空间时被称为线性

2、(linear)(n,k)码。对于线性分组码,希望它具有相应的系统结构(systematicstructure),其码字可分为消息部分和冗余校验部分两个部分。消息部分由k个未经改变的原始信息位构成,冗余校验部分则是n-k个奇偶校验位(parity-check)位,这些位是信息位的线性和(linearsums)。具有这样的结构的线性分组码被称为线性系统分组码(linearsystematicblockcode)。本实验以(7,4)汉明码的编译码来具体说明线性系统分组码的特性。其主要参数如下:码长:信息位:校验位:,且最小距离:由于一个(n,k)的线性码C是所有二进制n维向量组成的向

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

4、1)()(0110)()(0111)()(1110)()(1111)()2、用C++编写(7,4)汉明码编译码程序的思路如下:(1)编码程序循环输入待编码消息序列,首先判断输入是否符合输入条件:输入必须是4位0,1序列,共有种情况。编码程序如下:(本人水平有限,使用直接赋值的方法,望见笑)for(j=0;j<7;j++){if(j==3)v[j]=u[0];if(j==4)v[j]=u[1];if(j==5)v[j]=u[2];if(j==6)v[j]=u[3];if(j==0)v[j]=((u[0]^u[2])^u[3]);//异或运算if(j==1)v[j]=((u[0]^u

5、[1])^u[2]);//异或运算if(j==2)v[j]=((u[1]^u[2])^u[3]);//异或运算cout<

6、r(j=0;j<3;j++){a=(v[0]*ht[0][j])^(v[1]*ht[1][j])^(v[2]*ht[2][j])^(v[3]*ht[3][j])^(v[4]*ht[4][j])^(v[5]*ht[5][j])^(v[6]*ht[6][j]);result=result+a;}if(result!=0){cout<<"输入的是无效的字码"<

7、格如下:k=4,n=7的线性分组码消息码字消息码字(0000)()(0001)()(1000)()(1001)()(0100)()(0101)()(1100)()(1101)()(0010)()(0011)()(1010)()(1011)()(0110)()(0111)()(1110)()(1111)()第二个方法编码方法便是:系统码直接取信息位译码程序如下:for(j=0;j<4;j++){if(j==0)u[j]=v[3];if(j==1)u[j]=v[4];if(j==2)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。