मैं इस पुराने सवाल पर लड़खड़ा गया और मैं अपना समाधान साझा करना चाहूंगा। जैसा कि अन्य उत्तरों में उल्लेख किया गया है, कोई विश्लेषणात्मक समाधान नहीं है, लेकिन न्यूनतम किया जाने वाला कार्य अच्छी तरह से व्यवहार करता है और कुछ न्यूटन पुनरावृत्तियों के साथ का इष्टतम मूल्य आसानी से पाया जा सकता है। परिणाम की इष्टतमता की जांच करने के लिए एक सूत्र भी है।α
लंबाई एफआई चलती औसत फिल्टर की आवेग प्रतिक्रिया द्वारा दी गई हैN
hFIR[n]=1N(u[n]−u[n−N])(1)
जहां यूनिट स्टेप फंक्शन है। पहला क्रम IIR फ़िल्टरu[n]
y[n]=αx[n]+(1−α)y[n−1](2)
आवेग प्रतिक्रिया है
hIIR[n]=α(1−α)nu[n](3)
लक्ष्य अब चुकता त्रुटि को कम करने के लिए है
ϵ=∑n=0∞(hFIR[n]−hIIR[n])2(4)
और का उपयोग करके , त्रुटि के रूप में लिखा जा सकता है(1)(3)
ϵ(α)=∑n=0N−1(α(1−α)n−1N)2+∑n=N∞α2(1−α)2n=α2∑n=0∞(1−α)2n−2αN∑n=0N−1(1−α)n+∑n=0N−11N2=α21−(1−α)2−2αN1−(1−α)N1−(1−α)+1N=α2−α−2N(1−(1−α)N)+1N,0<α<2(5)
यह अभिव्यक्ति इस उत्तर में दिए गए के समान है , लेकिन यह समान नहीं है। में पर प्रतिबंध यह सुनिश्चित करता है कि अनंत राशि परिवर्तित होती है, और यह IIR फ़िल्टर के लिए स्थिरता की स्थिति के समान है ।α(5)(2)
के व्युत्पन्न को शून्य परिणाम में सेट करना(5)
(1−α)N−1(2−α)2=1(6)
ध्यान दें कि इष्टतम अंतराल में होना चाहिए क्योंकि एक वैकल्पिक आवेग प्रतिक्रिया में परिणाम के बड़े मूल्य , जो एफआईआर चलती औसत फिल्टर के निरंतर आवेग प्रतिनिधि को अनुमानित नहीं कर सकते हैं।α(0,1]α(3)
का वर्गमूल ले रहा है और शुरू , हम प्राप्त(6)β=1−α
β(N+1)/2+β(N−1)/2−1=0(7)
इस समीकरण को विश्लेषणात्मक रूप से लिए हल नहीं किया जा सकता है , लेकिन इसे लिए हल किया जा सकता है :एनβN
N=−2log(1+β)log(β),β≠0(8)
समीकरण का उपयोग संख्यात्मक समाधान को दोबारा जांचने के लिए किया जा सकता है ; इसे का निर्दिष्ट मान लौटाना होगा ।( 7 ) एन(8)(7)N
समीकरण को कुछ लाइनों के साथ हल किया जा सकता है (Matlab / Octave) कोड:(7)
एन = 50; एफआर मूविंग औसत फिल्टर की% वांछित फ़िल्टर लंबाई
यदि (N == 1)% तुच्छ मामले के लिए कोई पुनरावृत्ति नहीं है
बी = 0;
अन्य
% न्यूटन पुनरावृति
बी = 1; % आरंभिक मूल्य
नित = 7;
n = (एन + 1) / 2;
k = 1 के लिए: Nit,
f = b ^ n + b ^ (n-1) -1;
fp = n * b ^ (n-1) + (n-1) * b ^ (n-2);
b = b - f / fp;
समाप्त
% जाँच परिणाम
N0 = -2 * log (1 + b) / log (b) + 1% को N के बराबर होना चाहिए
समाप्त
a = 1 - बी;
नीचे फ़िल्टर लंबाई की श्रेणी के लिए के इष्टतम मानों के साथ एक तालिका है :एनαN
एन अल्फा
1 1.0000e + 00
2 5.3443e-01
3 3.8197e-01
4 2.9839e-01
5 2.4512e-01
6 2.0809e-01
7 1.8083e-01
8 1.5990 ई -01
९ १.४३३३ ई-०१
10 1.2987e-01
20 6.7023e-02
30 4.5175e-02
40 3.4071e-02
50 2.7349e-02
60 2.2842e-02
70 1.9611e-02
80 1.7180e-02
90 1.5286e-02
100 1.3768e-02
200 6.9076e-03
300 4.6103e-03
400 3.4597e-03
500 2.7688e-03
600 2.3078e-03
700 1.9785e-03
800 1.7314e-03
900 1.5391e-03
1000 1.3853e-03