क्या आप खिड़की के आकार को बढ़ाए बिना एफएफटी की आवृत्ति संकल्प बढ़ा सकते हैं?


12

मैं मल्टिपल विश्लेषण के लिए STFT का उपयोग करना चाहता हूं। मुझे पता है कि सिग्नल में मौजूद पार्टिकल्स का पता लगाना अभी शुरुआत है। फिर भी मुझे इससे समस्या है।

मान लें कि मेरे पास 'सीडी' आवृत्ति के साथ नमूना है 44100Hz1024नमूनों की खिड़की से मुझे आवृत्ति बिन संकल्प प्राप्त होता है 22500Hz/512=43Hz। यह केवल उच्च पियानो नोटों को समझने के लिए पर्याप्त है: C5 = 523.251Hzऔर C#5 = 554.365

मुझे लगता था 1024कि काफी बड़ी खिड़की है। लेकिन शायद यह नहीं है और आम तौर पर बड़ी खिड़कियों का उपयोग पार्टिकल्स का पता लगाने के लिए किया जाता है?

क्या खिड़की के आकार को बढ़ाने की तुलना में आवृत्ति संकल्प को किसी अन्य विधि से बढ़ाया जा सकता है, जिससे समय संकल्प बिगड़ जाता है? मैंने दो तरीकों के बारे में सोचा:

Method1:

  1. बैंडपासफिल्टर (उदाहरण के लिए 0-11.25Hzऔर 11.25-22.5Hz) के साथ आवृत्ति बैंड में सिग्नल को विभाजित करें ।
  2. उच्च बैंड को नीचे की ओर खींचता है ताकि मूल उच्च आवृत्तियों पर अब कम आवृत्तियों होगी (इसलिए इसे दूसरे बैंड के लिए करें 11.25-22.5Hz -> 0Hz-22.5Hz) - सुनिश्चित नहीं है कि यह संभव है।
  3. कॉनसैट जिसके परिणामस्वरूप डिब्बे समायोजित लेबल के साथ सेट होते हैं।

Method2:

  1. बढ़ती सीमा के साथ लोअरपास फिल्टर की श्रृंखला का उपयोग करें।
  2. फ्रीक्वेंसी रेंज बढ़ाने पर एफएफटी करें।
  3. प्रत्येक आवृत्ति के लिए सर्वोत्तम संभव रिज़ॉल्यूशन का उपयोग करें (पहले FFT से डिब्बे जिसमें यह आवृत्ति शामिल थी)।
  4. यह कम आवृत्ति के कारण बेहतर रिज़ॉल्यूशन का कारण होगा, लेकिन मुझे लगता है कि यह ठीक है क्योंकि उच्च नोटों के लिए आवृत्ति अंतर grater है।

मैं इस मुद्दे पर किसी भी टिप्पणी के लिए आभारी रहूंगा।

मैं यहां भी पढ़ता हूं: विंडो का आकार, नमूना दर एफएफटी पिच आकलन को कैसे प्रभावित करता है? चोटी काटने के परिणामों को बेहतर बनाने की विधि के बारे में। मुझे लगता है कि इसका उपयोग करने की कोशिश करेंगे।


यदि आप जानते हैं कि केवल एक साइन घटक है, तो आप चोटी के पड़ोसी डिब्बे में एक पैराबोला फिट कर सकते हैं और "असली" चोटी को खोजने के लिए प्रक्षेप कर सकते हैं। निश्चित नहीं है कि यह @pichenettes द्वारा वर्णित चरण विधि की तुलना कैसे करता है।
एंडोलिथ

जवाबों:


9

