awgn_noise.m
来自「一个在matlab环境下的DAB仿真程序源码。内含ofdm收发」· M 代码 · 共 20 行
M
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 + -
显示快捷键?