2008-10-04 4 views
66

में फास्ट फूरियर ट्रांसफॉर्म (एफएफटी) का कार्यान्वयन मुझे सी # में एफएफटी का मुफ्त, बहुत तेज़ और विश्वसनीय कार्यान्वयन कहां मिल सकता है?सी #

इसका उपयोग किसी उत्पाद में किया जा सकता है? या क्या कोई प्रतिबंध है?

उत्तर

30

AForge.net फास्ट फूरियर ट्रांसफॉर्म समर्थन के साथ एक निःशुल्क (ओपन-सोर्स) लाइब्रेरी है। (देखें सूत्रों का कहना है/इमेजिंग/ComplexImage.cs उपयोग के लिए, सूत्रों का कहना है/गणित/FourierTransform.cs implemenation के लिए)

5

http://www.exocortex.org/dsp/ FFT एल्गोरिदम के साथ एक खुला स्रोत सी # गणित पुस्तकालय है।

+1

केवल कुछ परिवर्तन आकारों तक सीमित है। –

12

Math.NET का Iridium library एफएफटी समेत गणित से संबंधित कार्यों का तेज़, नियमित रूप से अद्यतन संग्रह प्रदान करता है। यह एलजीपीएल के तहत लाइसेंस प्राप्त है ताकि आप वाणिज्यिक उत्पादों में इसका इस्तेमाल कर सकें।

+2

+1। Math.NET इरिडियम जावा कोड (जो अपाचे कॉमन्स-गणित का उपयोग करता है) के लिए बहुत अच्छा है, प्रत्येक के वर्गों और तरीकों के बीच निकट पत्राचार के लिए .NET धन्यवाद। 95% समय आपको केवल कक्षा और विधि के नाम बदलना है और सबकुछ काम करेगा। – finnw

47

जो लड़का एफोर्ज ने काफी अच्छा काम किया लेकिन यह वाणिज्यिक गुणवत्ता नहीं है। यह सीखना बहुत अच्छा है लेकिन आप बता सकते हैं कि वह भी सीख रहा था इसलिए उसके पास कुछ पिक्सेल सही बिट्स का उपयोग करने की बजाय छवि के आकार को मानने जैसी कुछ गंभीर गलतियां हैं।

मैं उस लड़के को दस्तक नहीं दे रहा हूं, मैं उन सभी को सीखने के लिए उसके बाहर बिल्ली का सम्मान करता हूं और हमें दिखाता हूं कि यह कैसे करें। मुझे लगता है कि वह अब पीएचडी है या कम से कम वह होने वाला है, इसलिए वह वास्तव में स्मार्ट है, यह सिर्फ व्यावसायिक रूप से प्रयोग योग्य पुस्तकालय नहीं है।

