频率为随机变量的正弦曲线 - FFT 脉冲是啥样的?
Posted
技术标签:
【中文标题】频率为随机变量的正弦曲线 - FFT 脉冲是啥样的?【英文标题】:Sinusoids with frequencies that are random variales - What does the FFT impulse look like?频率为随机变量的正弦曲线 - FFT 脉冲是什么样的? 【发布时间】:2016-04-16 15:59:03 【问题描述】:我目前正在使用 C++ 编写一个程序,在该程序中我正在计算 wav 文件的时变 FFT。我有一个关于绘制 FFT 的结果的问题。
例如,我有一个 70 Hz 的信号,它是由某些具有某些谐波的仪器产生的。尽管我说这个信号是 70 Hz,但它是一个真实的信号,我假设 70 Hz 信号会有一些随机性变化。假设我以 20kHz 的采样率对其采样 1 秒。我意识到采样周期可能不需要 1 秒,但请耐心等待。
因为我现在有 20000 个样本,所以当我计算 FFT 时。我将有 20000 或 (19999) 个频率箱。我们还假设我的采样率与一些窗口技术相结合可以最大限度地减少频谱泄漏。
那么我的问题是:FFT 是否仍会在 70Hz 时产生相对理想的脉冲?还是会因为原始信号的随机性而“出现”频谱泄漏?换句话说,频率为随机变量的正弦曲线的 FFT 是什么样的?
【问题讨论】:
您需要使用窗函数,基峰周围的裙边形状将取决于您选择的窗函数。 您能否扩展您的问题,w
会随时间变化吗?我的意思是,您的模型是sin(w * t)
,其中w
是您的随机变量的恒定实现?或者你的型号是sin(w*t + phi(t))
?
【参考方案1】:
一些更常见的调制方案会添加边带,以便在调制中携带信息。根据与 FFT 长度相关的调制量和类型,边带可以与 FFT 峰值分开出现,或者只是“增厚”单个峰值。
【讨论】:
事实上,所有调制方案都会增加带宽,这是傅里叶变换 (en.wikipedia.org/wiki/Fourier_transform#Uncertainty_principle) 的不确定性原理的结果,它表明傅里叶对宽度的乘积基本上是有限。【参考方案2】:您的范围会显得更广,这在现实世界中会发生。例如,查看 Voight 曲线,它是 Lorentizan(理想指数衰减的结果)与一定宽度的高斯卷积,宽度由随机波动决定,例如多普勒效应对由窄带激光探测的气体中的分子产生影响。
无论哪种方式,您都不会获得“理想”的频率峰值。 FFT 分辨率的限制是一个频率区间(频率分辨率由时间向量长度的倒数给出),但即使是这样(正如@xvan 指出的那样),窗口函数通常也会扩大。如果您的窗口不存在,即它实际上是时间向量长度的方形窗口,那么您将获得与 sinc 函数卷积的频谱峰值,从而变宽。
对此进行可视化的最佳方法是制作一个长矢量并绘制一个具有足够分辨率的频谱图(通常显示为音频信号),以便您可以看到各个变化。整个信号的 FFT 是移动峰在频谱图垂直轴上的投影。给定时间向量的 FFT 没有任何时间分辨率,而是汇总了 FFT 期间发生的所有频率。因此,频谱图(通常人们简单地使用 STFT,短时傅立叶变换)在任何给定时间都具有“完整”分辨率,即您期望的窄线形。全时向量的 FFT 显示了所有线形的代数和,因此看起来很宽。
总结起来有两个不同的效果: a)从窗口函数扩展(正如评论者 1 和 2 指出的那样) b) 扩大您试图模拟的频率波动的影响,并且这种影响发生在现实生活中(例如,您在接收无线电信号时坐在秋千上)。
最后,请注意@xvan 评论的意义:phi= phi(t)
。如果相位角是时间相关的,那么它的导数不为零。 dphi/dt
是一个频移,所以你的瞬时频率变成了f0 + dphi/dt
。
【讨论】:
以上是关于频率为随机变量的正弦曲线 - FFT 脉冲是啥样的?的主要内容,如果未能解决你的问题,请参考以下文章
风险偏好者的效用无差异曲线图是啥样的?遵守无差异曲线的基本特点吗?比如凸向原点,向下倾斜吗?
type = (int) (((Math.random())*(new Date().getTime())*10)%4) 这句话是啥意思,产生啥样的结果?