Я просто імітував авторегресивну модель другого порядку, що живиться білим шумом, і оцінював параметри з нормалізованими фільтрами найменшого середнього квадрату порядків 1-4.
Оскільки фільтр першого порядку недостатньо моделює систему, звичайно, оцінки дивні. Фільтр другого порядку знаходить хороші оцінки, хоча має кілька різких стрибків. Цього можна очікувати від природи фільтрів NLMS.
Мене бентежить фільтри третього та четвертого порядку. Вони ніби усувають різкі стрибки, як видно на малюнку нижче. Я не бачу, що б вони додали, оскільки фільтра другого порядку достатньо для моделювання системи. Зайві параметри все одно наближаються до .
Чи може хтось якісно пояснити це явище для мене? Що це викликає, і чи бажано це?
Я використав крок розміру , зразка, і модель AR де білий шум з дисперсією 1.10 4 x ( t ) = e ( t ) - 0,9 x ( t - 1 ) - 0,2 x ( t - 2 ) e ( t )
Код 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 )' );