IIR फिल्टर का क्या मतलब है अनंत?


11

मुझे यह समझने में कठिनाई हो रही है कि IIR क्या "अनंत" व्यवहार में है..इस सिद्धांत में आवेग प्रतिक्रिया के लिए उपयोग किया जाता है..यदि यह प्रतिक्रिया कभी समाप्त नहीं होती है तो आउटपुट कैसे उत्पन्न होता है?

जवाबों:


18

उस प्रश्न का उत्तर देने के लिए आपको यह जानना होगा कि "आवेग" और "प्रतिक्रिया" का क्या अर्थ है ...

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

"रिस्पांस" एक फिल्टर (या कुछ और) का आउटपुट है जिसे आवेग दिया जाता है।

उदाहरण के लिए, आप कमरे में जाकर, एक साधारण हाथ से ताली बजाकर, और प्रतिध्वनि सुनकर "एक कमरे की आवेग प्रतिक्रिया" को सुन सकते हैं। हाथ की ताली को जितना संभव हो सके उतना तेज करने के लिए कुछ अभ्यास करना होगा। एक फिल्टर की आवेग प्रतिक्रिया प्राप्त करना उसी तरह है लेकिन एक हाथ की ताली के बजाय आप एक साधारण नाड़ी का उपयोग करते हैं और एक कमरे के बजाय आपके पास एक फिल्टर होता है।

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

अब, एक एफआईआर फिल्टर (फिनाइट इम्पल्स रिस्पांस) परिमित है क्योंकि आवेग प्रतिक्रिया समय गणित द्वारा सीमित है। यह फिल्टर में नल की संख्या से आगे बढ़ाने के लिए आवेग प्रतिक्रिया समय के लिए गणितीय रूप से असंभव है - इसलिए यह परिमित है

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


अच्छी व्याख्या के लिए धन्यवाद! IIR में प्रतिक्रिया कहां होती है?
गोरिल्लाएप

2
@Parhs: प्रतिक्रिया इसलिए होती है क्योंकि वर्तमान आउटपुट पिछले इनपुट और आउटपुट मानों से प्राप्त होता है , जबकि FIR फ़िल्टर के लिए आउटपुट केवल पिछले इनपुट मानों से प्राप्त होता है।
पॉल आर

1
@Parha फीडबैक टोपोलॉजी का एक साइड इफेक्ट है। और टोपोलॉजी द्वारा, मेरा मतलब है कि प्रवाह आरेख या फिल्टर के "योजनाबद्ध" दृश्य जैसा कुछ। मूल रूप से, एक चरण में एक गणित ऑपरेशन के परिणाम पिछले चरण में एक और ऑपरेशन को खिलाते हैं। यही फीडबैक है। अधिकांश लोगों को एफआईआर का उपयोग करना आसान लगता है क्योंकि उनके पास वह फीडबैक नहीं है। उस प्रतिक्रिया को सही ढंग से काम करना मुश्किल है, लेकिन इसमें बहुत अधिक दक्षता है।

एक IIR प्रणाली में आंतरिक स्थिति होती है जो सभी समय के लिए पिछले इनपुट को याद करती है। जिस तरह से आप इसे मॉडल करते हैं, वह पिछले आउटपुटों को वर्तमान आउटपुट में वापस फीड करने के लिए है, जैसे कि यह डायरेक्ट फॉर्म 1 बीकाड, या समकक्ष इनपुट पर एक फीडबैक लूप, जैसे कि यह डायरेक्ट फॉर्म 2 कैनोनिकल बाइकाड।
इरीक सन

11


0y0z-111मैं


z-1

यहाँ छवि विवरण दर्ज करें

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

यहाँ छवि विवरण दर्ज करें


1
कुछ मामलों में अवांछित परिणाम देने वाले लूपिंग सिंगल कैंट असुरक्षित हो सकते हैं?
गोरिल्लाएप

2
यह निश्चित रूप से कर सकते हैं। गलत फीडबैक रास्तों या लाभों का उपयोग करें और आप एक अस्थिर फ़िल्टर या एक ऐसा बना सकते हैं जो किसी चीज़ को हमेशा के लिए छोड़ देता है। आम तौर पर ऐसा नहीं है कि आप "फ़िल्टर" करना चाहते हैं, इसलिए स्थिरता का विश्लेषण करने और अस्थिरता से बचने के लिए तकनीकें हैं।
ओलिन लेथ्रोप

क्या सभी फीडबैक टर्म्स से योग को फीडबैक चेन की शुरुआत में वापस फीड करना होता है, या बाद के टर्म से आउटपुट को बाद के टर्म्स में इनपुट किया जा सकता है? हालांकि मैं उम्मीद करूंगा कि कोई भी फ़िल्टर जिसे बाद के तरीके से महसूस किया जा सकता है वह आपके द्वारा सचित्र रूप में तब्दील हो सकता है, मैं औसत मानूंगा कि IIR फ़िल्टर का एक उपयोगी उपवर्ग है जो कैस्केड फर्स्ट-ऑर्डर फ़िल्टर से बनाया जा सकता है (जहाँ प्रत्येक प्रत्येक राइट-साइड टर्म का आउटपुट खुद को फ़ीड कर सकता है लेकिन इसके पूर्ववर्तियों में से कोई भी नहीं)
सुपरकैट

1
-1-2