फूरियर ट्रांसफॉर्म और जटिल छवियों/संख्याओं के साथ काम करते समय Math.Net लाइब्रेरी की अपनी अजीबता है। जैसे, अगर मुझे गलत नहीं लगता है, तो यह मानव दृश्यमान प्रारूप में फूरियर ट्रांसफॉर्म को आउटपुट करता है जो मनुष्यों के लिए अच्छा है यदि आप ट्रांसफॉर्म की तस्वीर देखना चाहते हैं लेकिन यह तब अच्छा नहीं है जब आप डेटा को निश्चित रूप से सुनिश्चित कर रहे हों प्रारूप (सामान्य प्रारूप)। मैं इसके बारे में गलत हो सकता था लेकिन मुझे याद है कि कुछ अजीबता थी इसलिए मैं वास्तव में फूरियर सामान के लिए इस्तेमाल किए गए मूल कोड पर गया और यह बहुत बेहतर काम करता था। (ExocortexDSP v1.2 http://www.exocortex.org/dsp/)

Math.net में कुछ अन्य फंकीपन भी थी जो मुझे एफएफटी से डेटा से निपटने के दौरान पसंद नहीं आया, मुझे याद नहीं आया कि मुझे क्या पता था कि मुझे यह पता होना बहुत आसान था मैं ExoCortex डीएसपी पुस्तकालय से बाहर क्या चाहता था। हालांकि मैं गणितज्ञ या इंजीनियर नहीं हूं; उन लोगों के लिए यह सही अर्थ हो सकता है।

तो! मैं ExoCortex से yanked FFT कोड का उपयोग करता हूं, जो Math.Net किसी और चीज़ के बिना आधारित है और यह बहुत अच्छा काम करता है।

और अंत में, मुझे पता है कि यह सी # नहीं है, लेकिन मैंने एफएफटीडब्ल्यू (http://www.fftw.org/) का उपयोग करना शुरू कर दिया है। और इस लड़के ने पहले से ही एक सी # रैपर बनाया है, इसलिए मैं इसे जांचने जा रहा था लेकिन वास्तव में इसका उपयोग नहीं किया है। (http://www.sdss.jhu.edu/~tamas/bytes/fftwcsharp.html)

ओएच! मुझे नहीं पता कि आप स्कूल या काम के लिए ऐसा कर रहे हैं, लेकिन आईट्यून्स यूनिवर्सिटी के स्टैनफोर्ड प्रोफेसर द्वारा दी गई एक महान मुफ्त व्याख्यान श्रृंखला है।

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

+1

मुझे Math.NET इरिडियम एफएफटी कार्यान्वयन में अजीबता के बारे में अधिक जानकारी में दिलचस्पी होगी - इसलिए हम इसे ठीक कर सकते हैं! ;)। क्या यह जटिल संख्याओं को संभाला जाता है? हालांकि, "मानव देखने योग्य प्रारूप" के साथ आपका क्या मतलब है इसका कोई विचार नहीं है। नमूने: http://mathnet.opensourcedotnet.info/doc/IridiumFFT.ashx –

+6

fftw किसी प्रकार का समस्याग्रस्त लाइसेंस है; इसे देखें: "एफएफटीडब्ल्यू के लिए गैर-मुक्त लाइसेंस भी उपलब्ध हैं जो जीपीएल की तुलना में उपयोग की विभिन्न शर्तों की अनुमति देते हैं।" –

+0

यह माइक बेथानी के लिए एक सवाल है। मैं सीखने की कोशिश कर रहा हूं कि समय डोमेन से आवृत्ति डोमेन में डेटा कैसे परिवर्तित करें। क्या आपका एक्सोकोर्टेक्स ऐसा करने का सही तरीका है? –

1
इंटेल प्रोसेसर मैं इंटेल की MKL पुस्तकालय की जाँच चाहते हैं के लिए ट्यून मल्टी-थ्रेडेड कार्यान्वयन के लिए

। यह मुफ़्त नहीं है, लेकिन यह आक्रामक है ($ 100 से कम) और तेजी से चमक रहा है - लेकिन आपको पी/इनवॉक्स के माध्यम से इसे सी डीएल कॉल करना होगा। एक्सोकोर्टेक्स प्रोजेक्ट ने 6 साल पहले विकास को रोक दिया था, इसलिए यदि यह एक महत्वपूर्ण परियोजना है तो मैं इसका उपयोग कर सावधान रहूंगा।

+2

जून 2013 तक एकल उपयोगकर्ता मूल्य यूएस $ 49 9 है। – RickNZ

+0

अक्टूबर 2015 तक, संगीतकार संस्करण $ 69 9 – mcy

+0

