p
我对信号源进行了一系列测量,该信号源以秒的未知间隔时间发出周期性信号。检测信号并不容易,所以我在数据中遗漏了很多信号。数据也很嘈杂,因此每个信号的数据误差高达 +/- 10%。
示例测量x
可能如下所示:
72.3, 185.1, 364.2, 570.2, 679.2, 1060.7
我正在寻找的结果是隐藏在测量值中的周期,p = ~100
在本例中可能是最佳偏移量c = ~70
。
通常,我要分析的系列中有 4-7 个测量值,因此分析答案似乎比声音分析 (FFT) 更合适。
我考虑过的想法:
- 非线性优化,我们优化
x = n * p + c
. Levenberg-Marquart 应该能做到这一点。 - 建立连续测量之间差异的直方图并选择最满箱的平均值。
- 浮点 GCD https://stackoverflow.com/questions/445113/approximate-greatest-common-divisor
但我非常不确定我是否可能错过了声音分析阵营的明显解决方案(自相关、谐波频谱积、DFT,例如https://stackoverflow.com/questions/4716620/algorithm-to-determine-fundamental-frequency-来自潜在谐波)。
所以我转向 SO 的智慧。你将如何最优雅地解决这个问题?库建议很好(C++)。