मैं एक बहुत ही संकीर्ण फिल्टर कैसे डिजाइन कर सकता हूं?


15

मान लीजिए कि मुझे हर्ट्ज पर एक ऑडियो सिग्नल मिला है , और मैं एक कम-पास फ़िल्टर डिज़ाइन करना चाहूंगा जो कि ~ हर्ट्ज से नीचे की हर चीज़ को अलग कर दे । डिजिटल दुनिया में, यह पासबैंड के साथ पर एक कम-पास फिल्टर है । इसके अलावा, संक्रमण बैंड भी उचित होना चाहिए। इसके लिए एफआईआर फिल्टर का निर्माण करने से बहुत सारे नल हो सकते हैं जो लंबे समय में सटीक को प्रभावित करते हैं। एक IIR फ़िल्टर बहुत आदर्श नहीं है क्योंकि ऑडियो फ़िल्टर में गैर-रैखिक-चरण प्रतिक्रिया के लिए ग्रस्त है, इसलिए जब तक कि सिग्नल फ़िल्टर नहीं किया जाता है, तब तक उलट और फ़िल्टर किया जाता है, यह वास्तव में एक विकल्प नहीं है।4800060[-π400,π400]

क्या इन-वन-गो नियमित फ़िल्टरिंग से बेहतर हो सकता है?


क्या कोई कारण है जो आप नहीं करना चाहते हैं?
लोरम इप्सम

नहीं, जब तक मैं जो चाहता हूं मुझे प्राप्त करना ठीक है।
फोनॉन

1
"उचित" संक्रमण बैंड क्या है? वह आपके फ़िल्टर के क्रम को निर्धारित करने वाला है। यदि आपका स्टॉपबैंड 300 हर्ट्ज से शुरू होता है, उदाहरण के लिए, आप शायद बहुत अच्छे आकार में हैं। यदि आप 60.1 हर्ट्ज जैसी किसी चीज पर उच्च क्षीणन चाहते हैं, तो यह लंबा होने वाला है। हालांकि, लंबे एफआईआर फिल्टर जरूरी खराब नहीं हैं,
जेसन आर

5
आपको एक वास्तविक फ़िल्टर विनिर्देश की आवश्यकता है अन्यथा प्रश्न निरर्थक है। स्वीकार्य पासबैंड रिपल, स्टॉपबैंड रिजेक्शन, ट्रांज़िशन बैंड की चौड़ाई आदि
पॉल आर।

समझ में आता है। करूँगा।
फोनॉन

जवाबों:


20

यदि आप इंजीनियरिंग के समय के लिए अनुकूलन कर रहे हैं और एक ऐसे प्लेटफ़ॉर्म पर हैं जो बड़े एफएफटी को अच्छी तरह से समर्थन करता है (i..e निश्चित बिंदु नहीं), तो हॉटपाव 2 की सलाह लें और तेजी से दृढ़ संकल्प का उपयोग करें । यह एक भोली एफआईआर कार्यान्वयन से बहुत बेहतर प्रदर्शन करेगा और इसे लागू करना अपेक्षाकृत आसान होना चाहिए।

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

मुझे तेजी से कनवल्शन और मल्टीरेट फ़िल्टरिंग टूल्स के भरोसेमंद और अत्यधिक अनुकूलित कार्यान्वयन तक पहुँच मिली है। मल्टीरिट संरचना की तुलना में तेजी से कन्वेन्शन को समतुल्य सिग्नल प्रदर्शन प्राप्त करने में लगभग 3x समय लगता है। इसके अलावा, यह भी एक अस्थायी बिंदु मंच पर है। यह अंतर एक निश्चित बिंदु dsp पर काफी चौड़ा हो जाएगा।

आम तोर पे:

नीचे-रूपांतरण:

अपने 48kHz सिग्नल को 187.5 हर्ट्ज सिग्नल में बदलने के लिए हाफबैंड के 8 चरणों का उपयोग करें। इस डाउनसमलिंग के पहले चरण में एक बहुत ही विस्तृत संक्रमण बैंड हो सकता है, जिससे उर्जा को तब तक उर्जा प्राप्त करने की अनुमति मिलती है जब तक कि वह उप 60 हर्ट्ज श्रेणी में वापस नहीं आ जाए। जैसा कि चरणों की प्रगति होती है, नल की संख्या में वृद्धि करने की आवश्यकता होती है, लेकिन उन्हें उत्तरोत्तर कम नमूना दरों पर लागू किया जाएगा, इसलिए प्रत्येक चरण की कुल लागत छोटी रहती है।

फ़िल्टर करना:

60 हर्ट्ज bw के आसपास अपने तंग फ़िल्टरिंग प्रदर्शन ऊर्जा रखने के लिए आप अंततः घटाना चाहते हैं। कम दर पर अपने तंग फ़िल्टरिंग करने का दोहरा फायदा है:

  1. 1 गीगाहर्ट्ज़ बैंडविड्थ की डिजिटल दर, मूल दर बनाम डिजिटल आवृत्ति के मामले में 256 गुना बड़ी है। तो आपके फ़िल्टर का हर टैप 256 गुना शक्तिशाली है।
  2. संकेत स्वयं कम दर पर है, इसलिए फ़िल्टर को केवल 1/256 डेटा संसाधित करने की आवश्यकता है।

ऊपर-रूपांतरण:

अनिवार्य रूप से, यह विघटन चरणों का उल्टा है। 8 इंटरपोलर चरणों में से प्रत्येक लगातार इनपुट नमूनों के बीच जाने वाले नमूने का अनुमान लगाकर दर को दोगुना कर देता है। संक्रमण बैंड व्यापक हो जाता है क्योंकि नमूना दर अधिक हो जाती है।

घटाएँ:

मूल संकेत से अपने पूर्ण-दर कम-फ़िल्टर्ड सिग्नल को घटाएं। यदि आपने सभी समूह देरी के लिए ठीक से समायोजित किया है, तो समग्र संरचना एक संकीर्ण संक्रमण बैंडविड्थ के साथ एक हाईपास फ़िल्टर होगा।


यह एक शानदार जवाब है। क्या इस पोस्ट पर आपकी टिप्पणी हो सकती है? dsp.stackexchange.com/questions/29655/…
richieqianle

6

सबसे लंबे समय तक FFT / IFFT के साथ कनवल्शन फ़िल्टर को बचाने / बचाने का प्रयास करें जो आपकी विलंबता और कम्प्यूटेशनल प्रदर्शन बाधाओं को फिट करता है। आप इस विधि का उपयोग करते हुए एफएफटी के साथ बहुत लंबे एफआईआर फिल्टर डिजाइन कर सकते हैं।

यदि आप एक बहुत लंबे एफएफटी + आईएफएफटी में (एक विशेष एफएफटी एल्गोरिदम हैं जो डीसीके या रैम में फिट नहीं होते हैं), तो आप पूरे गाने, या अपनी पूरी ऑडियो सिग्नल फ़ाइल को एफएफटी कर सकते हैं, आपको कोई भी करने की आवश्यकता नहीं होगी। ओवरलैप जोड़ने / प्रसंस्करण को बचाने, और आप एक बहुत ही संकीर्ण संक्रमण बैंड प्राप्त कर सकते हैं।


4

स्पष्ट रूप से दो विकल्प हैं: एफआईआर और आईआईआर। जैसा कि पहले ही कहा गया है कि एफआईआर के लिए एक बहुत लंबी (अत्यधिक नलिकाएं) आवेग प्रतिक्रिया की आवश्यकता होती है और यह स्मृति के मामले में महंगी है, ओवरलैप ऐड / सेव के साथ MIPS और विलंबता सबसे कुशल विकल्प है। हालाँकि, विलंबता एक वास्तविक मुद्दा हो सकता है। यदि आप होम थिएटर सबवूफर के लिए एक उच्च पास के रूप में उपयोग करना चाहते हैं, तो विलंबता इतनी अधिक होगी कि आप वीडियो के साथ लिप सिंक खो देंगे।

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

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