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 )' );