hamm_enc.m

来自「汉明窗编码功能」· M 代码 · 共 27 行

M
27
字号
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 + =
减小字号Ctrl + -
显示快捷键?