分类: C/C++
2010-01-27 12:19:40
FFTW由麻省理工学院计算机科学实验室超级计算技术组开发的一套离散傅立叶变换(DFT)的计算库,开源、高效和标准C语言编写的代码使其得到了非常广泛的应用,Intel的数学库和Scilib(类似于matlab的科学计算软件)都使用FFTW做FFT计算。
FFTW是计算离散Fourier变换(DFT)的快速C程序的一个完整集合。
l 它可计算一维或多维、实和复数据以及任意规模的DFT;甚至包括正弦/余弦变换和离散哈特莱变换(DHT)。
l FFTW输入数据长度任意。
l FFTW支持任意多维数据。
l FFTW 支持 SSE, SSE2, Altivec,和 MIPS 指令集。
l FFTW还包含对共享和分布式存储系统的并行变换。
FFTW的基本结构:
FFTW不是采用固定算法计算变换,而是根据具体硬件和变换参数来调整使用不同算法,以期达到最佳效果。因此,变换被分成两个阶段。首先,FFTW 规划针对目标计算机的最快变换的计算途径,并生成一个包含此信息的数据结构。然后,对输入数据进行变换。该规划可以被多次使用。在一个典型的高性能应用 中,总是在执行相同参数条件的任务,因而,相对复杂但结果可被重复使用的初始化是值得的。另一方面,当你需要某一参数的单次变换,初始化就显得过于费时。 基于此FFTW提供基于启发式和先例的快速初始化。总的来说,FFTW的一个显著特点就是,对某一参数类型的单次变换优势不大,但对于参数相同的多次变换 具有更快的平均速度。
FFTW为了加快用户的使用集成速度,提供了三种不同层次的接口。
大部分的用户使用基本接口就可以满足需要,顶级接口需要更小心使用以避免出错,因此需要花更多的时间去理解掌握。FFTW不仅提供了数据自适应,还提供了高级用户定制功能。例如,由于代码空间不足,可以去掉用户不需要的功能代码。相反,FFTW还可以拓展数据结构。
以下是waon的一个转换的内容:
|
chinaunix网友2011-03-15 23:02:36
你好,我曾经向您请教过WAVE转MIDI的东西,您的解答非常受用,我又发现了一些问题,给您发MSN邮件了。麻烦你查收下,有空的时候回复我一下。谢谢你了,不胜感激。
chinaunix网友2010-11-20 18:02:18
您好,关于wave转MIDI方面的问题我想进一步咨询一下您可以吗?因为我毕业课题是做这方面的,看到您是行家,所以想咨询您一下。我已经加您msn了,希望能通过验证。我的msn是nieziqing@hotmail.com
chinaunix网友2010-11-20 18:01:47
您好,关于wave转MIDI方面的问题我想进一步咨询一下您可以吗?因为我毕业课题是做这方面的,看到您是行家,所以想咨询您一下。我已经加您msn了,希望能通过验证。我的msn是nieziqing@hotmail.com