我模拟了一个变量的离散样本,其自相关函数(ACF)理论上应该由类指数函数的总和组成。
我的目标是在频域中表示它,因为它是通过实验完成的。这在理论上是通过计算具有变化符号的 ACF 的时间导数的傅里叶-拉普拉斯变换来实现的。
困难在于该过程发生在一个复杂的系统中,并且不包含孤立且易于识别的指数,但希望您可以从中检测到分散的混合物主要贡献。编辑: 如果它包含那些容易识别的指数,我可以识别它们并分析性地移动到频域。由于情况并非如此,因此我尝试以数字方式进行,但结果中出现了太多噪音。
我试过的
我尝试了几种方法,但我没有信号处理方面的经验,也不知道哪种方法最可靠。其中最重要的是:
直接法:只需计算 ACF 并执行 FFT。我在 ACF 中得到了很多噪音,在转换之后甚至更多。我注意到了一些季节性。
平滑/平均:我制作了 Savitzky-Golay 滤波器的窗口版本并将其应用于 ACF,这改善了结果,但还不够。将 ACF 划分为块并对其进行平均可以显着改善。
韦尔奇方法:这返回了谱密度。我应用 IFFT 来获得比以前的方法看起来更好的 ACF。我保留前半部分(因为返回的 ACF 看起来像一个周期函数),然后将 FFT 应用于它的导数。
后一个结果看起来要好得多,但有问题: 3.1)频率表示的虚部在零频率处不趋于零(它小于其峰值,但不接近于零)。3.2)我还没有找到适合 FFT 的窗口。我见过的那些在极端情况下值很小,而 ACF 在附近有有价值的信息和更高的准确度.
- 参数方法:假设过程遵循自回归模型(AR),通过 AICc 检验估计其阶数,得到 AR 的相应系数并“解析”找到功率谱。执行 IFFT,然后执行 FFT。最终结果看起来很不错,但做了一些假设。
问题
考虑到时间表示是指数函数,我应该使用哪个窗口,在小范围内具有更精确和更有意义的信息?
计算功率谱是合理的,应用IFFT得到ACF,然后FFT得到它的前半部分的导数?如果是这样,为什么虚部在零频率时不为零?
我应该使用韦尔奇方法还是参数方法?
Botton:模拟的向量函数的分量和范数(400 000 个样本)。
上图:使用谱密度的 IFFT 计算的一维自相关函数(通过 Welch 方法获得)。
中间:在 ACF 上方填充的导数的 FFT。