奇偶校验的Matlab实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
奇偶校验的matlab实现代码
奇偶校验:
最常用的检错码是就校验码,他在原编码基础上增加一位奇偶校验位,使得整个编码的“码重”固定为奇数(奇校验)或偶数(偶校验)。其中“码重”即编码中“1”的个数。
奇偶校验能发现奇数个错,而在计算机中发生一个差错的概率远大于两个差错,绝大多数是出现一个差错,这就使得奇偶校验具有很高的实用性;而因为奇校验不能产生全零的代码,故常用的为“偶校验”。
奇偶校验matlab实现:
下面有两个奇偶校验的MATLAB实现代码,其功能基本一致,第一个是可以选择奇校验或偶校验,第二个则是直接分别输出奇校验和偶校验,其中源码的行列自由输入,随机生成0-1矩阵即为源码,校验码则为附加的最后一列。
%奇偶校验1的源代码
clc;clear;
m=input('请输入行:');
n=input('请输入列:');
A=randint(m,n);
A
for k=1:2
sum=zeros(1,m);
l=input('请选择奇偶校验(0、偶校验1、奇校验):');
for i=1:m
for j=1:n
sum(i)=sum(i)+A(i,j);
z=sum(i);
end
if rem(z,2)==l
A(i,n+1)=0;
else
A(i,n+1)=1;
end
end
A
end
%奇偶校验2的源代码
clc;clear;
m=input('请输入行:');
n=input('请输入列:');
A=randint(m,n);
A
for k=1:2
sum=zeros(1,m);
for i=1:m
for j=1:n
sum(i)=sum(i)+A(i,j);
z=sum(i);
end
if rem(z,2)==k-1
A(i,n+1)=0;
else
A(i,n+1)=1;
end
end
if k==1
fprintf('偶校验:')
else
fprintf('奇校验:')
end
A
end