Xiaojie雷达之路---MATLAB仿真---给信号添加高斯白噪声
Xiaojie雷达之路---MATLAB仿真---给信号添加高斯白噪声
本次实验主要的目的是给产生的信号添加高斯白噪声
给信号添加高斯白噪声是通过函数awgn来实现的
中的函数原型
Y=awgn(X,SNR)
Y=awgn(X,SNR,SIGPOWER)
Y=awgn(X,SNR,SIGPOWER,S)
Y=awgn(X,SNR,SIGPOWER,STATE)
Y=awgn(…,POWERTYPE)
参数说明
X是原来的信号,Y是添加高斯白噪声后的信号,SNR是信噪比,当是一个数字的时候,表示的是信号的功率,以dBW计算Xiaojie雷达之路---MATLAB仿真---给信号添加高斯白噪声,当被指定为‘’的时候,意思是要在加噪声之前对信号X进行功率的计算。S是一个随机流的句柄,可以使用RANDN生成随机噪声样本,如果S是一个整数matlab产生高斯白噪声matlab产生高斯白噪声,然后要重置RANDN的状态为整数。STATE的意思是重置RANDN的状态到STATE。是指定SNR和的单位,的可以是‘db’或’’Xiaojie雷达之路---MATLAB仿真---给信号添加高斯白噪声,如果是‘db’,则SNR的单位是dB,的单位是dBW。如果是’’,那么SNR被作为一个ratio来测量matlab产生高斯白噪声,以Watts来测量。
中的案例
Example 1:
% To specify the power of X to be 0 dBW and add noise to produce
% an SNR of 10dB, use:
X = sqrt(2)*sin(0:pi/8:6*pi);
Y = awgn(X,10,0);
Example 2:
% To specify the power of X to be 3 Watts and add noise to
% produce a linear SNR of 4, use:
X = sqrt(2)*sin(0:pi/8:6*pi);
Y = awgn(X,4,3,'linear');
Example 3:
% To cause awgn to measure the power of X and add noise to
% produce a linear SNR of 4, use:
X = sqrt(2)*sin(0:pi/8:6*pi);
Y = awgn(X,4,'measured','linear');
Example 4:
% To specify the power of X to be 0 dBW, add noise to produce
% an SNR of 10dB, and utilize a local random stream, use:
S = RandStream('mt19937ar','Seed',5489);
X = sqrt(2)*sin(0:pi/8:6*pi);
Y = awgn(X,10,0,S);
Example 5:
% To specify the power of X to be 0 dBW, add noise to produce
% an SNR of 10dB, and produce reproducible results, use:
reset(RandStream.getGlobalStream)
X = sqrt(2)*sin(0:pi/8:6*pi);
Y = awgn(X,10,0);
参考:
中命令窗口输入help awgn