奇偶校验的Matlab实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档