क्या यह 'सामुदायिक लाइसेंसिंग' कार्यक्रम से मुक्त नहीं है? [इंटेल इंटीग्रेटेड परफॉर्मेंस प्राइमेटिव्स लाइब्रेरी (आईपीपी) के लिए कोई लागत विकल्प नहीं, स्वयं का समर्थन करें, रॉयल्टी-फ्री] (https://software.intel.com/en-us/articles/free_ipp) – Lati

4

यहां एक और है; ओउरा एफएफटी का सी # पोर्ट। यह काफी तेज़ है। पैकेज में एमआईटी लाइसेंस के तहत, ओवरलैप/कंसोल्यूशन और कुछ अन्य डीएसपी सामान भी शामिल हैं।

http://github.com/hughpyle/inguz-DSPUtil/commits/master/Fourier.cs

7

मैं देख रहा हूँ यह कोई पुराना धागा है, लेकिन क्या इसके लायक है, मैं एक नि: शुल्क (एमआईटी लाइसेंस) है 1-डी शक्ति-की-2-लंबाई-केवल सी # FFT यहां कार्यान्वयन: http://gerrybeauregard.wordpress.com/2011/04/01/an-fft-in-c/

मैंने अपने प्रदर्शन की तुलना अन्य सी # एफएफटी कार्यान्वयन से नहीं की है। मैंने इसे मुख्य रूप से फ्लैश/एक्शनस्क्रिप्ट और सिल्वरलाइट/सी # के प्रदर्शन की तुलना करने के लिए लिखा है। उत्तरार्द्ध कम से कम संख्या क्रंचिंग के लिए बहुत तेज़ है।

2

न्यूमेरिकल रेसिपी वेबसाइट (http://www.nr.com/) में एक एफएफटी है यदि आपको इसे टाइप करने में कोई फर्क नहीं पड़ता। मैं एक लैबव्यू प्रोग्राम को सी # 2008 में परिवर्तित करने वाली परियोजना पर काम कर रहा हूं, .NET 3.5 डेटा प्राप्त करने के लिए और फिर आवृत्ति स्पेक्ट्रम को देखो। दुर्भाग्य से Math.Net नवीनतम .NET ढांचे का उपयोग करता है, इसलिए मैं उस एफएफटी का उपयोग नहीं कर सका। मैंने एक्सोकोर्टेक्स को एक की कोशिश की - यह काम करता है लेकिन लैबव्यू परिणामों से मेल खाने के नतीजे और मुझे समस्या का कारण बनने के बारे में जानने के लिए पर्याप्त एफएफटी सिद्धांत नहीं पता है। इसलिए मैंने संख्यात्मक व्यंजनों की वेबसाइट पर एफएफटी की कोशिश की और यह काम किया! मैं लैबव्यू कम sidelobe विंडो प्रोग्राम करने में सक्षम था (और एक स्केलिंग कारक पेश करना था)।

आप अपनी साइट पर अतिथि के रूप में न्यूमेरिकल रेसिपी बुक के अध्याय को पढ़ सकते हैं, लेकिन पुस्तक इतनी उपयोगी है कि मैं इसे खरीदने की अत्यधिक सिफारिश करता हूं। यहां तक ​​कि यदि आप Math.NET FFT का उपयोग कर समाप्त करते हैं।

+0

आपके द्वारा उपयोग किए जाने वाले किसी भी कोड से सावधान रहें संख्यात्मक व्यंजनों। कोड के साथ कुछ भी गलत नहीं है, यह लाइसेंस है जो समस्या है। आपको कोड का उपयोग करने के लिए भुगतान करना होगा, और गैर-वाणिज्यिक या वैज्ञानिक अनुप्रयोगों के लिए कोई अपवाद नहीं है। अधिक जानकारी के लिए यह [लिंक] (http://mingus.as.arizona.edu/~bjw/software/boycottnr.html) देखें। –

1

एक पुरानी सवाल लेकिन यह अभी भी गूगल परिणामों में दिखाई देने ...

एक बहुत ही गैर-प्रतिबंधक एमआईटी लाइसेंस सी #/नेट पुस्तकालय में पाया जा सकता,

https://www.codeproject.com/articles/1107480/dsplib-fft-dft-fourier-transform-library-for-net

यह लाइब्रेरी यह तेजी से है क्योंकि यह एकाधिक कोर पर समानांतर धागे और बहुत पूर्ण और उपयोग करने के लिए तैयार है।