यदि आप वास्तव में एफएफटी (पैरामीट्रिक विधियों के बजाय, जो समय / आवृत्ति व्यापार-बंद से ग्रस्त हैं) का उपयोग करने पर जोर देते हैं, तो आप प्रत्येक एफएफटी बिन के लिए तात्कालिक आवृत्ति को पुनर्प्राप्त करने के लिए चरण की जानकारी का उपयोग करके बहुत बेहतर संकल्प नकली कर सकते हैं। एफएफटी बिन इंडेक्स के एक फ़ंक्शन के रूप में तात्कालिक आवृत्ति देने वाले फ़ंक्शन में पठारों की तलाश करके पार्टिकल्स का पता लगाया जा सकता है। इस तकनीक का सामान्य कार्यान्वयन जैसा कि इस पत्र में वर्णित है , आपको एक अतिरिक्त एसटीएफटी "लागत" देगा (सिग्नल की एसटीएफटी और सिग्नल के व्युत्पन्न के एसटीएफटी पर संचालन द्वारा तात्कालिक आवृत्ति बरामद होती है)।

उदाहरण के लिए देखें ऑडियो संकेतों के साइनसोइडल मॉडलिंग के इस मतलाब कार्यान्वयन में ifgram फ़ंक्शन ।

ध्यान दें कि इससे आसन्न FFT डिब्बे में पड़ने वाले दो भाग को हल करने में मदद नहीं मिलेगी। यह सिर्फ एक वर्णक्रमीय चोटी के एफएफटी बिन सूचकांक की आवृत्ति में परिवर्तित होने की तुलना में बहुत अधिक सटीक आवृत्ति अनुमान प्रदान करेगा।


पैरामीट्रिक तरीकों से आपका क्या मतलब है? इसके अलावा, क्या यह था कि कुछ महीने पहले एक एल्गोरिथ्म का उल्लेख किया गया था जो एफएफटी-जैसा था लेकिन एक समान आवृत्ति पैमाने के बजाय एक आवृत्ति ओक्टेव स्केल था?
जिम क्ले

पैरामीट्रिक विधियां सांख्यिकीय सिग्नल विश्लेषण विधियां हैं जो मानती हैं कि सिग्नल पैरामीटर के एक सेट द्वारा वर्णित एक विशिष्ट प्रक्रिया द्वारा उत्पन्न होता है, और जो टिप्पणियों से इन मापदंडों के कम से कम वर्ग अनुमान की गणना करता है। उदाहरण के लिए यदि आप मानते हैं कि संकेत एन एक्सपोनेंशियलली डंप किए गए साइनसोइड्स + शोर का योग है, तो ईएसपीआरआईटी या म्यूजिक जैसे एल्गोरिदम का उपयोग एन कॉम्प्लेक्स एंप्लीट्यूड और पल्सेशन को हटाने के लिए किया जा सकता है।
pichenettes

2
आप शायद निरंतर-क्यू परिवर्तन का उल्लेख कर रहे हैं। चेतावनी यह है कि यह एफएफटी के समान कुशल कम्प्यूटेशनल-वार कहीं नहीं है; और यह कि इस परिवर्तन को बदलना एक गैर-तुच्छ अनुकूलन समस्या है।
pichenettes

@JimClay: शायद यह यहाँ माइग्रेट किया जाना चाहिए?
एंडोलिथ

1
यह कहने के लिए कि पैरामीट्रिक तरीके समय से नहीं आते हैं / आवृत्ति व्यापार-बंदी भ्रामक है। उनके मूल में, पैरामीट्रिक विधियां प्रणाली को मॉडल करती हैं और सार्थक डेटा निकालने के लिए मॉडल का उपयोग करती हैं। लेकिन प्रदर्शन केवल मॉडल के रूप में अच्छा है। "सर्वश्रेष्ठ" मॉडल को चुना गया है (ध्रुवों की संख्या या संकेत स्थान eigenvectors की संख्या), इन विधियों का प्रदर्शन डेटा रिकॉर्ड लंबाई के लिए अभी भी बहुत संवेदनशील है।
ब्रायन

2

