【问题标题】:How do you preserve wave data when casting from a short to a double?从短波转换为双波时如何保存波数据?
【发布时间】:2019-03-18 01:33:31
【问题描述】:

我已使用 Java 将波形文件中的数据读入一个短数组,因为波形数据存储为 16 位二进制补码数字。

我正在使用 fftw 从波形数据中提取频率信息,但它只接受双精度数组。

所以我认为我需要在将负数存储到双精度数组之前将它们添加到 32768 并在将它们存储到双精度数组后将它们添加到正数中添加 32768。这对我来说似乎需要很多cpu功率。

这是为 fftw 保存波形数据的正确方法吗?有没有更好的方法可以在保留波形数据的同时将短裤转换为双打?

【问题讨论】:

  • 你考虑过(double) Short.toUnsignedInt(yourShortHere);吗?
  • 那行得通。谢谢!

标签: java casting double fftw short


【解决方案1】:

beundead 在 cmets 中给出了答案:

“你考虑过 (double) Short.toUnsignedInt(yourShortHere);吗?”

【讨论】:

    猜你喜欢
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多