图2 程序的编码过程
3.当输入“2”时,显示“请输入接收码组B:”。然后从提示符后输入:[1 1 0 1 0 0 1;0 1 0 1 1 1 0],回车后显示如下:
图3 程序的译码
4. 当你输入“0”时,系统应该正常退出运行程序,运行结果如下:
图4 系统正常输入退出
4.2 结果分析
1.输出编码结果及输入正确接收码的译码结果分析
由图1可以看出编码的结果的八种情况和在推导过程中运算的结果是一致的,所以我们可以知道程序的编码过程是正确的。对于译码过程而言,当界面显示“请输入接收码组B:” ,然后从提示符后输入:[0 0 0 0 0 0],由于输入的接收码组与编码后的码字一致,它提取了每个码组的前四位,即信息位,由结果看出译码过程是正确的,并没有出现错译的情况,可见程序的译码片段是正确的。 2.输入一位错误时的结果分析
由图1可以看出,当界面显示“请输入接收码组B:” 。然后从提示符后输入:[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1]由图2 有一位错误输入时的显示图所知,接收码组的第五位发生了错误,经程序纠检错误后改正了接收序列的错误,并且正确译出了信息位。可见程序的纠错功能也是可以实现的,以上结果进一步证实了,系统译码程序的正确性。 3.输入两位特定位错误时的结果分析
由图3 有两位特定位错误输入时的显示图知,当输入B=[1 1 0 1 0 0 1;0 1 0 1 1 1 0]时,校正子是111,错误图样是100100,所以说明理论得以验证。
Matlab 程序如下:
function bianyiqi % -------$$$$$------- % Define variables:
% H 监督矩阵 % G 生成矩阵 % C 编码矩阵 % I 输入信息序列 % R 信道输出码 Q=input(...
'您好!欢迎使用线性分组码编译器:\\n 请选择编译器种类:\\n 1:编码器 2:译码器 0:退出>>'); while(Q)
%信道编码程序 if(Q==1) clear all close all
H=[1 1 1 0 1 0 0; 1 0 1 1 0 1 0;
1 1 0 1 0 0 1]; %监督矩阵
G=gen2par(H); %求H阵的生成矩阵G I=input('请输入n*4的信息码组:'); C=rem(I*G,2);
disp('编码结果为:C='); disp(C); elseif(Q==2) %信道译码程序 clear all; close all;
H=[1 1 1 0 1 0 0; 1 0 1 1 0 1 0;
1 1 0 1 0 0 1]; %监督矩阵 B=input('请输入接收码组B:'); [a,b]=size(B);
E=[0 0 0 0 0 0 0;0 0 0 0 0 0 1; 0 0 0 0 0 1 0;0 0 0 0 1 0 0; 0 0 0 1 0 0 0;0 0 1 0 0 0 0; 0 1 0 0 0 0 0;1 0 0 0 0 0 0];
S=rem(B*H',2); %求校验子 i=1; for i=1:1:a
M(i,1)=S(i,1).*4+S(i,2).*2+S(i,3); %求校验子所表示的整数 end for i=1:1:a
switch(M(i,1))
% A 纠错输出码序列 % E 错码矩阵 % S 校验子矩阵
% M 校验子的行的十进制序列 % =======================
case 0
A(i,:)=B(i,:)+E(1,:); case 1
A(i,:)=B(i,:)+E(2,:); case 2
A(i,:)=B(i,:)+E(3,:); case 4
A(i,:)=B(i,:)+E(4,:); case 3
A(i,:)=B(i,:)+E(5,:); case 6
A(i,:)=B(i,:)+E(6,:); case 5
A(i,:)=B(i,:)+E(7,:); case 7
A(i,:)=B(i,:)+E(8,:); otherwise '不可能出现' end end
A=rem(A,2); %求出正确的编码 disp('检纠错后的码组A='); disp(A); j=1;
while j<=4 %提取信息位 I(:,j)=A(:,j); j=j+1; end
disp('译出的信息序列I=');
disp(I); %显示原信息码 else
'对不起,您输入有误!' end
Q=input('接下来您想:\\n 1:用编码器 2:用译码器 0:退出>>'); end
disp(' 谢谢您的使用,再见!!!');
相关推荐: