ओवर-मॉडलिंग एक अनुकूली एआर एनएलएमएस फ़िल्टर तेज स्पाइक्स को क्यों ठीक करता है?


10

मैंने बस एक ऑटो-रिग्रेसिव सेकंड-ऑर्डर मॉडल को सफेद शोर से भर दिया और 1-4 ऑर्डर के सामान्यीकृत न्यूनतम-मतलब-स्क्वायर फिल्टर के साथ मापदंडों का अनुमान लगाया।

सिस्टम को पहले क्रम के अंडर-मॉडल के फिल्टर के रूप में, निश्चित रूप से अनुमान अजीब हैं। दूसरे क्रम का फ़िल्टर अच्छा अनुमान पाता है, हालांकि इसमें कुछ तेज छलांग होती है। यह NLMS फ़िल्टर की प्रकृति से अपेक्षित है।

जो मुझे भ्रमित करता है वह तीसरा- और चौथा क्रम के फिल्टर हैं। वे तेज कूद को खत्म करने के लिए लगते हैं, जैसा कि नीचे की आकृति में देखा गया है। मैं नहीं देख सकता कि वे क्या जोड़ेंगे, क्योंकि सिस्टम को मॉडल करने के लिए दूसरे क्रम का फ़िल्टर पर्याप्त है। निरर्थक पैरामीटर वैसे भी घूमते हैं 0

क्या कोई मेरे लिए इस घटना को समझा सकता है, गुणात्मक रूप से? इसका क्या कारण है, और क्या यह वांछनीय है?

मैंने चरण आकार , 10 4 नमूने, और AR मॉडल x ( t ) = e ( t ) - 0.9 x ( t - 1 ) - 0.2 x ( t - 2 ) जहां e ( t ) के साथ सफेद शोर है का उपयोग किया विचरण १।μ=0.01104एक्स(टी)=(टी)-0.9एक्स(टी-1)-0.2एक्स(टी-2)(टी)

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

संदर्भ के लिए MATLAB कोड:

% ar_nlms.m
function th=ar_nlms(y,order,mu)
N=length(y);
th=zeros(order,N); % estimated parameters
for t=na+1:N
    phi = -y( t-1:-1:t-na, : );
    residue = phi*( y(t)-phi'*th(:,t-1) );
    th(:,t) = th(:,t-1) + (mu/(phi'*phi+eps)) * residue;
end

% main.m
y = filter( [1], [1 0.9 0.2], randn(1,10000) )';
plot( ar_nlms( y, 2, 0.01 )' );

2
मुझे यह समझ में नहीं आया कि आप वहां क्या कर रहे हैं। आप किस प्रकार का फ़िल्टर है, जिसे आप NLMS के साथ जोड़ रहे हैं? - जाहिर है, आपके पास जितने अधिक पैरामीटर होंगे, उतना ही बेहतर होगा कि आप एक अनियंत्रित फिल्टर में फिट हो सकें; भले ही पैरामीटर "0 के आसपास मंडराना" इसका मतलब यह नहीं है कि वे कुछ भी नहीं करते हैं।
बायीं ओर के मोड़

@left: मैं लगातार मापदंडों के साथ एक एआर (2) मॉडल का अनुकरण कर रहा हूं, जिसका अर्थ है कि एनएलएमएस (2) पूरी तरह से सिस्टम का वर्णन करने में सक्षम होना चाहिए। स्पष्ट रूप से अतिरिक्त पैरामीटर कुछ करते हैं, क्योंकि वे स्पाइक्स को कम करने का प्रबंधन करते हैं, लेकिन मैं सोच रहा हूं कि क्यों - सिस्टम ओवर-मॉडलिंग किया गया है, जिसका आमतौर पर बस मतलब है कि अनुमानित मापदंडों के लिए आत्मविश्वास अंतराल बढ़ता है।
एंड्रियास

nएक्स(टी)=(टी)-1एक्स(टी-1)-2एक्स(टी-2)--nएक्स(टी-n)n{1,2,3,4}

जब आप एक एआर मॉडल को अनुमानित करने की कोशिश कर रहे हैं, तो एनएलएमएस एक एमए मॉडल नहीं है?
मेम

1
@ मेमिंग: एनएलएमएस एआर मॉडल को पलटने की कोशिश कर रहा है , इसलिए एमए मॉडल यहां करना सही है।
पीटर के.एच.

जवाबों:


2

ऐसा प्रतीत होता है कि आप ओवर-मॉडलिंग शुरू कर रहे हैं, त्रुटि संकेत कम और कम सफेद हो जाता है।

मैंने त्रुटि संकेत ( residueशब्द का हिस्सा ) वापस करने के लिए आपके कोड को संशोधित किया है ।

यह भूखंड xcorrक्रम = 2 (नीला), 3 (लाल), और 4 (हरा) के लिए त्रुटि के ऑफ-शून्य-अंतराल गुणांक दिखाता है । जैसा कि आप देख सकते हैं, निकट-से-लेकिन-शून्य अंतराल की स्थिति परिमाण में बड़ी हो रही है।

यदि हम xcorrत्रुटि के एफएफटी (स्पेक्ट्रम) को देखते हैं, तो हम देखते हैं कि कम आवृत्ति की शर्तें (जो बड़ी बहती हैं) छोटी हो रही हैं (त्रुटि अधिक उच्च आवृत्तियों वाली है)।

तो ऐसा लगता है कि इस मामले में ओवर-मॉडलिंग का प्रभाव त्रुटि को हाई-पास करने के लिए है, जो (इस उदाहरण के लिए) फायदेमंद है।

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

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

function [th,err]=ar_nlms(y,order,mu)
eps = 0.000000001;
N=length(y);
th=zeros(order,N); // estimated parameters
err = zeros(1,N);
for t=order+1:N
    phi = -y( t-1:-1:t-order, : );
    err(t) = y(t)-phi'*th(:,t-1);
    residue = phi*( err(t) );
    th(:,t) = th(:,t-1) + (mu/(phi'*phi+eps)) * residue;
    size(residue)
end
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.