ऑडियो सिग्नल पर लॉगरिदमिक फूरियर ट्रांसफॉर्म (LFT)


9

मैं यथासंभव सटीक रूप से संगीत का विश्लेषण करने की कोशिश कर रहा हूं। बेशक मैंने एफएफटी की कोशिश की, लेकिन कुछ समस्याएं आईं।

मैंने पाया कि कम आवृत्तियों के पास मानव सुनवाई की तुलना में बहुत कम रिज़ॉल्यूशन है। मैंने इस समस्या को हल करने के लिए बहुत समय तक एफएफटी की कोशिश की, लेकिन 44100Hz नमूना दर (समय संकल्प की कमी का मतलब) में 8192 नमूनों / एस के साथ विश्लेषण करते हुए, मुझे कम आवृत्तियों पर पर्याप्त संकल्प नहीं मिला।

मैंने पाया कि कुछ उपाय हैं।

सबसे पहले, एफएफटी डिब्बे पर एक द्विघात प्रक्षेप।
लेकिन यह एक सही तरीका नहीं है। इस पद्धति की समस्याएं हैं:

1. 'अगर मैं फ्रीक डिब्बे के बीच फ्रीक निर्धारित करना चाहता हूं, तो मुझे कौन से तीन डिब्बे इंटरपोल करने का चयन करना चाहिए?'
2. 'यहां तक ​​कि मैं ऐसा करता हूं, परिणाम पर कोई वास्तविक अतिरिक्त चेतावनी नहीं है। मुझे पता है कि प्रक्षेप एक तरह की मुश्किल विधि है। '

दूसरे, प्रत्येक फ्रीक डिब्बे को वांछित आवृत्ति के साथ निकालना, इसलिए मैं डिब्बे को लघुगणक रूप से निकाल सकता हूं।
लेकिन एक महत्वपूर्ण कम्प्यूटेशनल लागत समस्या है: (शायद खत्म) एन ^ 2।

तीसरा, एलएफटी (लॉगरिदमिक फूरियर ट्रांसफॉर्म)।
यह जरूरी है कि लॉगरिदमिक-स्पेल्ड सैंपल और मुझे वास्तव में तेज गति के साथ जो मैं देख रहा हूं उसका परिणाम देता है; /programming/1120422/is-there-an-fft-that-uses-a-logarithmic-division-of-frequency

लेकिन मुझे उस एल्गोरिथ्म का कोई पता नहीं है। मैंने कागज को समझने और उसे लागू करने की कोशिश की, लेकिन यह मेरी अंग्रेजी और गणितीय कौशल की कमी के कारण असंभव था।

इसलिए, मुझे LFT के कार्यान्वयन में मदद की आवश्यकता है।

जवाबों:


8

सबसे सरल और सबसे व्यावहारिक समाधान पर्याप्त रूप से बड़े आकार के सामान्य एफएफटी का उपयोग करना है जो आपको ब्याज की न्यूनतम आवृत्ति पर आवश्यक रिज़ॉल्यूशन प्राप्त करता है। उदाहरण के लिए, यदि आप ब्याज की सबसे कम आवृत्ति पर 1 हर्ट्ज रिज़ॉल्यूशन चाहते हैं, तो आपको 1 सेकंड की एफएफटी विंडो की आवश्यकता होगी, यानी एफएफटी आकार को नमूना दर के बराबर होना चाहिए, जैसे कि 44100।

ध्यान दें कि यहां तक ​​कि अगर आप एक लघुगणक एफएफटी को लागू कर सकते हैं तो यह अभी भी भौतिकी (सूचना सिद्धांत) के नियमों से बाध्य होगा और आपको अभी भी एक समान लंबाई के नमूने की खिड़की की आवश्यकता होगी - आप सभी की सुविधा होगी (आउटपुट आउटपुट को एकत्रित नहीं करना) ) प्रदर्शन की कीमत पर।


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

3
शायद आपको एक श्रेणीबद्ध दृष्टिकोण पर विचार करना चाहिए, जहां आप प्रत्येक 2 के कारक द्वारा प्रत्येक सप्तक को समझ लेते हैं, ताकि आप कम आवृत्तियों पर कम समय की खिड़कियों और कम आवृत्तियों पर लंबे समय तक खिड़कियों का उपयोग कर सकें? यह कुछ हद तक श्रवण फिल्टर बैंक के अनुरूप होगा, जहां बैंडविड्थ आवृत्ति के साथ बढ़ता है।
पॉल आर

महान दृष्टिकोण। कम आवृत्तियों पर लंबे समय तक गोर्टजेल, उच्च आवृत्तियों पर कम समय के गोर्टजेल? समझ में आता है। लेकिन एक महान कम्प्यूटेशनल लागत की आवश्यकता होगी।

यह एक बड़े एफएफटी की तुलना में शायद अधिक कुशल है, भले ही यह अधिक जटिल हो। उदाहरण के लिए 4 ऑक्टेव पदानुक्रम के लिए आप x 2 डाउन-सैंपलिंग के लिए 4 x 2048 पॉइंट एफएफटी और 3 कम पास फिल्टर चाहते हैं। सबसे कम एफएफटी का रिज़ॉल्यूशन पूर्ण नमूना दर पर एकल 16384 पॉइंट एफएफटी के रूप में अच्छा होगा, लेकिन चूंकि एफएफटी हे (एन लॉग एन) है, इसलिए कुल कम्प्यूटेशनल लागत बहुत कम होगी।
पॉल आर

अहा, एफएफटी २०४ 20, डाउन सैंपल एक्स २, एफएफटी २०४ 20, डाउन सैंपल एक्स २ .... मेरे पास १६३ with४ एफएफटी से कम लागत के साथ समय और आवृत्ति संकल्प दोनों हैं। महान। और अभी मेरे पास एक और उपाय है: 16384 सैंपल पर, हर बार 32 तक गोएर्टज़ेल। इसलिए, संचय के साथ, मैं कम लागत के साथ कम और उच्च आवृत्तियों दोनों को निकाल सकता हूं। बहुत बहुत धन्यवाद। :)

0

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

एफएफटी के प्रत्येक बिन वास्तविक और काल्पनिक घटक का प्रतिनिधित्व करने वाली एक जटिल संख्या प्राप्त करता है- या थोड़ा हेरफेर चरण और परिमाण के बाद।

आवृत्ति = dPhi / dt, (Phi == चरण) के रूप में, लगातार STFT स्पेक्ट्रा के जोड़े से संबंधित डिब्बे लेकर, आप आवृत्ति की गणना कर सकते हैं।

डीएसपी आयाम प्रक्रिया पर एक अच्छा लेख है।


लगता है कि मैं एक और अधिक जटिल समस्या पर विचार कर रहा हूं। मैं एफएफटी का उपयोग कर सकता हूं, लेकिन ऑडियो सिग्नल विश्लेषण पर, यह उपयुक्त नहीं है, हालांकि।

3
लघु समय फूरियर रूपांतरण के "निरंतर क्यू" संस्करण को देखें। एसटीएफटी की यह व्यवस्था आवृत्ति संकल्प प्रदान करती है जो विभिन्न आवृत्ति श्रेणियों के लिए आवश्यकताओं को समायोजित करने के लिए लघुगणक को समायोजित करती है।
user2718

मैं देखूंगा। मैंने सोचा था कि यह केवल एक साधारण फिल्टर-बैंक ट्रांसफ़ॉर्म ऑपरेशन है जो एफटीएफ परिणाम पर लागू होता है।
लैई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.