在matlab中添加高斯噪声
时间: 2024-10-14 09:08:36 浏览: 71
在MATLAB中,你可以使用`awgn`函数来向数据添加高斯白噪声,模拟实际信号中的随机干扰。这个函数的基本语法如下:
```matlab
noisy_data = awgn(signal, snr, 'measured');
```
- `signal`: 需要添加噪声的原始信号。
- `snr`: 指的是信噪比(Signal-to-Noise Ratio),单位通常是分贝(dB)。正值表示信号优于噪声,负值则表示噪声大于信号。
- `'measured'` 或 `'dB'` 是指定SNR的方式,如果是`'measured'`,MATLAB会直接基于输入信号计算SNR;如果是`'dB'`,则snr需要是一个实数。
下面是一个简单的例子:
```matlab
% 创建一个示例信号
original_signal = randn(1000, 1); % 假设这是一个1000样本的随机序列
% 添加特定SNR的高斯噪声
noise_level = -5; % 设定为5dB的信噪比
noisy_signal = awgn(original_signal, noise_level, 'dB');
% 现在 noisy_signal 就包含了原始信号加上了噪声
```
阅读全文