如何用matlab产生标准高斯噪声 生成高斯分布的随机数就用randn();要给指定信号加噪就用awgn()。给你举一例子:t=0:.1:10;x=sawtooth(t);Create sawtooth signal.y=awgn(x,10,'measured');Add white Gaussian noise.plot(t,x,t,y)%Plot both signals.legend('Original signal','Signal with AWGN');在给你补充一下:没有任何方法可以产生真正的白噪声。你的那个冲击函数怎么也是有宽度的吧?所以求出的功率谱密度不是直线很正常。并且求功率谱的算法也决定了功率谱计算不可避免的误差。功率谱的基本估计算法是FFT,FFT求功率谱的时候本身就有很多非理想性,所以有些误差也不奇怪。
为什么matlab画出的 高斯白噪声功率谱密度不是直线 没有任何方法可以产生真正的白噪声。你的那个冲击函数怎么也是有宽度的吧?所以求出的功率谱密度不是直线很正常。并且求功率谱的算法也决定了功率谱计算不可避免的误差。功率谱的基本估计算法是FFT,FFT求功率谱的时候本身就有很多非理想性,所以有些误差也不奇怪。
怎么在matlab中仿真功率谱密度为1的高斯白噪声? 功率谱2113为1,则在一个周期内的功率为2*pi,那5261么由函数wgn产生4102高斯白噪声即可。例如:y=wgn(100,100,2*pi,‘1653linear’);产生高斯白噪声,100*100为高斯白噪声的矩阵大小,2*pi为其功率,linear表示其输出的幅度为功率形式。则 imshow(y)