matlab实现汉明码编码译码

matlab实现汉明码编码译码

ID:10736142

大小:30.50 KB

页数:3页

时间:2018-07-08

matlab实现汉明码编码译码_第1页
matlab实现汉明码编码译码_第2页
matlab实现汉明码编码译码_第3页
资源描述:

《matlab实现汉明码编码译码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MATLAB实现汉明码编码译码汉明码的编码就是如何根据信息位数k,求出纠正一个错误的监督矩阵H,然后根据H求出信息位所对应的码字。1、根据已知的信息位数k,从汉明不等式中求出校验位数m=n-k; 2、在每个码字C:(C1,C2,⋯ ,C2m -1)中,用c02 ,c12 ,cn-12作为监督位,剩下的位作为信息位; 3)用二进制数字表示2m-1 列,得到2m-1列和m行监督矩阵H; 4)用3步的H形成HCT =0,从而得出m个监督方程; 5)将已知的信息代入方程组,然后求出满足上述方程组的监督位c (i=0,1,⋯ ,m一1)。 例

2、如,用以上方法,很容易求出[7,4,3]汉明码的监督矩阵: 及编码所对应的码字为C=011001。clear    m=3;        %给定m=3的汉明码[h,g,n,k]=hammgen(m);  msg=[0 0 0 1;0 0 0 1;0 0 0 1;0 0 1 1;0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1]; code=encode(msg,n,k,'hamming/bi

3、nary')       %编码 C=mod(code*h',2)    %对伴随式除2取余数newmsg=decode(code,n,k,'hamming/binary')    %解码 d_min=min(sum((code(2:2^k,:))'))            %最小码距 运行结果:>>hangmingcode=10100011010001101000101000110100011110010110001100010111110100001110010011010100101110111000001101010111

4、01111111C=000000000000000000000000000000000000000000000000newmsg=0001000100010011001101010110011110001001101010111100110111101111d_min=3clear    m=3;        %给定m=3的汉明码[h,g,n,k]=hammgen(m);  msg=[0 0 0 1;0 0 0 1;0 0 0 1;0 0 1 1;0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 

5、0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1]; code=encode(msg,n,k,'hamming/binary')       %编码 subplot(121)plot(code)C=mod(code*h',2)    %对伴随式除2取余数newmsg=decode(code,n,k,'hamming/binary')    %解码 subplot(122)plot(newmsg)d_min=min(sum((code(2:2^k,:))'))         

6、   %最小码距 运行结果:

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

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

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