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

How to add random noise to a signal using NumPy?

我想为每个单独的时间步将高斯随机噪声添加到模型中的变量中,而不是生成噪声阵列然后将其添加到我的信号中。这样我想检查一下我系统的标准动态效果。

所以,我想在每个时间步生成一个随机噪声(即单个值)并将其添加到我的信号中(例如,添加噪声然后它计算下一个状态,添加噪声它计算下一个状态,等等。 ).我想通过 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 是否是正确的方法,如果是这样,我应该为大小参数使用什么参数?

要生成单个数字,请使用 np.random.normal 的双参数形式:

In [47]: np.random.normal(0, 0.5)
Out[47]: 0.6138972867165546

您可能需要缩放此数字(将其乘以一个小数字 epsilon),因此与 self.x 相比噪声较小。