首页 > 解决方案 > 使用 JTransforms 的 FFT:是基数 2 吗?

问题描述

我在 java 中使用来自 JTransforms 的 DoubleFFT_1D.realForward() 来处理样本。

有谁知道这个方法的输入 double[] a 的长度是否必须是 2 的幂?在 JTranforms 文档中找不到答案(可能错过了,或者我理解不正确)

我尝试使用具有随机数量条目的样本并且它有效,但我只是意识到它是否正确执行并希望确保该方法确实是为任意数量的条目设计的。

谢谢

标签: javafft

解决方案


查看 的测试代码DoubleFFT_1D::realForward(),它还将接受长度不是 2 的幂的输入数组:

final double[] actual = new double[2 * n];
final double[] expected = new double[2 * n];
// ...
if (!CommonUtils.isPowerOf2(n)) {
// ...

推荐阅读