在过去的一个月里,我一直在追逐 DFT/FFT 兔子。一路上,我一直在粘贴其他兔子的名字以供以后追逐:自相关,相位声码器,抛物线近似,小波变换
这是我的问题。使用 FFT 时,总是会丢失较低的频率。我实际上发现了这里描述的相同问题: FFT/IFFT 问题
坦率地说,情况比这更糟。这些频率的能量根本没有丢失。它们被溶解到前几个 bin 中,使这些 bin 对插值半无用。
现在,我只想要低频的一般近似值,包括幅度和相位。在 FFT 术语中,我想要 bin #0.05、0.10、0.15、0.20、0.25 ......最多可以说 bin 3.50 左右。实际上,我知道任何很小的东西,比如 0.05,几乎都相当于线性回归。但在我看来,0.5 或 0.75 应该是可行的。
我什至玩弄了将 k 更改为双倍(“咳嗽”“有趣”): 关闭频率分量的最佳窗口
当摩西从山上下来时,他没有携带石板,上面命令在公式中:F = k*(df) = k*sample_rate/N,k 必须是整数。
不管怎样,我已经决定是时候尝试别的了。那么,接下来我应该追什么兔子呢?(即使是近似值)
PS:推荐更大的样本不是答案 - 我已经在抽样我的可用限制。
编辑添加图片(希望有一个可能的新答案):
测试用例(我想要一个蓝色的近似值,即使很糟糕):
矩形(当然,糟糕的绿色和一般的红色):
Gaussian 3.0(只有红色可以插值,但还不错):
较小的高斯给出了糟糕的绿色插值和不错的红色。
编辑回答一般问题(对不起,我一开始没有这样做):
图中数据的数学描述是什么?我猜正弦曲线的总和(有噪音)。
采样率是多少?我所有的样本都采用不同的速率,例如,使用了每个完整的文件大小。测量值不是赫兹/周期/周期,而是反序列化数据单元。大多数情况下,我使用 8 字节双精度,但有时使用 4 字节整数。因此,对于双打,你可以说我的 Fs = fileBytes/8
您可以捕获多少个样本?每个文件一个。
应用程序是什么?我不知道——这是给客户的。