2008-10-04 7 views

답변

12

Math.NET의 Iridium library은 FFT를 비롯하여 정기적으로 업데이트되는 수학 관련 기능 모음을 제공합니다. LGPL에서 라이센스를 받았으므로 상용 제품에서 자유롭게 사용할 수 있습니다.

+2

+1. Math.NET Iridium은 클래스와 각각의 메소드 사이의 긴밀한 대응으로 인해 Apache 코드를 사용하는 Java 코드를 .NET으로 변환하는 데 적합합니다. 시간의 95 % 만 클래스와 메소드 이름을 변경하면 모든 것이 작동합니다. – finnw

47

AForge를 한 사람은 상당히 유익했으나 상업적 품질이 아니 었습니다. 배우는 것은 좋지만 사진을 배우고 있다고 말할 수 있으므로 픽셀 당 올바른 비트를 사용하는 대신 이미지의 크기를 가정하는 것과 같은 심각한 오류가 있습니다.

나는 그 남자를 노크하지 않고, 나는 그 모든 것을 배우고 그것을 어떻게하는지 보여주기 위해 그를 존경한다. 제 생각에 그는 박사 학위를 소지했거나 적어도 지금은 거의 그가 진짜 똑똑해서 상업적으로 유용한 라이브러리가 아니라고 생각합니다.

Math.Net 라이브러리에는 푸리에 변환 및 복잡한 이미지/숫자로 작업 할 때 자체적 인 기이함이 있습니다. 마찬가지로 실수가 아니라면 사람이 볼 수있는 형식으로 푸리에 변환을 출력합니다. 변환에 대한 그림을보고 싶다면 사람에게 좋지만 데이터가 특정 상태가 될 것으로 기대할 때는 좋지 않습니다. 형식 (일반 형식). 나는 그것에 대해 착각 할 수는 있었지만 몇 가지 이상한 점이 있었음을 기억합니다. 그래서 실제로 푸리에 항목에 사용한 원래 코드로 갔고 훨씬 더 잘 작동했습니다. (ExocortexDSP v1.2 http://www.exocortex.org/dsp/)

Math.net에는 FFT에서 데이터를 처리 할 때 내가 좋아하지 않는 몇 가지 다른 펑키가 있습니다. 그게 무엇인지 기억할 수 없습니다. ExoCortex DSP 라이브러리에서 내가 원했던 것. 나는 수학자 나 기술자가 아닙니다. 그 사람들에게 그것은 완벽하게 이해할 수 있습니다.

그래서! Math.Net은 ExoCortex에서 추출한 FFT 코드를 사용합니다.이 코드는 다른 것없이 잘 작동합니다.

마지막으로 C#이 아니라는 것을 알고 있지만 FFTW (http://www.fftw.org/)를 사용하기 시작했습니다. 그리고이 녀석은 이미 C# 래퍼를 만들었 기 때문에 나는 그것을 조사 할 것이지만 실제로 그것을 사용하지는 않았다. (http://www.sdss.jhu.edu/~tamas/bytes/fftwcsharp.html)

OH! 학교 나 직장에서이 작업을하고 있는지는 모르지만 iTunes University의 Stanford 교수가 제공하는 훌륭한 무료 강의 시리즈가 있습니다. 내가 인텔 MKL 라이브러리를 확인해 줄 인텔 프로세서에 맞게 조정 멀티 스레드 구현을 위해

http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu.1617315771

+1

Math.NET Iridium fft 구현의 이상한 점에 대해 더 자세히 알고 싶습니다. 문제를 해결할 수 있습니다! ;). 그것은 복잡한 숫자가 처리되는 방법과 관련이 있습니까? 당신이 "인간이 볼 수있는 형식"을 가지고 무슨 뜻인지는 모르겠다. 샘플 : http://mathnet.opensourcedotnet.info/doc/IridiumFFT.ashx –

+6

fftw에는 문제가있는 라이센스가 있습니다. 이것을 확인해보십시오 : "FFTW를위한 비 자유 라이선스는 GPL과 다른 사용 조건을 허용합니다." –

+0

이것은 마이크 베다니에게하는 질문입니다. 시간 도메인에서 주파수 도메인으로 데이터를 변환하는 방법을 배우려고합니다. 엑소 코텍스 링크가 올바른 방법입니까? –

1

. 무료는 아니지만, 100 달러 미만의 저렴한 가격으로 제공됩니다.하지만 P/Invokes를 통해 C DLL을 호출해야합니다. Exocortex 프로젝트는 6 년 전에 개발을 중단 했으므로 중요한 프로젝트 인 경우 Exodortex 프로젝트를 사용할 때는주의해야합니다.

+2

2013 년 6 월 현재 단일 사용자 가격은 499 달러입니다. – RickNZ

+0

2015 년 10 월 기준으로 작성자 에디션은 699 달러입니다. – mcy

+0

'커뮤니티 라이센스'프로그램에서 무료로 제공되지 않습니까? [Intel Integrated Performance Primitives Library (IPP)에 대한 비용 옵션 없음, 스스로 지원하기, 로열티없는] – Lati

7

나는이 오래된 스레드 볼 수 있지만, 그것은 가치가 무엇인지, 내가 여기에 1-D 전력의-2 길이 만 C#의 FFT 구현 무료 (MIT 라이센스)가 대한 : http://gerrybeauregard.wordpress.com/2011/04/01/an-fft-in-c/

그 성능을 다른 C# FFT 구현과 비교하지 않았습니다. 나는 주로 Flash/ActionScript와 Silverlight/C#의 성능을 비교하기 위해이 스크립트를 작성했습니다. 후자는 숫자 정리를 위해 훨씬 더 빠릅니다.

2

Numerical Recipes 웹 사이트 (http://www.nr.com/)에 입력하는 데 신경 쓰지 않는다면 FFT가 있습니다. Labview 프로그램을 C# 2008, .NET 3.5로 변환하는 프로젝트를 진행하고 있습니다. 데이터를 수집 한 다음 주파수 스펙트럼을 봅니다. 불행히도 Math.Net은 최신 .NET 프레임 워크를 사용하므로 FFT를 사용할 수 없습니다. 나는 Exocortex를 하나 시도했습니다.하지만 Labview 결과와 일치하는 결과가 나왔습니다. 문제의 원인을 파악하기에 충분한 FFT 이론을 알지 못합니다. 그래서 숫자 조리법 웹 사이트에서 FFT를 시도했는데 효과가있었습니다. 나는 또한 Labview 로우 사이드 로브 윈도우를 프로그램 할 수 있었고 스케일링 팩터를 도입해야했다.

Numerical Recipes 책의 장을 해당 사이트의 손님으로 읽을 수는 있지만이 책은 매우 유용하므로 구매를 적극 권장합니다. 당신이 Math.NET FFT를 사용하여 끝내더라도.

+0

수치 조리법. 코드에 문제가 없으면 라이센스가 문제입니다. 코드를 사용하려면 비용을 지불해야하며 비상업적이거나 과학적으로 적용되는 경우에는 예외가 아닙니다. 자세한 내용은이 [link] (http://mingus.as.arizona.edu/~bjw/software/boycottnr.html)를 참조하십시오. –