实验七汉明码编译码实验.docVIP

  • 38
  • 0
  • 约2.1千字
  • 约 3页
  • 2020-04-15 发布于江西
  • 举报
实验七 汉明码编译码实验 【实验目的】使学生了解汉明码的编译码原理;并能够通过MATLAB实现。 【实验器材】装有MATLAB软件的计算机一台 【实验原理】 汉明码的编码就是如何根据信息位数k,求出纠正一个错误的监督矩阵H,然后根据H求出信息位所对应的码字。? 1)根据已知的信息位数k,从汉明不等式中求出校验位数m=n-k;?? 2)在每个码字C:(C1,C2,??,C2m?-1)中,用c02?,c12?,cn-12作为监督位,剩下的位作为信息位;?? 3)用二进制数字表示2m-1?列,得到2m-1列和m行监督矩阵H;? 4)用3步的H形成HCT?=0,从而得出m个监督方程;?? 5)将已知的信息代入方程组,然后求出满足上述方程组的监督位c?(i=0,1,??,m一1)。??例如,用以上方法,很容易求出[7,4,3]汉明码的监督矩阵H及编码所对应的码字。 【实验内容与步骤】 路径设置成指向comm2文件夹; 新建一个扩展名为m的文件。 输入PCM编码的代码: 参考代码: N=30000;?K=4*N;%信息长度? Q=8;%调制形式? num=zeros(20,1);%误比特数? ber=zeros(20,1);%误比特率 ?for?SNR=1:1:20?%生成矩阵? G=[? 1?0?0?0?1?1?1??? 0?1?0?0?1?1?0???? 0?0?1?0?1?0?1???? 0?0?0?1?0?1?1?];?%监督矩阵? H=[ 1?1?1?0?1?0?0???? 1?1?0?1?0?1?0???? 1?0?1?1?0?0?1];? A=zeros(7*N,1); %编码后信号 ?S=zeros(N,3); %校验子? E=zeros(7*N,1);%错误图样? I=zeros(7*N,1);%解调纠错后的矩阵? NEW=zeros(K,1);%收到的信号? a=randsrc(K,1,[0,1]);%信源? %编码? for?k=1:N? ???code=[a(4*k-3)?a(4*k-2)?a(4*k-1)?a(4*k)]*G;????? for?l=0:6? ?????? ??A(7*k-l)=mod(code(7-l),2);?????????????? end??????? end? %8PSK调制? Xa=pskmod(A,Q);? %信道传输加噪???? Xb=awgn(Xa,SNR);? %解调? ???B=pskdemod(Xb,Q);? %编码???? for?n=1:N? M=7*n-6;????? Z=4*n-3;????? T=7*n-3;????? V=4*n;????? L=7*n;? ????? ?s=B(M:L,1)*H;????????? S(n,:)=mod(s,2);?????? ?if?S(n,:)==[0?0?0]? ?????? ??E(M:L,1)=[0?0?0?0?0?0?0];?????? ?elseif?S(n,:)==[0?0?1]??????????? E(M:L,1)=[0?0?0?0?0?0?1];??????? elseif?S(n,:)==[0?1?0]??????????? E(M:L,1)=[0?0?0?0?0?1?0];??????? elseif?S(n,:)==[0?1?1]??????????? E(M:L,1)=[0?0?0?0?1?0?0];??????? elseif?S(n,:)==[1?0?0]??????????? E(M:L,1)=[0?0?0?1?0?0?0];??????? elseif?S(n,:)==[1?0?1]??????????? E(M:L,1)=[0?0?1?0?0?0?0];??????? elseif?S(n,:)==[1?1?0]??????????? E(M:L,1)=[0?1?0?0?0?0?0];??????? elseif?S(n,:)==[1?1?1]??????????? E(M:L,1)=[1?0?0?0?0?0?0];?????? end????????????????? ????P=B(M:L,1)+E(M:L,1);??????? I(M:L,1)=mod(P,2);?????? ?NEW(Z:V,1)=I(M:T,1);? end? [num(SNR,:),ber(SNR,:)]=biterr(NEW,a);? end? plot(num,b:s);?%画出误比特数? xlabel(信噪比);? ylabel(误比特数);? figure plot(ber,k-*);?%画出误比特率? xlabel(信噪比);? ylabel(误比特率); 【实验现象记录】 记录汉明码波形,并对

文档评论(0)

1亿VIP精品文档

相关文档