2016-12-31 103 views
0

我怎样才能产生500 ms的1280 Hz采样噪声,平均频率分布在0.1 - 640 Hz和正态分布的幅度值之间?如何用平坦谱产生带限的随机噪声?

有关所需输出的说明,请参见以下屏幕截图。

Timeplot of waveform, frequency distribution, and histogram of amplitudes

+0

您是否可以确认您的帖子可以总结如下:“我怎样才能产生500 ms的1280 Hz采样噪声,平均频率分布在0.1 - 640 Hz和正态分布的幅度值之间? – Sheljohn

+0

@Sheljohn是的,这当然是一个更简洁的方式!为我的冗长道歉!我唯一要做的补充是振幅值应该正态分布在-500到+500范围内(至少如99.7%的振幅位于上述范围内)。 – Hans

+0

这是不必要的限制;任何正常分布的输出可以线性重新调整到任何所需的范围。我可以编辑您的文章以使其更加简洁,但是您是否愿意这样做? – Sheljohn

回答

0

你的问题的参数做出答案简单:

  • 640赫兹是1280赫兹的正好一半,所以这是在傅立叶分解的最高频率(奈奎斯特);
  • 0.1 Hz低于1/500ms = 2Hz,这是傅里叶分解的频率分辨率,因此可以控制的最低正频率。

所以你的情况,在“带限”约束是微不足道的,你可以简单地产生具有所需的噪音:

duration = 500e-3; 
rate  = 1280; 
amplitude = 500; 

npoints = duration * rate; 
noise  = amplitude * randn(1, npoints); % normally distributed white noise 
time  = (0:npoints-1)/rate; 

然而,更一般地,在一个特定的频段产生噪音限制频谱形状(例如平坦)和价值统计(例如正态分布)可能是困难的。有两种简单的近似我能想到的:

  • 在时域中工作,首先通过使用带通FIR滤波器从所选择的分布图,然后过滤所得到的信号执行上值统计约束例如。对于这个近似值,请注意过滤器也会影响值的分布,所以一般来说,对值统计值的约束条件很难满足,除非您非常仔细地设计过滤器。
  • 从傅里叶域反向工作,首先对幅度系数强制约束,对相位采用随机噪声,并使用逆变换返回到时域。对于这种近似,请注意,根据幅度限制,相位分布将以非平凡方式影响数值的时间分布,并且如果您的采样率远大于频率截止点,则可能需要对谐波施加约束幅度以避免人为因素。