@stevenvh: जैसा कि मैंने अपने उत्तर में उल्लेख किया है, वहाँ IIR फ़िल्टर का एक उपयोगी उपसमूह है जहाँ एक मंच वापस खुद को खिला सकता है लेकिन पिछले चरण में नहीं; मुझे नहीं पता कि मैंने ऐसे फिल्टर का वर्णन करने के लिए एक शब्द पढ़ा है, लेकिन वे सामान्यीकृत IIR फ़िल्टर की तुलना में अधिक आसान हैं। यद्यपि वे सही गुणांक के साथ ऊपर के रूप में प्रस्तुत किए जा सकते हैं, उस रूप में इस तरह के फिल्टर (क्या उनके लिए कोई शब्द है?) को पहचानना कठिन होगा।
सुपरकैट

4

डिजिटल फ़िल्टर के दो व्यापक वर्ग हैं, अनंत प्रत्यारोपण प्रतिक्रिया (IIR) और परिमित आवेग प्रतिक्रिया (FIR)। मोटे तौर पर, IIR फ़िल्टर समीकरण-आधारित और FIR फ़िल्टर टेबल-आधारित हैं।

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

बहुत ही सामान्य एकल पोल कम पास IIR फ़िल्टर के रूप में व्यक्त किया जा सकता है:

FILT <- FILT + FF (NEW - FILT)

इसका मतलब है कि प्रत्येक पुनरावृत्ति आउटपुट अगर इनपुट के लिए दूरी का एक निश्चित अंश (एफएफ, "फिल्टर अंश") ले गया। यह कल्पना करना आसान है जब एफएफ = 1/2। यदि सब कुछ 0 है और इनपुट अचानक 1 हो जाता है और वहां (एक इकाई चरण) रहता है, तो आउटपुट 1/2, 3/4, 7/8, 15/16, आदि होगा। यह एक अनंत श्रृंखला है। आखिरकार मूल्य 1 के इतने करीब पहुंच जाएगा कि इसे 1 के रूप में व्यक्त किया जाता है क्योंकि कंप्यूटर में डिजिटल मानों में असीम परिशुद्धता नहीं है।

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

इस सामान पर पूरी किताबें लिखी गई हैं और आप कॉलेज के कई सेमेस्टर पाठ्यक्रम को इस गहनता में बिता सकते हैं। उम्मीद है कि मेरा 30 सेकंड का अवलोकन आपके प्रश्न का उत्तर देने के लिए पर्याप्त है।


1

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

यदि IIR फ़िल्टर के चरणों को रैंक किया जा सकता है, और यदि किसी दिए गए चरण के लिए आत्म-प्रतिक्रिया गुणांक का कुल परिमाण एक से कम है, तो IIR फ़िल्टर स्थिर होने की गारंटी है। यदि, उदाहरण के लिए, एक चरण में पिछले चरणों से संकेत की कुछ राशि शामिल है, तो उस चरण के पिछले मूल्य का आधा हिस्सा और उससे पहले के मूल्य का 1/4, उससे पहले के मूल्य का शून्य से 1/8, स्व की कुल परिमाण फीडबैक 7/8 होगा, इसलिए निम्न चरणों से अनुपस्थित इनपुट स्वयं-प्रतिक्रिया से योगदान का परिमाण 12.5% ​​तक कम हो जाएगा।


0

एक एफआईआर, तत्वों की एक परिमित संख्या पर अपना गणित करती है, 32 या 12 या कुछ संख्या बताती है, लेकिन यही गणित करता है, तत्वों की एक परिमित संख्या ले और उन पर केवल फ़िल्टर करें।

एक IIR, अपने सभी नमूनों पर अपना गणित लगाती है। यदि आप इसे 10 नमूने खिलाते हैं और इसे रोकते हैं तो यह 10 नमूनों पर काम करता है, यदि आप इसे 1,000,000,000 नमूने खिलाते हैं तो गणित 1,000,000,000 नमूनों पर संचालित होता है। और अगर आप अनिश्चित काल तक चलने वाली चीज को छोड़ते हैं, तो अनंत के करीब पहुंचते हैं (इसे हमेशा के लिए चलने दें) तो इसी तरह तत्वों की संख्या अनिश्चितता के करीब पहुंचती है। क्योंकि परिमित शब्द स्पष्ट रूप से अन्य मॉडल पर लागू होता है, और IIR मॉडल का उद्देश्य परिमित संख्या में नमूने नहीं होना है, शब्द परिमित के रूप में अनंत केवल अनिश्चित या कुछ अन्य ऐसे शब्द से बेहतर लगता है।


"1,000,000,000 नमूनों पर संचालित"। ठीक है, सीधे नहीं। क्योंकि आउटपुट का हिस्सा अगले नमूने के लिए गणना में उपयोग किया जाता है, हमेशा पिछले नमूनों के निशान होंगे। फ़िल्टर हमेशा बहुत सीमित संख्या में नमूने रखेगा। और यह "अनिश्चित" नहीं है; यह निर्धारक है, भले ही यह अस्थिर हो।
स्टीवनव

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

गणना में तत्वों की अनंत बनाम परिमित संख्या IIR और FIR के बीच अंतर नहीं है। सबसे सरल IIR डेटा के केवल 2 तत्वों पर काम करता है: इनपुट से 1, आउटपुट से 1।
16

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