MATLAB如何给数组添加高斯噪音
时间: 2025-03-02 10:17:00 浏览: 63
### MATLAB 中向数组添加高斯噪声
在MATLAB中,可以通过多种方法向数组添加高斯噪声。最常用的是利用内置函数`awgn()` 或者直接使用 `randn()` 函数。
#### 使用 awgn() 函数
对于希望控制信噪比(SNR)的情况,推荐使用`awg n()`函数。此函数允许指定输入数据以及期望达到的信噪比水平,并自动完成相应的噪声添加操作[^2]:
```matlab
noisyArray = awgn(originalArray, snrValue, 'measured', 'linear');
```
这里的参数解释如下:
- `originalArray`: 原始的数据矩阵或向量;
- `snrValue`: 所需的目标信噪比数值;
- `'measured'`: 表明会先测量原始数据的实际功率再决定要加多少噪声;
- `'linear'`: 指定SNR是以线性尺度给出而非分贝(dB);
#### 利用 randn() 函数手动构建
另一种方式则是通过调用`randn()` 来生成具有特定统计特性的高斯分布样本并将其叠加至目标数组上。这种方式给予使用者更多灵活性去定制化噪声特性,比如调整均值和标准偏差等属性[^1]:
```matlab
meanNoise = 0;
stdDeviation = 0.1;
gaussianNoise = meanNoise + stdDeviation .* randn(size(originalArray));
noisyData = originalArray + gaussianNoise;
```
这段代码创建了一个与原数组大小相同的零均值、给定标准差的标准正态分布随机数列作为噪声源,并简单相加以引入噪声效果[^3]。
阅读全文
相关推荐


















