【发布时间】:2019-03-18 01:33:31
【问题描述】:
我已使用 Java 将波形文件中的数据读入一个短数组,因为波形数据存储为 16 位二进制补码数字。
我正在使用 fftw 从波形数据中提取频率信息,但它只接受双精度数组。
所以我认为我需要在将负数存储到双精度数组之前将它们添加到 32768 并在将它们存储到双精度数组后将它们添加到正数中添加 32768。这对我来说似乎需要很多cpu功率。
这是为 fftw 保存波形数据的正确方法吗?有没有更好的方法可以在保留波形数据的同时将短裤转换为双打?
【问题讨论】:
-
你考虑过
(double) Short.toUnsignedInt(yourShortHere);吗? -
那行得通。谢谢!
标签: java casting double fftw short