📄 yima.m
字号:
%扩展(8,4)汉明码,实现一位纠错,两位检错 --向赛辉
clear
H = [1,1,0,1,1,0,0,0; %扩展汉明码的一致校验矩证
1,0,1,1,0,1,0,0;
0,1,1,1,0,0,1,0;
1,1,1,1,1,1,1,1];
disp('请输入信息序列');
for i = 1:8;
R(i) = input('');
end;
if(( mod((H*R'),2)) == [0,0,0,0]')
disp('码字正确!');
else
S=mod(H*R',2); %接收矢量R的伴随式的转置
E=eye(8);
for i=1:8
if S==H(:,i) % 如果等于H的某列,则某位发生错误
e=E(i,:); %错误位
W=mod(R+e,2);
disp('码字错误!');
disp('正确码字是');
disp(W);
end
end
for i=1:8
if S~=H(:,i) %因为H每列不同,若两位错误,则不等于H中任何一列
disp('码字有两位错误');
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -