(7,4)汉明码编码译码及计算最小码距——基于MATLAB编程
(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编程相关推荐
- 最大流matlab代码,计算最小费用最大流MATLAB源代码.doc
计算最小费用最大流MATLAB源代码,文件名为mp_mc.mfunction[Mm,mc,Mmr]=mp_mc(a,c)A=a; %各路径最大承载流量矩阵C=c; %各路径花费矩阵Mm=0; %初始可 ...
- 最小费用流matlab,计算最小费用最大流MATLAB源代码.doc
计算最小费用最大流MATLAB源代码,文件名为mp_mc.m function[Mm,mc,Mmr]=mp_mc(a,c) A=a; %各路径最大承载流量矩阵 C=c; %各路径花费矩阵 Mm=0; ...
- 求最小码距 (10 分)
求最小码距 (10 分) 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 题目描述 计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA ...
- 证明最小码距与纠检错图像_最小码距和检错纠错能力关系
最小码距和检错纠错能力关系 一.码距? 码距就是两个码字 C1 与 C2 之间不同的比特数.如: 1100 与 1010 的码距 为 2;1111 与 0000 的码距为 4 . 一个编码系统的码距就 ...
- 7-3 求最小码距 (10 分)
计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__ 小明知道码距,也知道最小码距的概念.码距是指 ...
- 求解n个二进制数之间的最小码距
计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__ 小明知道码距,也知道最小码距的概念.码距是指 ...
- 7-3 求最小码距(完整版) (10 分)
7-3 求最小码距(完整版) (10 分) 计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__小明 ...
- 求最小码距(完整版)
计算机组成原理老师给小明出了一道求最小码距的题目,有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__ 小明知道码距,也知道最小码距的概念.码距是指信息 ...
- matlab计算叶子的面积,基于MATLAB进行树叶面积测量实验报告
<基于MATLAB进行树叶面积测量实验报告>由会员分享,可在线阅读,更多相关<基于MATLAB进行树叶面积测量实验报告(3页珍藏版)>请在人人文库网上搜索. 1.科学计算与数据 ...
最新文章
- PouchContainer 发布 0.3.0 版本,支持 Kubernetes 拥抱 CNCF 生态
- /proc文件夹介绍
- RequireJS 主入口加载模块经常会加载失败的问题
- 字符串的转换相关方法
- 人工智能将助力智能家居产业发展
- python使用pip安装_Python | 如何用pip安装模块和包
- [置顶] Oracle 11.2.0.3.0 Active Data Guard 遇 ORA-10458、ORA-01152、ORA-01110 错误
- 手把手教你启动若依微服务项目
- ttc文件linux安装,Linux当中如何安装字体?
- 串口仪器控制(下篇)——利用虚拟串口模拟仪器
- Python简单监控键盘输入的木马实现
- 跟着示例学Ubuntu UFW防火墙设置
- 执行python manage.py migrate报错问题解决
- React-moveable的使用
- android的四种对象引用级别:强、弱、软、虚引用
- Linux培训哪家靠谱?过来人教你如何挑选培训机构
- Shell编程之概述
- 导电滑环的用途有哪些呢
- SDHC(高容量SD存储卡)
- 配置腾讯云cdn教程
热门文章
- 华硕ASUS 笔记本 改WIN7 BIOS 设置详解
- kvm介绍、kvm存储池、kvm快照和克隆、kvm虚拟机基本管理和网络管理
- 有关javabean的说法不正确的是_关于JavaBean,下列的叙述哪一项是不正确的?( )...
- 广西行政村数据shp_全国 shp 矢量数据汇总(四):全国行政区划基础矢量数据(精确到乡镇级别)...
- html图片在表格平铺,CSS----层级、背景图片,表格
- Windows 11 已修复 AMD CPU 性能问题
- xiunobbs 4 mysql_xiunobbs
- XiunoBBS ax_date 插件 日期显示不正确 修复
- 瓷片电容、钽电容、电解电容区别---电源设计中的去耦电容应用实例
- java 编码app_智慧职教mooc的APPJava编码技术(四川交通职业技术学院)答案搜题公众号...