"संकल्प" शब्द के कई अर्थ हैं। सामान्य तौर पर, आप डेटा की समान विंडो लंबाई का उपयोग करके प्रक्षेप द्वारा स्पेक्ट्रल चोटियों को अलग (या "हल") करने की अपनी क्षमता को बढ़ा नहीं सकते हैं। लेकिन आप अलग-अलग स्थिर वर्णक्रमीय चोटियों की आवृत्ति का अनुमान लगा सकते हैं जो विभिन्न प्रक्षेप विधियों द्वारा एफएफटी बिन रिक्ति की तुलना में महीन रिज़ॉल्यूशन (कभी-कभी बहुत महीन रिज़ॉल्यूशन) के साथ शोर तल से ऊपर होती हैं।

उच्च रिज़ॉल्यूशन अनुमानों के लिए सामान्य FFT परिणाम इंटरपोलेशन विधियों में परवलयिक प्रक्षेप, Sinc प्रक्षेप, शून्य-डेटा को बहुत लंबे समय तक FFT में शामिल करना, और चरण विकोडर विधियों का उपयोग करके (थोड़े से) ओवरलैपिंग विंडोज़ ऑफ़सेट शामिल हैं।

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


1

बाद आगे अनुसंधान द्वारा लाया जिम क्ले सवाल और pichenettes टिप्पणी में जवाब मैंने पाया कि मेरी Method2 में नयापन लाया गया है घिरा क्यू को बदलने Kashima और मॉंट रेनौड द्वारा उदाहरण के लिए वर्णित (मुझे यकीन है कि मैं इस लेख को लिंक कर सकते नहीं कर रहा हूँ, फ़ाइल दिखता फट ) ।

उनका दृष्टिकोण एल्गोरिदमिक रूप से अधिक कुशल है क्योंकि वे सबसे बड़ी आवृत्ति सीमा से शुरू करते हैं और जब तक वे सबसे कम ओक्टेव तक नहीं जाते हैं, तब तक इसे 2 से घटा देते हैं।

क्यू रूपांतरण के लाभ भी उदाहरण के लिए ब्राउन ने पता लगाया गया यहाँ । यह एकल एफएफटी के रूप में कुशल नहीं हो सकता है, लेकिन उच्च आवृत्ति बैंड पर मोटी एफएफटी की गणना नहीं करने का एक फायदा है जिसके लिए इसकी आवश्यकता नहीं है।

सभी उत्तरों, टिप्पणियों और लिंक के लिए धन्यवाद।


आप जो वर्णन कर रहे हैं, वह एक वेवलेट ट्रांसफ़ॉर्म की तरह लगता है, जिसकी पुष्टि इससे होती है । मुझे लगता है कि यह एक पुरानी पोस्ट है, लेकिन भविष्य के पाठक तरंगों को भी देखना चाहते हैं। हालाँकि, जैसा कि मैंने अपने उत्तर में बताया है, आप समय-आवृत्ति अनिश्चितता सिद्धांत को नहीं बदल सकते हैं, लेकिन डेटा का ज्ञान आपको थोड़ा धोखा दे सकता है।
orodbhen

1

यदि आप इनपुट का "इतिहास" रखते हैं, और इसका उपयोग अपने DFTs को ओवरलैप करने के लिए करते हैं, तो इससे वर्णक्रमीय सामग्री निकालने के लिए अधिक जानकारी मिलेगी। बेशक, यह आपके सिग्नल की समय-भिन्न प्रकृति पर निर्भर करता है। यह एक संभावना वितरण समारोह के रूप में समान होगा।

इससे आपको DFT मिलेंगे जो समय के साथ नज़दीक होते हैं। हालांकि, यह अभी भी प्रत्येक DFT की अस्थायी अनिश्चितता को बढ़ाएगा, जो प्रकृति के नियमों से विवश है: लौकिक और वर्णक्रमीय व्यवहार का सही मूल्य एक साथ निर्धारित नहीं किया जा सकता है।

यदि आवृत्ति सामग्री विंडो के भीतर भिन्न नहीं होती है, हालांकि, तो यह ठीक होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.