2011-03-12 13 views
8

मैं आईफोन पर एक साधारण आवृत्ति पहचान सेटअप पर काम कर रहा हूं। एफएफटी परिणामों का उपयोग कर फ्रीक्वेंसी डोमेन में विश्लेषण करना हार्मोनिक्स की उपस्थिति में कुछ हद तक अविश्वसनीय रहा है। मैं निर्णय लेने में मदद करने के लिए सेप्स्ट्रम परिणामों का उपयोग करने की उम्मीद कर रहा था कि मौलिक आवृत्ति क्या चल रही है।शोर सेपस्ट्रम परिणाम साफ करना

मैं ऑडियोटूलबॉक्स ढांचे में ऑडियोक्यूयूज़ के साथ काम कर रहा हूं, और फोरियर एक्सेलेरेट फ्रेमवर्क का उपयोग करके बदलता हूं।

मेरी प्रक्रिया वास्तविक पावर सेप्स्ट्रम के लिए विकिपीडिया के सेप्स्ट्रम आलेख पर सूचीबद्ध है, विशेष रूप से: सिग्नल → एफटी → abs() → वर्ग → लॉग → एफटी → abs() → वर्ग → पावर सेपस्ट्रम।

मेरी समस्या यह है कि सेप्स्ट्रम के परिणाम बेहद शोर हैं। मुझे पहले और आखिरी 20 मानों को छोड़ना है क्योंकि वे अन्य मूल्यों की तुलना में खगोलीय हैं। डेटा की "सफाई" करने के बाद भी, अभी भी बहुत अधिक भिन्नता है - पहले ग्राफ को देने की उम्मीद से कहीं अधिक है। आवृत्ति डोमेन और quefrency डोमेन के विज़ुअलाइजेशन के लिए नीचे दी गई तस्वीरें देखें। FFT FFT Cepstrum Cepstrum

जब मैं उस ग्राफ पर के रूप में आवृत्ति डोमेन में इस तरह के एक स्पष्ट विजेता देखते हैं, मैं quefrency डोमेन एक इसी तरह स्पष्ट परिणाम देखने की उम्मीद। मैंने ए 440 खेला और बिन 82 या उससे उच्चतम परिमाण की अपेक्षा करेगा। ग्राफ पर तीसरा शिखर बिन 79 का प्रतिनिधित्व करता है, जो काफी करीब है। जैसा कि मैंने कहा था, पहले 20 या तो डिब्बे असामान्य होने के कारण परिमाण में इतनी खगोलीय हैं, और मुझे कुछ भी देखने के लिए उन्हें डेटा सेट से हटाना पड़ा। सेप्स्ट्रम डेटा की एक और अजीब गुणवत्ता यह है कि यहां तक ​​कि डिब्बे भी अजीब डिब्बे से काफी अधिक प्रतीत होते हैं। यहाँ 77-86 से आवृत्ति डिब्बे हैं:

77: 151150.0313 
78: 22385.92773 
79: 298753.1875 
80: 56532.72656 
81: 114177.4766 
82: 31222.88281 
83: 4620.785156 
84: 13382.5332 
85:  83.668259 
86: 1205.023193 

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

+1

आप एक खिड़की समारोह पहले FFT करने से पहले लागू करने की कोशिश कर सकते हैं। –

+1

मैंने सुबह के बेहतर हिस्से को समझने की कोशिश की कि इतने सारे लोग इसका सुझाव क्यों देते हैं। यह स्पष्ट नहीं है कि एक विंडो फ़ंक्शन ट्रांसफॉर्म को बेहतर क्यों करेगा। मुझे अब तक वर्णक्रमीय रिसाव नहीं समझा, और मेरा मानना ​​है कि यह गड़बड़ी में योगदान दे रहा है। पारितोषिक के लिए धन्यवाद! – brodney

उत्तर

3

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

