test_uncoded.m
上传用户:hnyfjx
上传日期:2013-06-30
资源大小:2149k
文件大小:2k
源码类别:

传真(Fax)编程

开发平台:

Matlab

  1. %****************************************************************
  2. % 内容概述:未编码传输AWGN信道测试
  3. %          每帧的输入是相同的,(不是每帧都不一样,这样可以大幅降低计算量)
  4. %          在帧比特足够多的情况下,应该可以保证随机性(未理论证实)
  5. % 创 建 人:朱殿荣/QQ:235347/MSN:njzdr@msn.com
  6. % 单    位:南京邮电大学,通信工程系
  7. % 创建时间:2005年9月10日
  8. % 修改时间:
  9. % 参考文献:
  10. % 版权声明:任何人均可复制、传播、修改此文件,同时需保留原始版权信息。
  11. %****************************************************************
  12. clear;
  13. clc;
  14. snr=0:0.1:10;                            %snr的采样点
  15. EbNoLinear=10.^(snr.*0.1);
  16. num_block_size=1000000;                    %测试的块尺寸,指包含尾比特的软输入系统系列长度
  17. ber=zeros(1,length(snr));                 %初始化错误比特率
  18. random_in=2*round(rand(1,num_block_size))-1;  %随机数
  19. for nEN=1:length(snr)
  20.     errs=0;
  21.     hard_out=zeros(1,num_block_size);
  22.     %L_c=4*EbNoLinear(nEN);
  23.     sigma=1/sqrt(2*EbNoLinear(nEN));
  24.     noice=randn(1,num_block_size);    %噪声
  25.     awgn_in=random_in+sigma*noice;            %信息噪声叠加
  26.     %awgn_in=L_c*(random_in+sigma*noice);            %信息噪声叠加
  27.     %awgn_in=awgn(random_in,snr(nEN),'measured');            %信息噪声叠加
  28.     hard_out(awgn_in>0)=1;
  29.     hard_out(awgn_in<0)=-1;              %译码
  30.     
  31.     errs=length(find(hard_out(1:num_block_size)~=random_in));%当前点错误bit数
  32.     ber(1,nEN)= errs/num_block_size;%误比特率
  33.     fprintf('snr:%1.2f;误码率:%8.4e;n',...
  34.         snr(nEN),ber(1,nEN));
  35.     %save cap算法06_WYF噪声_max_log_map.mat snr ber;
  36. end
  37. semilogy(snr,ber(1,:));
  38. xlabel('SNR(dB)');
  39. ylabel('Bit Error Rate');
  40. title('未编码信息通过AWGN信道性能图');
  41. %legend('1次迭代','2次迭代','3次迭代');