我正在使用 Jtransforms java 库对给定的数据集执行分析。
数据示例如下:980,988,1160,1080,928,1068,1156,1152,1176,1264
我在 jTransforms 中使用 DoubleFFT_1D 函数。数据输出如下:10952、-152、80.052、379.936、-307.691、12.734、-224.052、427.607、-48.308、81.472
我无法解释输出。我知道输出数组中的第一个元素是 10 个输入的总和(10952)。这是我不理解的输出数组的其他元素。最终,我想在图表上绘制输入数据的功率谱密度,并找到 0 到 0.5 Hz 之间的数量。
jTransform 函数的文档指出:
(其中 a 是数据集)......................
真正的前锋
public void realForward(double[] a) 计算真实数据的一维前向 DFT,将结果留在 a 中。输出数据的物理布局如下:
如果 n 是偶数
a[2*k] = Re[k], 0 <= k < n / 2
a[2*k+1] = Im[k], 0 < k < n / 2
a[1] = Re[n/2]
如果 n 是奇数,那么
a[2*k] = Re[k], 0 <= k < (n+1)/2
a[2*k+1] = Im[k], 0 < k< (n-1)/2
a[1] = Im[(n-1)/2]
此方法仅计算实际变换的一半元素。另一半满足对称条件。如果您想要完整的真实前向变换,请使用 realForwardFull。要取回原始数据,请在此方法的输出上使用 realInverse。
参数: a - 要转换的数据 ...................................
那么输出数字是多少?这些值是什么意思?任何帮助表示赞赏。