मुझे एक एल्गोरिथ्म मिला है जो शून्य 4N को एक अनुक्रम देता है, एक एफएफटी करता है, और केवल उत्पन्न आवृत्ति एनएन से बाहर सबसे कम आवृत्ति एन अंक का उपयोग करता है।
यह बहुत सारे बर्बाद काम की तरह लगता है, किसी भी विचार यह कैसे तेजी से किया जा सकता है?
मुझे एक एल्गोरिथ्म मिला है जो शून्य 4N को एक अनुक्रम देता है, एक एफएफटी करता है, और केवल उत्पन्न आवृत्ति एनएन से बाहर सबसे कम आवृत्ति एन अंक का उपयोग करता है।
यह बहुत सारे बर्बाद काम की तरह लगता है, किसी भी विचार यह कैसे तेजी से किया जा सकता है?
जवाबों:
यदि आप केवल कुछ डिब्बे हैं, तो निम्न आपके लिए बहुत कुशल हो सकते हैं:
1. बस प्रत्येक आवृत्ति पर डीएफटी की आवश्यकता होती है।
2. प्रश्न में प्रत्येक आवृत्ति के लिए Goertzel एल्गोरिथ्म का उपयोग करें।
शून्य से 4X लंबाई तक पैडिंग, लंबे एफएफटी की गणना करता है, और फिर केवल नीचे 1/4 वें डिब्बे का उपयोग करके मूल लंबाई एफएफटी के सिन इंटरपोलेशन को विंडो में लगभग समान परिणाम उत्पन्न करता है।
तो बस मूल FFT लंबाई का उपयोग करें और एक उपयुक्त विंडो चौड़ाई के साथ 3 चरण Sinc प्रक्षेप कर्नेल का उपयोग करके प्रक्षेप करें।
समय डोमेन में जीरो पैडिंग आपको उच्च आवृत्ति समाधान देता है लेकिन कोई नई जानकारी नहीं है, इसलिए यह अनिवार्य रूप से आवृत्ति डोमेन में इंटरपोलिंग प्रदान करता है। आपके संकेतों की प्रकृति और आवश्यक सटीकता के आधार पर, आप एक नियमित एफएफटी के साथ एन अंक के अतिरिक्त आवृत्ति अंक प्राप्त करने में सक्षम हो सकते हैं और एक उपयुक्त प्रक्षेप (रैखिक, तख़्ता, pchip, sinc आदि) कर सकते हैं।