差错控制编码解决加性噪声 第10页

差错控制编码解决加性噪声 第10页

附录一  .m程序

程序一. 无噪声,无编码

infor=randsrc(1,100,[0,1]);    %产生信息infor(序列)

for n=1:100  %infor改为波形singl

    for m=1:10

        i=(n-1)*10+m;

        singl(i)=infor(n);

    end

end需要全部代码的请联系QQ3249114,转帖请注明出处www.751com.cn

subplot(2,1,1);plot(0:0.01:9.99,singl),title('输入信号')   %画出singl的波形

axis([0 1 -1 2]);

for n=1:100  %singl进行采样,判决(门限为0.5

    for m=1:10

        i=(n-1)*10+m;

        result(n)=singl(i);

        if result(n)>0.5

            result(n)=1;

        else result(n)=0

        end

    end

end

for n=1:100%将判决结果result(序列)改为波形out

    for m=1:10

        i=(n-1)*10+m;

        out(i)=result(n);

    end

end

subplot(2,1,2);plot(0:0.01:9.99,out),title('输出信号'),xlabel('时间') %画出的out波形

axis([0 1 -1 2]);

error=infor-result;  %计算误码率

error=abs(error);

errorrate=sum(error)/100

 

程序二. 无噪声,有编码

   infor=randsrc(1,100,[0,1]);    %产生信息infor(序列)

for n=1:100  %infor改为波形singl

    for m=1:10

        i=(n-1)*10+m;

        singl(i)=infor(n);

    end

end

subplot(3,1,1);plot(0:0.01:9.99,singl),title('输入信号')   %画出singl的波形

axis([0 1 -1 2]);

x=encode(infor,7,4,'hamming');x=x' %infor进行“74汉明”编码

for n=1:175  %将编码结果x(序列)改为波形codesingl

    for m=1:10

        i=(n-1)*10+m;

        codesingl(i)=x(n);

    end

end

subplot(3,1,2);plot(0:0.01:17.49,codesingl),title('汉明码波形') %画出codesingl的波形

for n=1:175    %codesingl进行采样,判决(门限为0.5

    for m=1:10

        i=(n-1)*10+m;

        result(n)=codesingl(i);

        if result(n)>0.5

            result(n)=1;

        else result(n)=0

        end

    end

end

y=decode(result,7,4,'hamming');y=y'   %将判决结果result(序列)进行解码

for n=1:100  %将解码结果y(序列)改为波形out

    for m=1:10

        i=(n-1)*10+m;

        out(i)=y(n);

    end

end

subplot(3,1,3);plot(0:0.01:9.99,out),title('输出信号'),xlabel('时间') %画出的out波形

axis([0 1 -1 2]);

error=infor-y;  %计算误码率

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有