在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
函数生成的是加入了白噪声的信号。