振动信号依据信噪比SNR添加噪声
时间: 2025-01-23 11:44:15 浏览: 67
### 添加噪声到振动信号中的方法
为了基于信噪比 (Signal-to-Noise Ratio, SNR) 向振动信号中添加噪声,可以遵循以下过程:
计算原始信号功率 \( P_s \),这可以通过求解信号样本平方的平均值得到[^1]。
定义目标信噪比 \( SNR_{dB} \),并将其转换为线性尺度上的信噪比 \( SNR = 10^{(SNR_{dB}/10)} \)[^2]。
根据所需的信噪比和已知的信号功率来决定噪声功率 \( P_n = P_s / SNR \)[^3]。
生成具有所需功率的白噪声。通常情况下,这是通过创建零均值高斯分布随机数列,并调整其标准差使得方差等于所期望的噪声功率 \( P_n \) 来完成的[^4]。
最后一步是将产生的噪声加到原始信号上形成含噪信号[^5]。
下面是 Python 中的一个简单例子展示上述流程:
```python
import numpy as np
def add_noise_to_signal(signal, snr_db):
signal_power = np.mean(np.abs(signal)**2)
# Convert dB to linear scale
snr_linear = 10 ** (snr_db / 10.0)
noise_variance = signal_power / snr_linear
# Generate Gaussian white noise with the calculated variance
noise = np.random.normal(scale=np.sqrt(noise_variance), size=signal.shape)
noisy_signal = signal + noise
return noisy_signal
```
阅读全文
相关推荐


















