自相关 - 循环与非循环

信息处理 傅里叶变换 自相关
2022-02-13 21:33:11

在信号分析(尤其是频率分解)方面,使用循环自相关(AC)而不是非循环/线性 AC 会不会不好?

我的用例:
我试图通过周期性/频率来表征传感器流中的事件。目前,我正在使用 DFT 频谱(频谱密度)和滑动窗口的 AC。
一方面,通过 FFT 计算循环 AC 在算法上比非循环(用零填充并执行双倍长度 FFT)更便宜。然而,对于前 N/2 滞后,循环 AC 看起来类似于(尽管不等于)非循环并且是自对称的 - 因此最多可以包含非循环 AC 的一半信息。

我的动机:
如果循环 AC 足以进行检测,那将意味着与线性 AC 相比具有更好的性能(在内存使用和计算时间方面)。然后我还可以就地计算 AC(更好的并行化潜力)。

改写的问题:
有什么规则不应该使用循环交流电?
或者,是否存在已知情况,循环交流电实际上可能优于线性交流电?

提前致谢 :-)

1个回答

如果循环自相关输出具有应用程序所需的属性(例如,它的峰均比足够高,可以找出峰值),那么用循环相关代替线性相关可能是可以的。例如,考虑一个长度为 7 的最大长度序列: 周期性和非周期性自相关函数如下图所示。

{+1,1,1,+1,+1,+1,1}
长度为 7 的最大长度二进制序列的循环和非循环自相关函数的比较

请注意,两个函数的峰值均为 7。非周期性自相关函数的最大非峰值幅度为 3,而周期性自相关函数的最大非峰值幅度为 1。峰与非峰值幅度比周期性与非周期性分别这意味着周期性自相关函数的峰值基本上是三倍,使其更容易检测。如果您的应用不需要额外的峰-离峰幅度比,则可以改用线性相关进行相关。77/3

相反,如果您有一些非循环自相关属性是最佳的(例如 Barker 码),并且您想计算该非循环相关但不想使用计算效率低下的直接卷积形式,则有一些算法可以计算使用 FFT 的计算节省的非周期性自相关。我知道的其中两个方法称为重叠添加重叠保存方法。他们一次处理输入数据块,并使用数据块的 FFT 和变换域中的乘法,计算数据与给定序列的非循环相关/卷积。