matlab中给信号添加高斯白噪声
时间: 2023-07-28 21:06:22 浏览: 60
在MATLAB中,可以使用`awgn`函数为信号添加高斯白噪声。以下是一个示例:
```matlab
% 生成信号
t = 0:0.001:1;
x = sin(2*pi*50*t);
% 添加高斯白噪声
SNR = 10; % 信噪比
y = awgn(x, SNR, 'measured');
% 绘制信号和添加噪声后的信号
plot(t, x, 'b', t, y, 'r');
legend('原始信号', '添加噪声后的信号');
```
在上面的示例中,`awgn`函数的第一个参数是原始信号,第二个参数是信噪比(单位为dB),第三个参数是噪声的功率谱密度的计算方法。`'measured'`表示使用实际测量的信号功率作为噪声功率。在上面的示例中,信号的频率为50Hz,信噪比为10dB。绘制的图形中,蓝色线表示原始信号,红色线表示添加噪声后的信号。
相关问题
matlab中给信号加高斯白噪声
在 Matlab 中,您可以使用 `awgn` 函数为信号添加高斯白噪声。该函数的语法如下:
```matlab
noisy_signal = awgn(signal, snr, 'measured');
```
其中,`signal` 是原始信号,`snr` 是信噪比(Signal-to-Noise Ratio),`noisy_signal` 是添加噪声后的信号。
例如,如果您想要将信噪比设置为20 dB,可以使用以下代码:
```matlab
signal = randn(1, 1000); % 生成长度为1000的随机信号
snr = 20; % 设置信噪比(dB)
noisy_signal = awgn(signal, snr, 'measured'); % 添加高斯白噪声
```
这将生成一个长度为1000的随机信号,将信噪比设置为20 dB,并将高斯白噪声添加到信号中。最终的带噪声信号将保存在 `noisy_signal` 中。
matlab中给音频加高斯白噪声
您可以使用 `awgn` 函数在 Matlab 中给音频信号添加高斯白噪声。该函数的语法如下:
```matlab
noisy_audio = awgn(audio, snr, 'measured');
```
其中,`audio` 是原始音频信号,`snr` 是信噪比(Signal-to-Noise Ratio),`noisy_audio` 是添加噪声后的音频信号。
例如,如果您想要将信噪比设置为20 dB,可以使用以下代码:
```matlab
audio = audioread('example.wav'); % 读取音频文件
snr = 20; % 设置信噪比(dB)
noisy_audio = awgn(audio, snr, 'measured'); % 添加高斯白噪声
```
这将从文件 `example.wav` 读取音频信号,将信噪比设置为20 dB,并将高斯白噪声添加到音频信号中。最终的带噪声音频信号将保存在 `noisy_audio` 中。