Ho appena simulato un modello di secondo ordine auto-regressivo alimentato dal rumore bianco e valutato i parametri con filtri normalizzati al minimo medio quadrato degli ordini 1-4.
Poiché il filtro del primo ordine sottostima il sistema, ovviamente le stime sono strane. Il filtro del secondo ordine trova buone stime, sebbene abbia un paio di salti netti. Ciò è prevedibile dalla natura dei filtri NLMS.
Ciò che mi confonde sono i filtri del terzo e quarto ordine. Sembrano eliminare i salti bruschi, come si vede nella figura sotto. Non riesco a vedere cosa aggiungerebbero, poiché il filtro del secondo ordine è sufficiente per modellare il sistema. I parametri ridondanti si aggirano comunque intorno a .
Qualcuno potrebbe spiegare questo fenomeno per me, qualitativamente? Cosa lo provoca ed è desiderabile?
Ho usato la dimensione del passo , campioni e il modello AR dove è bianco rumore con varianza 1.10 4 x ( t ) = e ( t ) - 0,9 x ( t - 1 ) - 0,2 x ( t - 2 ) e ( t )
Il codice MATLAB, per riferimento:
% 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 )' );