Python - 对电气系统中的噪声进行建模

时间:2013-11-02 22:25:49

标签: python model noise

这可能会打开一堆蠕虫或者很容易回答: 我正在Python中构建一个系统模型:如何定量添加噪声?到目前为止,我有这个(下面的代码) -

我。我是否可以通过广播来做到这一点,即使每个样本中添加了独特的噪音?

II。电信号建模的噪声应该是高斯还是均匀? (高斯我认为虽然我不确定)

import random
import numpy as np
import matplotlib.pyplot as plt

f   = 1e6
T   = 1/f
pi  = np.pi
t   = np.arange(0,20e-6,10e-9) 
# create signal and normalise  
y  = np.sin(2*pi*f*t) 
y /= max(y)

# add noise
for i in range(0, len(y)):
    noise = random.uniform(-1, 1) / 10    **#10% noise added** 
    y[i] += noise

plt.figure(1)
plt.plot(t*1e6,y,'r-')
plt.grid()
plt.show()

enter image description here

1 个答案:

答案 0 :(得分:1)

根据你产生的信号来判断它看起来像伏特与时间的关系。在这种情况下,你想要添加高斯噪声。

您可以通过利用中心极限定理生成高斯噪声。只需生成一堆随机数(分布无关紧要),将它们加在一起,存储结果。重复len(y)次,结果列表将是随机的,但高斯分布。然后将该列表添加到y信号中。但是,可能有一个预定义的例程,首先为你提供高斯噪声。

至于以更加pythonic的方式进行,我希望numpy有一个向量添加例程。