Ich habe gerade ein automatisch regressives Modell zweiter Ordnung simuliert, das durch weißes Rauschen angetrieben wird, und die Parameter mit normalisierten Filtern des kleinsten mittleren Quadrats der Ordnungen 1 bis 4 geschätzt.
Da der Filter erster Ordnung das System untermodelliert, sind die Schätzungen natürlich seltsam. Der Filter zweiter Ordnung findet gute Schätzungen, obwohl er einige scharfe Sprünge aufweist. Dies ist aufgrund der Art der NLMS-Filter zu erwarten.
Was mich verwirrt, sind die Filter dritter und vierter Ordnung. Sie scheinen die scharfen Sprünge zu eliminieren, wie in der folgenden Abbildung zu sehen ist. Ich kann nicht sehen, was sie hinzufügen würden, da der Filter zweiter Ordnung ausreicht, um das System zu modellieren. Die redundanten Parameter bewegen sich sowieso um .
Könnte mir jemand dieses Phänomen qualitativ erklären? Was verursacht es und ist es wünschenswert?
Ich habe die Schrittgröße , 10 4 Proben und das AR-Modell x ( t ) = e ( t ) - 0,9 x ( t - 1 ) - 0,2 x ( t - 2 ) verwendet, wobei e ( t ) weißes Rauschen ist Varianz 1.
Der MATLAB-Code als Referenz:
% 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 )' );
Antworten:
Wenn Sie mit der Übermodellierung beginnen, wird das Fehlersignal immer weniger weiß.
Ich habe Ihren Code geändert, um das Fehlersignal (Teil des
residue
Begriffs) zurückzugeben.Dieses Diagramm zeigt die Verzögerungskoeffizienten außerhalb des Nullpunkts
xcorr
des Fehlers für Ordnung = 2 (blau), 3 (rot) und 4 (grün). Wie Sie sehen können, werden die Terme mit einer Verzögerung nahe, aber nicht Null immer größer.Wenn wir uns die FFT (das Spektrum) des
xcorr
Fehlers ansehen, sehen wir, dass die Terme mit niedrigerer Frequenz (die die großen Abweichungen verursachen) kleiner werden (der Fehler enthält mehr hohe Frequenzen).Es scheint also, dass die Übermodellierung in diesem Fall dazu führt, dass der Fehler hochpassgefiltert wird, was (für dieses Beispiel) von Vorteil ist.
quelle