Exocortex.DSP的快速傅里叶变换库

时间:2011-03-28 17:30:36

标签: c# signal-processing fft

我正在尝试使用Exocortex.DSP的FFT库。

调用函数是:

Exocortex.DSP.Fourier.FFT(float[], int, Exocortex.DSP.FourierDirection)

我使用此功能的代码行是:

Fourier.FFT(floatArray, arraycount, FourierDirection.Forward);

我的程序编译,但为什么它在这一行中断?

**打破窗口说:

An unhandled exception of type 'System.MissingMethodException' occurred in Exocortex.DSP.v1.dll
Additional information: Method not found: Log System.Math."*

2 个答案:

答案 0 :(得分:0)

当您针对库编译代码但是针对不同版本运行时,或者只编译解决方案项目的子集时,会发生这些类型的错误。然后会发生的是代码尝试调用在运行时使用的程序集中不存在或具有不同签名的方法。

我要检查的事情是:

  • 在“构建配置”对话框中,是否勾选/选中所有框。
  • 您的项目是否构建到您认为的目录。
  • 无论您是在实际运行构建的代码,还是以某种方式,您都可以从其他目录运行旧代码。
  • 您正在使用的库是否正确地被复制到可执行项目的目标目录中(如果不是它可以在解决方案的某处建议一个狡猾的引用)。

最后,库本身可能是针对它使用的库的不同版本编译的。在调查现有项目无法正常工作的原因之前,您可能需要设置一个小型测试项目,以确保库在一个非常简单的测试用例中正常工作。

答案 1 :(得分:0)

我很确定这需要更高版本的.NET框架(最有可能是3.5以上2.0,因为4.0再次是一个全新的框架)。

检查安装要求。或者使用单声道Moma工具查看缺少哪些引用方法。

无需检查构建配置标志(如果它没有完成编译则不会运行)。但是,如果它没有解决,它不应该编译。所以也许你需要'复制本地'引用的DLL(你不太可能有不同的版本)

还要查看GAC内部可能被捕获的冲突版本而不是编译期间引用的版本