के बाद से एक cepstrum आमतौर पर किसी भी (गैर आयताकार) खिड़की के बिना किया जाता है, तो यह और भी एक साफ जगा है अनुक्रम करने के लिए एक Sinc प्रतिक्रिया, प्रतिक्रिया की चौड़ाई विपरीत रूप से मोटे तौर पर जगा है अनुक्रम या की लंबाई के अनुपात के साथ उत्पादन कर सकते हैं ओवरटोन की संख्या। और, ज़ाहिर है, किसी भी थोड़े इनहेर्मोनिक ओवरटोन (जैसा कि वास्तविक संगीत वाद्ययंत्र में पाया जाता है) सेपस्ट्रम के परिणाम भी गड़बड़ कर देंगे। तो एक सेप्स्ट्रम शिखर मौलिक आवृत्ति का अनुमानित स्थान देने में केवल अच्छा हो सकता है, जो आवृत्ति अनुमान करते समय अन्य आवृत्ति उम्मीदवारों को अस्वीकार करने में एक उपयोगी परिणाम हो सकता है।

ए 'स्वच्छ देख "cepstrum एक लगभग सपाट आवृत्ति प्रतिक्रिया, जो शायद क्या वास्तविक जीवन संकेतों में पाया जाता है नहीं है के साथ वास्तव में हार्मोनिक मकसद का एक बहुत लंबा अनुक्रम का परिणाम हो सकता है।

+0

तो सेपस्ट्रम परिणामों को साफ करने की कोशिश करना अवास्तविक है। क्या पहले और आखिरी कई डिब्बे फेंकना आम है? क्या कोई और स्पष्टीकरण तकनीक है जिसका मैं उपयोग कर सकता हूं? – brodney

+0

@ fast4ear: डीसी के पास डिब्बे में फॉर्मेंट के बारे में जानकारी होती है। यदि आपको फॉर्मेंट के आकार की परवाह नहीं है, तो आपको उन डिब्बे में जानकारी की आवश्यकता नहीं हो सकती है। – hotpaw2

+0

तो अगर मैं 44100 हर्ट्ज पर नमूना कर रहा हूं और मेरे पास 4096 बिन नमूना है, और मुझे 440 हर्ट्ज में दिलचस्पी है, तो मैं आवृत्ति डोमेन में बिन 82 ((22050/4096) * 82) में देखता हूं। क्या मुझे quefrency डोमेन में bin 82 में भी देखना चाहिए? या मैं बिन 50 (22050/440) में देखता हूँ? – brodney

1

यदि मैं अच्छी तरह से समझता हूं, तो प्राथमिक समस्या ऑडियो सिग्नल से आवृत्ति का पता लगाना है।

सुनिश्चित करें कि आप स्पेक्ट्रम में सबसे मजबूत आवृत्ति मतलब तो मैं इस उत्कृष्ट पुस्तकालय http://www.schmittmachine.com/dywapitchtrack.html

उपयोग करने के लिए सुझाव है कि के लिए "एल्गोरिथ्म के दिल एक बहुत शक्तिशाली तरंगिका एल्गोरिथ्म, एरिक लार्सन और रॉस द्वारा एक पत्र में वर्णित है मैडॉक्स: यूआईयूसी भौतिकी के "वेवलेट्स का उपयोग कर रीयल-टाइम टाइम-डोमेन पिच ट्रैकिंग"। "

आशा इस मदद

+0

इस उत्तर को जोड़ने के लिए धन्यवाद! टूलबॉक्स में एक और उपकरण हमेशा मदद करता है, खासतौर से ऐसी कठोर समस्या के लिए। मैं इसे आज रात देखूंगा और परिणामों के साथ जवाब दूंगा। – brodney

+0

यह एक बहुत ही प्रभावशाली एल्गोरिदम है। मैंने स्टीनवे नमूने का उपयोग करके एक डिजिटल पियानो का उपयोग करके परीक्षण किया और यह सी 2 और सी 5 के बीच उचित रूप से सटीक था। साफ खोज, साझा करने के लिए फिर से धन्यवाद। – brodney

2

निम्नलिखित विश्लेषण सिंथेटिक और वास्तविक दुनिया संकेतों पर cepstrum के प्रदर्शन को दिखाता है।

सबसे पहले हम सिंथेटिक सिग्नल की जांच करते हैं।

नीचे दी गई साजिश एक सिंथेटिक स्थिर-स्थिति ई 2 नोट दिखाती है, जो एक सामान्य पास-डीसी घटक का उपयोग करके संश्लेषित होती है, 82.4 हर्ट्ज पर एक मौलिक, और 82.4 हर्ट्ज के पूर्णांक गुणक पर कुल 8 हार्मोनिक्स दिखाती है। कृत्रिम साइनसॉइड को 40 9 6 नमूने उत्पन्न करने के लिए प्रोग्राम किया गया था।

Synthetic E2 note spectrum

नीचे साजिश इनपुट कि सिंथेटिक E2 नोट के cepstrum गणना के लिए इस्तेमाल किया गया था की एक क्लोज अप को दर्शाता है। सिंथेटिक ई 2 नोट से यह लॉग (| एफएफटी |^2) आउटपुट है।

Cepstrum input: synthetic E2 note's spectrum

नीचे साजिश सिंथेटिक E2 नोट के cepstrum को दर्शाता है। 12.36 पर प्रमुख गैर-डीसी चोटी का निरीक्षण करें। सेप्स्ट्रम चौड़ाई 1024 (दूसरी एफएफटी का उत्पादन) है, इसलिए चोटी 1024/12.36 = 82.8 हर्ट्ज से मेल खाती है जो मौलिक के वास्तविक 82.4 हर्ट्ज के बहुत करीब है।

Synthetic E2 note cepstrum closeup

अब हम एक वास्तविक दुनिया संकेत जांच करते हैं।

नीचे दी गई साजिश एक वास्तविक ध्वनिक गिटार से ई 2 नोट के स्पेक्ट्रम को दिखाती है।

Guitar E2 note spectrum closeup

नीचे साजिश इनपुट कि ध्वनिक गिटार के E2 नोट के cepstrum गणना के लिए इस्तेमाल किया गया था की एक क्लोज अप को दर्शाता है। यह ध्वनिक गिटार के ई 2 नोट से लॉग (| एफएफटी |^2) आउटपुट है।

enter image description here

नीचे साजिश ध्वनिक गिटार के E2 नोट के cepstrum को दर्शाता है। 542.8 पर प्रमुख गैर-डीसी चोटी का निरीक्षण करें। सेप्स्ट्रम चौड़ाई 32768 (दूसरी एफएफटी का उत्पादन) है, इसलिए चोटी 32768/542.8 = 60.4 हर्ट्ज से मेल खाती है जो मौलिक के वास्तविक 82.4 हर्ट्ज से काफी दूर है।

Guitar E2 note cepstrum closeup

E2 गिटार इस विश्लेषण स्टूडियो परिस्थितियों में एक उच्च गुणवत्ता वाले माइक्रोफोन के साथ 44.1 kHz पर नमूना था के लिए इस्तेमाल किया टिप्पणी की रिकॉर्डिंग, यह अनिवार्य रूप से शून्य पृष्ठभूमि शोर है, और कोई अन्य उपकरणों या आवाज में शामिल है।

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

संदर्भ:

रियल ऑडियो संकेत डेटा, सिंथेटिक संकेत पीढ़ी, भूखंडों, FFT, और Cepstral विश्लेषण यहाँ किया गया: Musical instrument cepstrum

+0

आपके ग्राफ इसे बहुत अच्छी तरह से जोड़ते हैं। मैंने सेप्स्ट्रम छोड़ दिया क्योंकि यह एक एल्गोरिदमिक निर्णय लेने के लिए अचूक रूप से शोर है। – brodney

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