在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
函數生成的是加入了白噪聲的信號。