awgn_noise.asv

来自「一个在matlab环境下的DAB仿真程序源码。内含ofdm收发」· ASV 代码 · 共 20 行

ASV
20
字号
function [noise_p,w]=awgn_noise(n,snr,signal_power,channel_base_128g_201)

  %n=1;
    sn_ratio=10^((snr+3+n)/10);                               %snr为2PSK的信噪比,QPSK少3个DB,前后插零少了1.25个DB
    sigma =  sqrt (1/ ( 1 * sn_ratio) );

     
 
   % generate a uniformly distributed random number u between 0 and 1 - 1E-6*/
    u1 = rand(1,length(channel_base_128g_201))/abs(max(rand(1,length(channel_base_128g_201))));

 
 %generate a Rayleigh-distributed random number r using u */
    r =sigma*sqrt( 1* log( 1.0 ./ (1-u1 )) );
 
  u2 = rand(1,length(channel_base_128g_201))/abs(max(rand(1,length(channel_base_128g_201))));
  
 w=r .*(cos(2 * pi * u2)+j*sin(2 * pi * u2));
 noise_p=sum(abs(w).^2)/length(w);    % noise power

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?