2009-08-06 12 views
5

किसी समस्या के रूप में गति लेना एक और भाषा चुनना बेहतर हो सकता है, लेकिन पाइथन में 1 डी फास्ट फूरियर ट्रांसफॉर्म (एफएफटी) करने के लिए आपकी लाइब्रेरी/मॉड्यूल/पसंद का कार्यान्वयन क्या है?फास्ट फूरियर ट्रांसफॉर्म (एफएफटी) के लिए अनुशंसित पायथन मॉड्यूल क्या है?

+2

एफईएफटी करने वाले पायथन पैकेज आमतौर पर उन्हें शुद्ध पायथन में लागू नहीं करेंगे बल्कि अंतर्निहित संकलित भाषा में, इसलिए पाइथन की गति ट्रांसफॉर्म की गति में दिखाई नहीं देगी। यही है, वे किसी और चीज जितना तेज़ होंगे। – tom10

उत्तर

3

मैं FFTW लाइब्रेरी ("पश्चिम में सबसे तेज़ फूरियर ट्रांसफॉर्म") का उपयोग करने की सलाह दूंगा। FFTW download page बताता है कि पायथन रैपर मौजूद हैं, लेकिन लिंक टूटा हुआ है। एक Google खोज Python FFTW चालू हुई, जो कि PFTW3 को पाइथन बाइंडिंग प्रदान करती है।

8

मैं numpy लाइब्रेरी की सिफारिश करता हूं, मुझे यकीन नहीं है कि यह सबसे तेज़ कार्यान्वयन है लेकिन यह निश्चित रूप से "बाजार" पर सबसे अच्छा वैज्ञानिक मॉड्यूल है।

5

एफएफटीडब्ल्यू शायद सबसे तेज़ कार्यान्वयन होगा, यदि आप वास्तव में काम करता है कि एक पाइथन बाध्यकारी पा सकते हैं।

उपयोग करने की सबसे आसान बात निश्चित रूप से scipy.fft है, हालांकि। इसके अलावा, आप इसके साथ जाने के लिए numpy/scipy की सभी शक्ति प्राप्त करते हैं।

मैंने इसे केवल खिलौना प्रोजेक्ट (एक मूल संगीत विज़ुअलाइज़ेशन) के लिए उपयोग किया है, लेकिन यह 60 एफपीएस पर 44khz पर बोग मानक ऑडियो को संसाधित करने के लिए पर्याप्त तेज़ था, जहां तक ​​मुझे याद है।

संबंधित मुद्दे