MATLAB के छानने से क्या फायदा


30

MATLAB filtfiltएक आगे-पीछे की फ़िल्टरिंग करता है, अर्थात, फ़िल्टर, सिग्नल को रिवर्स, फ़िल्टर फिर से और फिर से रिवर्स। जाहिरा तौर पर यह चरण अंतराल को कम करने के लिए किया गया है? ऐसे फ़िल्टरिंग का उपयोग करने के क्या फायदे / नुकसान हैं (मुझे लगता है कि इसके परिणामस्वरूप फ़िल्टर ऑर्डर में प्रभावी वृद्धि होगी)।

क्या इसके filtfiltबजाय हमेशा उपयोग करना बेहतर होगा filter(यानी, केवल आगे फ़िल्टरिंग)? क्या ऐसे कोई अनुप्रयोग हैं जहाँ इसका उपयोग करना आवश्यक है और जहाँ इसका उपयोग नहीं किया जाना चाहिए?


ऑडियो के लिए शून्य-चरण फ़िल्टरिंग का उपयोग न करें, क्योंकि यह "प्री-रिंगिंग" का कारण बनता है जो अजीब लगता है। न्यूनतम-चरण फ़िल्टरिंग अधिक प्राकृतिक है। ccrma.stanford.edu/~jos/filters/Linear_Phase_Really_Ideal.html
endolith

जवाबों:


34

आप इसे फ़्रीक्वेंसी डोमेन में देख सकते हैं। यदि इनपुट अनुक्रम है और फ़िल्टर का आवेग प्रतिक्रिया है, तो पहले फ़िल्टर का परिणाम हैx[n]h[n]

X(ejω)H(ejω)

साथ और के फूरियर रूपांतरण और , क्रमशः। टाइम रिवर्सल , फ़्रीक्वेंसी डोमेन में द्वारा करने से मेल खाता है , इसलिए समय-रिवर्सल के बाद हमें मिलेगाX(ejω)H(ejω)x[n]h[n]ωω

X(ejω)H(ejω)

दूसरा फ़िल्टर पास साथ दूसरे गुणन से मेल खाता है :H(ejω)

X(ejω)H(ejω)H(ejω)

जो समय-उत्क्रमण के बाद अंततः आउटपुट सिग्नल के स्पेक्ट्रम के लिए देता है

(1)Y(ejω)=X(ejω)H(ejω)H(ejω)=X(ejω)|H(ejω)|2

क्योंकि वास्तविक-मूल्यवान फ़िल्टर गुणांक के लिए हमारे पास । समीकरण (1) से पता चलता है कि आउटपुट स्पेक्ट्रम आवृत्ति प्रतिक्रिया के साथ एक फिल्टर के साथ फ़िल्टर करके प्राप्त किया जाता है , जो विशुद्ध रूप से वास्तविक-मूल्यवान है, अर्थात इसका चरण शून्य है और परिणामस्वरूप हैं। कोई चरण विकृतियां नहीं।H(ejω)=H(ejω)|H(ejω)|2

यह सिद्धांत है। वास्तविक समय प्रसंस्करण में निश्चित रूप से काफी बड़ी देरी होती है क्योंकि समय-उत्क्रमण केवल तभी काम करता है जब आप इनपुट ब्लॉक की लंबाई के अनुरूप एक विलंबता की अनुमति देते हैं। लेकिन यह इस तथ्य को नहीं बदलता है कि कोई चरण विकृतियां नहीं हैं, यह आउटपुट डेटा का सिर्फ एक अतिरिक्त विलंब है। एफआईआर फ़िल्टरिंग के लिए, यह दृष्टिकोण विशेष रूप से उपयोगी नहीं है, क्योंकि आप एक नए फ़िल्टर को परिभाषित कर सकते हैं और साधारण फ़िल्टरिंग के साथ एक ही परिणाम प्राप्त कर सकते हैं। IIR फ़िल्टर के साथ इस पद्धति का उपयोग करना अधिक दिलचस्प है, क्योंकि उनके पास शून्य-चरण (या रैखिक चरण, यानी शुद्ध देरी) नहीं हो सकता है।h^[n]=h[n]h[n]

कुल मिलाकर:

  • यदि आपको IIR फ़िल्टर की आवश्यकता है या आप शून्य चरण विरूपण चाहते हैं, और प्रसंस्करण में देरी कोई समस्या नहीं है, तो यह विधि उपयोगी है

  • यदि विलंब में प्रसंस्करण एक समस्या है तो आपको इसका उपयोग नहीं करना चाहिए

  • यदि आपके पास एक एफआईआर फिल्टर है, तो आप आसानी से एक नई एफआईआर फिल्टर प्रतिक्रिया की गणना कर सकते हैं जो इस पद्धति का उपयोग करने के बराबर है। ध्यान दें कि एफआईआर फिल्टर के साथ एक बिल्कुल रैखिक चरण हमेशा महसूस किया जा सकता है।


मैंने एक टैग बनाया है maximum-aposteriori-estimation। क्या आप कृपया इसका नाम बदल सकते हैं maximum-a-posteriori-estimation? गलती से मैं -बाद में भूल गया a। धन्यवाद।
रॉय

15

मुझे यह वीडियो बहुत मददगार लगा, यह मैट के जवाब पर विस्तृत है।

यहाँ वीडियो से कुछ महत्वपूर्ण विचार दिए गए हैं:

  • शून्य-चरण के परिणामस्वरूप कोई चरण विरूपण नहीं होगा, लेकिन परिणामस्वरूप गैर-कारण फ़िल्टर होगा। इसका मतलब है कि यदि डेटा को फ़िल्टर किया जा रहा है क्योंकि यह इकट्ठा है, यह एक विकल्प नहीं होगा (केवल संग्रहीत डेटा के लिए मान्य है जिसे हम पोस्ट-प्रोसेस कर सकते हैं)।यहां छवि विवरण दर्ज करें
  • जब आप एक गैर-कारण फ़िल्टर लागू करते हैं, तो ग्राहक आगे और पीछे की ओर धुंधला हो जाते हैं (जैसे कि यदि हम 2dB रिपल चाहते हैं, तो इस तथ्य का कि हम फ़िल्टर का उपयोग करके आगे और पीछे चलने वाले हैं, जिसका अर्थ है कि हम प्रत्येक को चाहते हैं ये 1dB है)।यहां छवि विवरण दर्ज करें
  • असतत समय फूरियर रूपांतरण के समय-उलट संपत्ति का उपयोग करता है। यहां छवि विवरण दर्ज करें
  • FILTFILT की वजह से प्रभावी आवृत्ति प्रतिक्रिया एक दिशा में उस की भयावहता है, चुकता। आप अपना इनपुट सिग्नल लेते हैं x[n], इसे फ़िल्टर करते हैं, परिणाम को उल्टा करते हैं, इसे फिर से फ़िल्टर करते हैं, और इसे फिर से रिवर्स करते हैं (समय-उलट कदम के लिए आवश्यक है कि सभी डेटा उपलब्ध हों)।यहां छवि विवरण दर्ज करें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.