प्रश्न में सामने आई समस्या का कोई बंद-रूप समाधान नहीं है। जैसा कि प्रश्न में उल्लेख किया गया है और अन्य उत्तरों में दिखाया गया है, परिणाम को एक श्रृंखला में विकसित किया जा सकता है, जिसे किसी भी प्रतीकात्मक गणित उपकरण जैसे कि गणितज्ञ द्वारा पूरा किया जा सकता है। हालांकि, शब्द काफी जटिल और बदसूरत हो जाते हैं, और यह स्पष्ट नहीं है कि जब हम तीसरे क्रम तक के शब्दों को शामिल करते हैं तो यह कितना अच्छा होता है। चूंकि हम एक सटीक सूत्र नहीं प्राप्त कर सकते हैं, इसलिए समाधान को संख्यात्मक रूप से गणना करना बेहतर हो सकता है, जो कि अनुमान के विपरीत, एक (लगभग) सटीक परिणाम देगा।
हालाँकि, यह मेरा उत्तर नहीं है। मैं एक अलग मार्ग सुझाता हूं जो समस्या निर्माण को बदलकर एक सटीक समाधान देता है। कुछ समय के लिए इसके बारे में सोचने के बाद यह पता चलता है कि यह केंद्र आवृत्ति का विनिर्देश है और बैंडविड्थ का विनिर्देश एक अनुपात (या, समतुल्य रूप से, ओक्टेव में) के रूप में है जो गणितीय अंतरंगता का कारण बनता है। दुविधा से बाहर आने के दो तरीके हैं:ω0
- असतत-समय फ़िल्टर की बैंडविड्थ को आवृत्तियों के अंतर के रूप में निर्दिष्ट करें , जहां और असतत-समय फ़िल्टर के निचले और ऊपरी बैंड किनारे हैं।Δω=ω2−ω1ω1ω2
- अनुपात लिख , और बदले की दो बढ़त आवृत्तियों की विहित एक या ।ω2/ω1ω0ω1ω2
दोनों मामलों में, एक सरल विश्लेषणात्मक समाधान संभव है। चूंकि यह असतत-समय फिल्टर के बैंडविड्थ को एक अनुपात के रूप में (या, समतुल्य रूप से, ओक्टेव्स) में संरक्षित करने के लिए वांछनीय है , मैं दूसरे दृष्टिकोण का वर्णन करूंगा।
आइए एज-फ्रिक्वेंसी और को निरंतर समय फ़िल्टर द्वारा परिभाषित करेंΩ1Ω2
|H(jΩ1)|2=|H(jΩ2)|2=12(1)
साथ , जहां एक दूसरे क्रम बैंड पास फिल्टर के हस्तांतरण समारोह है:Ω2>Ω1H(s)
H(s)=ΔΩss2+ΔΩs+Ω20(2)
साथ , और । ध्यान दें कि , और for ।ΔΩ=Ω2−Ω1Ω20=Ω1Ω2H(jΩ0)=1|H(jΩ)|<1Ω≠Ω0
हम धार आवृत्तियों के किनारे आवृत्तियों और को धार आवृत्तियों और के निरंतर-समय फ़िल्टर के लिए के लिए का उपयोग करते हैं। व्यापकता के नुकसान के बिना हम चुन सकते हैं । हमारे उद्देश्यों के लिए बिलिनियर का रूप बदल जाता हैω1ω2Ω1Ω2Ω1=1
s=1tan(ω12)z−1z+1(3)
निरंतर-समय और असतत-समय आवृत्तियों के बीच निम्नलिखित संबंध के लिए:
Ω=tan(ω2)tan(ω12)(4)
से हम सेट करके प्राप्त । साथ और से गणना की , हम से एनालॉग प्रोटोटाइप फिल्टर के हस्तांतरण समारोह प्राप्त । बिलिनियर ट्रांसफ़ॉर्म लागू करने पर , हमें असतत-टाइम बैंड पास फिल्टर का ट्रांसफर फंक्शन मिलता है:(4)Ω2ω=ω2Ω1=1Ω2(4)(2)(3)
Hd(z)=g⋅z2−1z2+az+b(5)
साथ में
gabc=ΔΩc1+ΔΩc+Ω20c2=2(Ω20c2−1)1+ΔΩc+Ω20c2=1−ΔΩc+Ω20c21+ΔΩc+Ω20c2=tan(ω12)(6)
सारांश:
असतत समय फिल्टर की बैंडविड्थ को ओक्टेव्स (या, आम तौर पर, एक अनुपात के रूप में) में निर्दिष्ट किया जा सकता है, और एनालॉग प्रोटोटाइप फ़िल्टर के मापदंडों को बिल्कुल गणना की जा सकती है, जैसे कि निर्दिष्ट बैंडविड्थ हासिल की जाती है। केंद्र आवृत्ति बजाय , हम बैंड किनारों और निर्दिष्ट करते हैं । द्वारा परिभाषित केंद्र आवृत्ति डिजाइन का एक परिणाम है।ω0ω1ω2|Hd(ejω0)|=1
आवश्यक कदम इस प्रकार हैं:
- निर्दिष्ट बैंड के वांछित अनुपात किनारों , और बैंड किनारों में से एक (बस निर्दिष्ट करने के लिए पाठ्यक्रम के लिए बराबर का है जो और )।ω2/ω1ω1ω2
- चुनें और निर्धारित से । कंप्यूट और अनुरूप प्रोटोटाइप फिल्टर की ।Ω1=1Ω2(4)ΔΩ=Ω2−Ω1Ω20=Ω1Ω2(2)
- असतत समय हस्तांतरण समारोह प्राप्त करने के लिए स्थिरांक का मूल्यांकन करें ।(6)(5)
ध्यान दें कि अधिक सामान्य दृष्टिकोण के साथ जहां और निर्दिष्ट हैं, वास्तविक बैंड किनारों और डिजाइन प्रक्रिया का एक परिणाम हैं। प्रस्तावित समाधान में, बैंड किनारों को निर्दिष्ट किया जा सकता है और डिज़ाइन प्रक्रिया का एक परिणाम है। उत्तरार्द्ध दृष्टिकोण का लाभ यह है कि बैंडविड्थ को ओक्टेव्स में निर्दिष्ट किया जा सकता है और समाधान सटीक है, अर्थात, परिणामस्वरूप फ़िल्टर में ओक्टेव्स में बिल्कुल निर्दिष्ट बैंडविड्थ है।ω0Δω=ω2−ω1ω1ω2ω0
उदाहरण:
चलो एक ओक्टेव की एक बैंडविड्थ निर्दिष्ट करते हैं, और हम निचले बैंड किनारे को रूप में । यह एक ऊपरी बैंड एज । एनालॉग प्रोटोटाइप फ़िल्टर के बैंड किनारों में और (with ) । यह और । साथ हम असतत समय हस्तांतरण समारोह के लिए मिलता हैω1=0.2πω2=2ω1=0.4πΩ1=1(4)ω=ω2Ω2=2.2361ΔΩ=Ω2−Ω1=1.2361Ω20=Ω1Ω2=2.2361(6)(5)
Hd(z)=0.24524⋅z2−1z2−0.93294z+0.50953
जो नीचे दिए गए चित्र में दिखाए गए अनुसार 1 ऑक्टेव और निर्दिष्ट बैंड किनारों की एक बैंडविड्थ प्राप्त करता है:
मूल समस्या का संख्यात्मक समाधान:
टिप्पणियों से मैं समझता हूं कि केंद्र आवृत्ति को निर्दिष्ट करने में सक्षम होना महत्वपूर्ण है संतुष्ट है। जैसा कि पहले उल्लेख किया गया है कि एक सटीक क्लोज-फॉर्म समाधान प्राप्त करना संभव नहीं है, और एक श्रृंखला विकास काफी अलौकिक अभिव्यक्ति पैदा करता है।ω0|Hd(ejω0)|=1
स्पष्टता के लिए मैं उनके फायदे और नुकसान के साथ संभावित विकल्पों को संक्षेप में बताना चाहूंगा:
- आवृत्ति अंतर के रूप में वांछित बैंडविड्थ निर्दिष्ट करें , और निर्दिष्ट करें ; इस मामले में एक सरल बंद-रूप समाधान संभव है।Δω=ω2−ω1ω0
- बैंड किनारों को निर्दिष्ट करें और (या, समकक्ष, ओक्टेव में बैंडविड्थ, और बैंड किनारों में से एक); यह एक सरल क्लोज-फॉर्म समाधान की ओर भी जाता है, जैसा कि ऊपर बताया गया है, लेकिन केंद्र आवृत्ति का एक परिणाम है और इसे निर्दिष्ट नहीं किया जा सकता है।ω1ω2ω0
- और केंद्र आवृत्ति में वांछित बैंडविड्थ निर्दिष्ट करें (जैसा कि प्रश्न में पूछा गया है); कोई भी बंद फॉर्म समाधान संभव नहीं है, न ही कोई सरल अनुमान है। इस कारण से मुझे लगता है कि संख्यात्मक समाधान प्राप्त करने के लिए एक सरल और कुशल तरीका होना वांछनीय है। यह वही है जो नीचे बताया गया है।ω0
जब निर्दिष्ट किया जाता है तो हम एक सामान्यीकरण स्थिरांक के साथ का उपयोग करते हैं जो कि और में प्रयुक्त एक से भिन्न होता है :ω0(3)(4)
Ω=tan(ω2)tan(ω02)(7)
हम को परिभाषित करते हैं । के रूप में असतत समय फिल्टर के बैंड किनारों के निर्दिष्ट अनुपात को नकारेंΩ0=1
r=ω2ω1(8)
साथ हम से प्राप्त औरc=tan(ω0/2)(7)(8)
r=arctan(cΩ2)arctan(cΩ1)(9)
साथ , को फिर से लिखा जा सकता है:Ω1Ω2=Ω20=1(9)
f(Ω1)=rarctan(cΩ1)−arctan(cΩ1)=0(10)
दिए गए मान के लिए इस समीकरण को कुछ न्यूटन पुनरावृत्तियों के साथ लिए हल किया जा सकता है । इसके लिए हमें के व्युत्पन्न की आवश्यकता है :rΩ1f(Ω1)
f′(Ω1)=c(r1+c2Ω21+1c2+Ω21)(11)
साथ , हम जानते हैं कि अंतराल में होना चाहिए । भले ही होशियार शुरुआती समाधानों के साथ आना संभव है, यह पता चलता है कि प्रारंभिक अनुमान सबसे चश्मा के लिए अच्छी तरह से काम करता है, और न्यूटन की विधि के केवल पुनरावृत्तियों के बाद बहुत सटीक समाधान का परिणाम होगा :Ω0=1Ω1(0,1)Ω(0)1=0.14
Ω(n+1)1=Ω(n)1−f(Ω(n)1)f′(Ω(n)1)(12)
साथ के कुछ पुनरावृत्तियों के साथ प्राप्त हम यह निर्धारित कर सकते हैं और , और और हम का उपयोग और के गुणांक की गणना करने के असतत समय फिल्टर। ध्यान दें कि निरंतर अब द्वारा दिया जाता है ।Ω1(12)Ω2=1/Ω1ΔΩ=Ω2−Ω1(5)(6)cc=tan(ω0/2)
उदाहरण 1:
चलो और बैंडविड्थ निर्दिष्ट करते हैं। यह एक अनुपात मेल खाती है । प्रारंभिक अनुमान के साथ , न्यूटन की विधि के पुनरावृत्तियों के परिणामस्वरूप एक समाधान , जिसमें से असतत-समय के गुणांकों को ऊपर बताए अनुसार गणना की जा सकती है। नीचे दिया गया आंकड़ा परिणाम दिखाता है:ω0=0.6π0.5r=ω2/ω1=20.5=2–√=1.4142Ω1=0.14Ω1=0.71
फ़िल्टर की गणना इस माटलब / ऑक्टेव स्क्रिप्ट के साथ की गई थी:
% विशेष विवरण
बीडब्ल्यू = 0.5; सप्तक में% वांछित बैंडविड्थ
w0 = .6 * पी; % गुंजयमान आवृत्ति
r = 2 ^ (bw); बैंड किनारों का% अनुपात
डब्ल्यू 1 = 1; % प्रारंभिक अनुमान (अधिकांश स्पेक्स के लिए काम करता है)
नित = 4; % # न्यूटन पुनरावृत्तियों
c = टैन (w0 / 2);
% न्यूटन
i = 1 के लिए: Nit,
f = r * atan (c * W1) - atan (c / W1);
fp = c * (r (1 + c ^ 2 * W1 ^ 2) + 1 / (c ^ 2 + W1 ^ 2));
डब्ल्यू 1 = डब्ल्यू 1 - एफ / एफपी
समाप्त
W1 = abs (W1);
अगर (W1> = 1), त्रुटि ('अभिसरण करने में विफल रहा; प्रारंभिक अनुमान का मूल्य कम करें।'); समाप्त
डब्ल्यू 2 = 1 / डब्ल्यू 1;
dW = W2 - W1;
% असतत-समय फ़िल्टर
स्केल = 1 + dW * c + W1 * W2 * c ^ 2;
b = (dW * c / स्केल) * [1,0, -1];
a = [1, 2 * (W1 * W2 * c ^ 2-1) / स्केल, (1-dW * c + W1 * W2 * c ^ 2) / scale];
उदाहरण 2:
मैं यह दिखाने के लिए एक और उदाहरण जोड़ता हूं कि यह विधि उन विशिष्टताओं से भी निपट सकती है जिनके लिए अधिकांश अनुमान गैर-सनसनीखेज परिणाम देंगे। यह अक्सर ऐसा होता है जब वांछित बैंडविड्थ और गुंजयमान आवृत्ति दोनों बड़े होते हैं। आइए एक फ़िल्टर को और सप्तक के साथ डिज़ाइन करें । एक प्रारंभिक अनुमान परिणाम के साथ न्यूटन की विधि के चार पुनरावृत्तियों में अंतिम परिणाम अंतिम मान में , जो कि के अनुरूप प्रोटोटाइप के बैंडविड्थ में होता है। सप्तक। संबंधित असतत समय फ़िल्टर में निम्न गुणांक होते हैं और इसकी आवृत्ति प्रतिक्रिया नीचे दिए गए प्लॉट में दिखाई जाती है:ω0=0.95πbw=4Ω(0)1=0.1Ω1=0.00775log2(Ω2/Ω1)=log2(1/Ω21)≈14
b = 0.90986 * [1,0, -1];
a = [1.00000 0.17806 -0.81972];
परिणामी आधी शक्ति बैंड किनारों में और , जो वास्तव में हैं (यानी, का एक कारक ) अलग।ω1=0.062476πω2=0.999612π416