我在哪里可以找到在C#中的自由,非常快速的,可靠的执行FFT的?
可在产品中使用? 还是有什么限制吗?
我在哪里可以找到在C#中的自由,非常快速的,可靠的执行FFT的?
可在产品中使用? 还是有什么限制吗?
AForge.net是变换自由(开源)库,快速傅里叶支持。 (参见源头/影像/ ComplexImage.cs供使用,源/数学/ FourierTransform.cs用于实行)
这确实AForge这家伙做了一个相当不错的工作,但它不是商业的品质。 这是伟大的学习,但你可以告诉他学过,所以他有一些很严重的错误,类似于假设图像的大小,而不是使用每个像素的正确位。
我没有敲门的家伙,我尊重挫折感了他学习这一切,向我们展示如何做到这一点。 我想,他现在是一个博士学位,或者至少他大概是这样,他真的很聪明,它只是不是一个商业可用的库。
用傅立叶变换和复杂的图像/数字打交道时,Math.Net库都有自己的怪事。 就像,如果我没有记错的话,它输出的傅立叶变换人类可视的格式是人类很好,如果你想看看的变换的照片,但是当你期望的数据在一定它不是那么好格式(正常格式)。 我可能是错误有关,但我只记得有一些古怪,所以我居然跑到他们用于傅立叶东西的原代码和它的工作要好得多。 (ExocortexDSP V1.2 http://www.exocortex.org/dsp/ )
Math.net也有一些其他funkyness与来自FFT的数据打交道时,我不喜欢,我不记得这是什么我只知道这是很容易得到我想要的东西了ExoCortex DSP库。 我不是一个数学家或工程师虽然; 那些家伙它可能是完美的感觉。
所以! 我使用ExoCortex,这Math.Net基于猛拉FFT代码,没有任何东西,它的伟大工程。
最后,我知道这不是C#,但我已经开始考虑使用FFTW( http://www.fftw.org/ )。 这家伙已经做了一个C#包装,所以我要去看看,但还没有实际使用它。 ( http://www.sdss.jhu.edu/~tamas/bytes/fftwcsharp.html )
哦! 我不知道你是为学校或工作这样做,但无论哪种方式,有通过在iTunes上大学的斯坦福大学教授给出一个伟大的免费系列讲座。
http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu.1617315771
Math.NET的铱库提供的数学相关的功能,包括FFT快速,定期更新的集合。 所以你可以自由在商业产品中使用它这是LGPL许可。
我看到这是一个古老的线程,但它的价值,我有一个自由(MIT许可证)1-d幂的2长度只有C#FFT这里实现: http://gerrybeauregard.wordpress.com/2011 / 04/01 / AN-FFT-在-C /
我还没有比它的性能与其他C#FFT实现。 我写它主要比较的Flash / ActionScript中和Silverlight / C#的性能。 后者快得多,至少对于数字运算。
http://www.exocortex.org/dsp/是一个开放源码的C#数学库FFT算法。
这里的另一个; 所述Ooura FFT的C#端口。 这是相当快的。 包装还包括重叠/添加卷积和一些其他的DSP的东西,在MIT许可下。
https://github.com/hughpyle/inguz-DSPUtil/blob/master/Fourier.cs
该数字食谱网站(http://www.nr.com/)具有FFT,如果你不介意在打字吧。我工作的一个项目一个LabVIEW程序转换成C#2008,.NET 3.5采集数据和再看看频谱。 不幸的是,Math.Net采用了最新的.NET框架,所以我不能使用FFT。 我试过Exocortex一个 - 它的工作,但结果相匹配的Labview的结果,我不知道够不够FFT理论知道是什么原因造成的问题。 所以,我想数字食谱网站上的FFT和它的工作! 我还能够为LabVIEW低旁瓣的窗口程序(并已经向大家介绍的比例因子)。
你可以读出的数字食谱书的章节作为thier网站做客,但书是非常有用,我强烈建议更换购买它。 即使你最终使用的Math.NET FFT。
一个老问题,但它仍然在谷歌搜索结果显示出来...
一个非常非限制性的MIT许可C#/ NET库可以被发现在,
https://www.codeproject.com/articles/1107480/dsplib-fft-dft-fourier-transform-library-for-net
这个库是快,在多个内核上并行它的线程和非常齐全,并准备使用。
对于多线程实现调整为英特尔处理器我想看看英特尔的MKL库。 这不是免费的,但它是afforable(低于$ 100)和速度极快的 - 但你需要调用它通过P /调用的C DLL的。 该项目Exocortex停止开发6年前,所以我会使用它,如果这是一个重要的项目要小心。