(7,4)汉明码编码译码及计算最小码距——基于MATLAB编程

编码

A=[1 1 1 0; 0 1 1 1; 1 1 0 1] %A 可随便写四个不为0的列向量,是为了生成一致校验矩阵
H=[A eye(3)] %校验矩阵
G=[eye(4) A’] % 生成矩阵
K=[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1; 0 1 0 0;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] %信息位矩阵
C=mod(K*G,2) % 将信息位矩阵与生成矩阵相乘可得码书 mod为取余运算,使得计算结果只有0和1

译码

此处约定为已接收到的码字为R,R可任意更改,当R与码书中的码字只相差1位,即产生了一位错误时,以下程序可对R进行检错,并纠正一位错误 (程序承接上文编码程序)
error=0
c=0 % c用作记录接受到的R 错误的位置
R=[1 1 0 1 0 1 1] %接收到的码字 可任意设置 也可设为一输入
s=mod(H*R’,2) % 伴随矩阵
if s==[0 0 0]
disp(‘未产生错误’)
else

for i=1:7
if s==H(:,i) % 将产生的伴随矩阵和H的每一列进行比较,看S和H的第几列相等,得到此列数,赋予error
error=i;
break;
end

end
if error==0
disp(‘无法纠错’)
else
c=error %错误位置
a=R(error)
R(error)=mod(a+1,2) % 将错误位置的符号纠正,即0纠正为1,1纠正为0
end
end

计算最小码距

d=7 %最小码距初始化
for i=1:16
if C(i,:)==[0 0 0 0 0 0 0]; % C矩阵为码书 排除码书中的全零码字
else
if d>(C(i,:)[1 1 1 1 1 1 1]’) %此运算得到每个码字中1的个数
d=(C(i,:)
[1 1 1 1 1 1 1]’) %通过不断的比较,使得d为最小码距
end
end
end
最终输出d即为最小码距

参考文献: 清华大学出版社 《信息论与编码》 冯桂 周林 著
具体原理可在书中相关章节找到

(7,4)汉明码编码译码及计算最小码距——基于MATLAB编程相关推荐

  1. 最大流matlab代码,计算最小费用最大流MATLAB源代码.doc

    计算最小费用最大流MATLAB源代码,文件名为mp_mc.mfunction[Mm,mc,Mmr]=mp_mc(a,c)A=a; %各路径最大承载流量矩阵C=c; %各路径花费矩阵Mm=0; %初始可 ...

  2. 最小费用流matlab,计算最小费用最大流MATLAB源代码.doc

    计算最小费用最大流MATLAB源代码,文件名为mp_mc.m function[Mm,mc,Mmr]=mp_mc(a,c) A=a; %各路径最大承载流量矩阵 C=c; %各路径花费矩阵 Mm=0; ...

  3. 求最小码距 (10 分)

    求最小码距 (10 分) 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 题目描述 计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA ...

  4. 证明最小码距与纠检错图像_最小码距和检错纠错能力关系

    最小码距和检错纠错能力关系 一.码距? 码距就是两个码字 C1 与 C2 之间不同的比特数.如: 1100 与 1010 的码距 为 2;1111 与 0000 的码距为 4 . 一个编码系统的码距就 ...

  5. 7-3 求最小码距 (10 分)

    计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__ 小明知道码距,也知道最小码距的概念.码距是指 ...

  6. 求解n个二进制数之间的最小码距

    计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__ 小明知道码距,也知道最小码距的概念.码距是指 ...

  7. 7-3 求最小码距(完整版) (10 分)

    7-3 求最小码距(完整版) (10 分) 计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__小明 ...

  8. 求最小码距(完整版)

    计算机组成原理老师给小明出了一道求最小码距的题目,有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__ 小明知道码距,也知道最小码距的概念.码距是指信息 ...

  9. matlab计算叶子的面积,基于MATLAB进行树叶面积测量实验报告

    <基于MATLAB进行树叶面积测量实验报告>由会员分享,可在线阅读,更多相关<基于MATLAB进行树叶面积测量实验报告(3页珍藏版)>请在人人文库网上搜索. 1.科学计算与数据 ...

最新文章

  1. PouchContainer 发布 0.3.0 版本,支持 Kubernetes 拥抱 CNCF 生态
  2. /proc文件夹介绍
  3. RequireJS 主入口加载模块经常会加载失败的问题
  4. 字符串的转换相关方法
  5. 人工智能将助力智能家居产业发展
  6. python使用pip安装_Python | 如何用pip安装模块和包
  7. [置顶] Oracle 11.2.0.3.0 Active Data Guard 遇 ORA-10458、ORA-01152、ORA-01110 错误
  8. 手把手教你启动若依微服务项目
  9. ttc文件linux安装,Linux当中如何安装字体?
  10. 串口仪器控制(下篇)——利用虚拟串口模拟仪器
  11. Python简单监控键盘输入的木马实现
  12. 跟着示例学Ubuntu UFW防火墙设置
  13. 执行python manage.py migrate报错问题解决
  14. React-moveable的使用
  15. android的四种对象引用级别:强、弱、软、虚引用
  16. Linux培训哪家靠谱?过来人教你如何挑选培训机构
  17. Shell编程之概述
  18. 导电滑环的用途有哪些呢
  19. SDHC(高容量SD存储卡)
  20. 配置腾讯云cdn教程

热门文章

  1. 华硕ASUS 笔记本 改WIN7 BIOS 设置详解
  2. kvm介绍、kvm存储池、kvm快照和克隆、kvm虚拟机基本管理和网络管理
  3. 有关javabean的说法不正确的是_关于JavaBean,下列的叙述哪一项是不正确的?( )...
  4. 广西行政村数据shp_全国 shp 矢量数据汇总(四):全国行政区划基础矢量数据(精确到乡镇级别)...
  5. html图片在表格平铺,CSS----层级、背景图片,表格
  6. Windows 11 已修复 AMD CPU 性能问题
  7. xiunobbs 4 mysql_xiunobbs
  8. XiunoBBS ax_date 插件 日期显示不正确 修复
  9. 瓷片电容、钽电容、电解电容区别---电源设计中的去耦电容应用实例
  10. java 编码app_智慧职教mooc的APPJava编码技术(四川交通职业技术学院)答案搜题公众号...