在MATLAB中,可以使用wgn函数和awgn函数生成白噪声信号。
wgn函数用于生成纯白噪声信号(即不加入任何其他信号),语法如下:y = wgn(L,1,power)
其中,L表示信号的长度,1表示信号的通道数,power表示信号的功率。
例如,生成长度为1000的纯白噪声信号,功率为0 dBW:
y = wgn(1000,1,0);
awgn函数用于生成加入了高斯白噪声的信号,语法如下:y = awgn(x,snr)
其中,x表示原始信号,snr表示信噪比(Signal-to-Noise Ratio)。
例如,生成一个正弦信号,加入信噪比为10 dB的高斯白噪声:
t = 0:0.1:10;
x = sin(t);
y = awgn(x,10);
上述代码将生成一个长度为101的带有高斯白噪声的正弦信号。
需要注意的是,wgn函数生成的是纯白噪声信号,而awgn函数生成的是加入了白噪声的信号。