如何使用 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
相比噪声较小。
我想为每个单独的时间步将高斯随机噪声添加到模型中的变量中,而不是生成噪声阵列然后将其添加到我的信号中。这样我想检查一下我系统的标准动态效果。
所以,我想在每个时间步生成一个随机噪声(即单个值)并将其添加到我的信号中(例如,添加噪声然后它计算下一个状态,添加噪声它计算下一个状态,等等。 ).我想通过 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
相比噪声较小。