如何使用NumPy为信号添加随机噪声?

时间:2015-02-01 13:04:05

标签: python numpy random noise

我想在模型中为每个单独的时间步长添加高斯随机噪声,而不是生成噪声数组,然后将其添加到我的信号中。通过这种方式,我想检查一下我系统的标准动态效果。

所以,我想生成每个时间步长的随机噪声(即单个值)并将其生成给我的信号(例如,添加噪声然后计算下一个状态,添加噪声计算下一个状态,等等)。我想通过NumPy在我的模型的动态部分中使用以下一组时间步骤来执行此操作:

self.x = self.x + self.a * ((d-f)/100)

self.x = self.x + np.random.normal(0, 0.5, None)`

第二行是从正态分布中抽取随机样本并将其添加到我的变量中。

0是我选择的正态分布的平均值,0.5是正态分布的标准差,第三个参数是大小。

我想知道numpy.random.normal是否是正确的方法,如果是这样,我应该使用哪个参数作为size参数?

1 个答案:

答案 0 :(得分:4)

要生成单个数字,请使用np.random.normal

的双参数形式
In [47]: np.random.normal(0, 0.5)
Out[47]: 0.6138972867165546

您可能需要缩放此数字(乘以较小的数字epsilon),因此与self.x相比,噪音较小。