📄 hamm_enc.m
字号:
function [out]=hamm_enc(in)
in=input('in=')
n=length(in); %n用于求解输入的长度
% the length of n is the 4*m where m is integer
% (7,4)汉明
out=[]; %输入首先是空向量
if mod(n,4)~=0 %判断输入的向量个数是否是4的整倍
%如果不是则在输入末端添0,使得输入长度为4的整数倍
n=n+4-mod(n,4)
in=[in zeros(1,4-mod(n,4))];
end
for i=1:n/4
a=in((i-1)*4+1:i*4); %4个一组的取出输入数据
for j=1:4
b=mod(sum(a(1:3)),2);
c=mod(sum(a(2:4)),2);
d=mod(a(1)+a(2)+a(4),2);
end %根据生成矩阵来确定输出的校验位
% 其中生成矩阵G为
% 1 0 0 0 1 0 1
% 0 1 0 0 1 1 1
% 0 0 1 0 1 1 0
% 0 0 0 1 0 1 1
out=[out a,b,c,d];
% 最后输出为输入a和校验位b,c,d
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -