फास्ट फूरियर रूपांतरण लेता है संचालन, जबकि फास्ट तरंगिका रूपांतरण लेता है । लेकिन क्या, विशेष रूप से, FWT गणना करता है?
हालांकि उनकी तुलना अक्सर की जाती है, ऐसा लगता है जैसे एफएफटी और एफडब्ल्यूटी सेब और संतरे हैं। जैसा कि मैं इसे समझता हूं, जटिल मोरलेट डब्ल्यूटी के साथ एसटीएफटी (समय के साथ छोटे चंक्स के एफएफटी) की तुलना करना अधिक उचित होगा , क्योंकि वे दोनों जटिल साइनसोइड के आधार पर समय-आवृत्ति प्रतिनिधित्व हैं (कृपया मुझे गलत होने पर सही करें) )। इसे अक्सर इस तरह से आरेख के साथ दिखाया जाता है:
( एक और उदाहरण )
बायां पता चलता है कि कैसे एसटीएफटी समय बीतने के साथ एक दूसरे के ऊपर खड़ी एफएफटी का एक गुच्छा है (यह प्रतिनिधित्व स्पेक्ट्रोग्राम की उत्पत्ति है ), जबकि दायां डायडिक डब्ल्यूटी दिखाता है, जिसमें उच्च आवृत्तियों पर बेहतर समय संकल्प और बेहतर आवृत्ति होती है। कम आवृत्तियों पर रिज़ॉल्यूशन (इस प्रतिनिधित्व को स्केलोग्राम कहा जाता है )। इस उदाहरण में, STFT के लिए खड़ी स्तंभों की संख्या (6), और एक एकल है FFT आपरेशन की एक पंक्ति की गणना से गुणांक नमूने हैं। कुल 8 अंकों के 8 एफएफटी हैं, या टाइम डोमेन में 48 नमूने हैं।
मुझे क्या समझ में नहीं आता:
कितने गुणांक एकल एफडब्ल्यूटी ऑपरेशन की गणना करते हैं, और वे समय-आवृत्ति चार्ट पर कहां स्थित हैं?
कौन सी आयतें एक एकल संगणना से भर जाती हैं?
यदि हम दोनों का उपयोग करते हुए समय-आवृत्ति गुणांक के बराबर-क्षेत्र ब्लॉक की गणना करते हैं, तो क्या हमें समान मात्रा में डेटा मिलता है?
एफडब्ल्यूटी एफएफटी की तुलना में अभी भी अधिक कुशल है?
PyWavelets का उपयोग करके ठोस उदाहरण :
In [2]: dwt([1, 0, 0, 0, 0, 0, 0, 0], 'haar')
Out[2]:
(array([ 0.70710678, 0. , 0. , 0. ]),
array([ 0.70710678, 0. , 0. , 0. ]))
यह 4 गुणांक के दो सेट बनाता है, इसलिए यह मूल सिग्नल में नमूनों की संख्या के समान है। लेकिन इन 8 गुणांक और आरेख में टाइल के बीच संबंध क्या है?
अद्यतन करें:
वास्तव में, मैं शायद यह गलत कर रहा था, और इसका उपयोग करना चाहिए wavedec()
, जो बहु-स्तरीय DWT अपघटन करता है:
In [4]: wavedec([1, 0, 0, 0, 0, 0, 0, 0], 'haar')
Out[4]:
[array([ 0.35355339]),
array([ 0.35355339]),
array([ 0.5, 0. ]),
array([ 0.70710678, 0. , 0. , 0. ])]