C#值与MATLAB值不同

时间:2016-05-06 11:15:14

标签: c# matlab audio fft audio-processing

我正在开发一个包含音频文件的项目。我读了一个文件并解析它。我将我的解析值与其他来源进行比较,一切似乎都很好。 (仅供参考:wav文件,每个样本16位,44.100 Hz和7211个采样点。)

由于我的每个数据点都是用16位定义的,所以我希望我的值范围为[-65536,+ 65536]。我得到的最低值是-4765,最高值是5190。

但是当我在MATLAB中执行相同的操作时,我分别得到-0.07270813和0.079193115。这不是一个大问题,因为似乎MATLAB似乎在范围[-1,+ 1]范围内规范化我的值。当我画情节时,我会得到相同的数字。

但是当我从两个应用程序(我使用的是Lomont FFT)中获取FFT时,结果差异很大,我不确定我的代码有什么问题。 Lomont似乎很好,但结果不一致。

这种差异是正常的,还是应该使用其他算法进行此特定操作。任何人都可以建议在C#中使用更好的FFT算法(我已经尝试过NAudio,Exocortex等)来获得与MATLAB兼容的结果。 (我想他们的结果是正确的。)或者对这种差异的任何建议或建议?

我的情节: My plot

MATLAB图: MATLAB plot

0 个答案:

没有答案
相关问题