📄 untitled.m
字号:
clear
n=input('请输入循环码的码长 n=');
k=input('请输入循环码的信息码长 k=');
gx=zeros(k,n);G=zeros(k,n);H=zeros(n-k,n);
g=input('请输入生成多项式的系数a,b,… 次数由高到低,如:[1 0 1] \n');
%产生生成矩阵gx
for m=1:k
gx(m,m:n-k+m)=g;
end
%典型生成矩阵G和一致校验矩阵H
h=eye(k)/gx(:,1:k);
gx=h*gx;
G=rem(abs(gx),2)
H=cat(2,(G(:,k+1:end))',eye(n-k))
%编码
fid=fopen('encode.txt');
data=fread(fid);
fclose(fid);
for m=1:length(data)
if data(m)==49
data(m)=1;
elseif data(m)==48
data(m)=0;
else disp('存在非法字符')
end
end
data=data';
if rem(length(data),k)
yushu=rem(length(data),k);
data=cat(2,data,zeros(1,k-yushu));
end
encode=zeros(1,n*length(data)/k);
for m=1:length(data)/k;
encode(1,n*(m-1)+1:n*m)=data(1,k*(m-1)+1:k*m)*G;
end
encode=rem((encode),2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -