Właśnie przeprowadziłem symulację autoregresyjnego modelu drugiego rzędu napędzanego białym szumem i oszacowałem parametry za pomocą znormalizowanych filtrów najmniejszych średnich kwadratów rzędu 1-4.
Jako że filtr pierwszego rzędu nie modeluje systemu, szacunki są oczywiście dziwne. Filtr drugiego rzędu znajduje dobre oszacowania, chociaż ma kilka ostrych skoków. Tego należy się spodziewać po charakterze filtrów NLMS.
Mylą mnie filtry trzeciego i czwartego rzędu. Wydaje się, że eliminują ostre skoki, jak pokazano na poniższym rysunku. Nie widzę, co by dodali, ponieważ filtr drugiego rzędu wystarcza do modelowania systemu. Nadmiarowe parametry i tak oscylują wokół .
Czy ktoś mógłby mi wyjaśnić to zjawisko jakościowo? Co to powoduje i czy jest pożądane?
Użyłem wielkości kroku , próbek, a model AR gdzie jest biały hałas z wariancją 1.10 4 x ( t ) = e ( t ) - 0,9 x ( t - 1 ) - 0,2 x ( t - 2 ) e ( t )
Kod MATLAB w celach informacyjnych:
% 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 )' );