Я хочу сделать две вещи.
- Оценка коэффициентов модели AR с использованием фильтра LMS
- Использование коэффициентов, найденных на шаге 1, и прогнозирование будущих выборок сигнала с использованием уравнения AR.
У меня нет нужного сигнала, поэтому мне нужно использовать будущие выборки сигнала.
На прилагаемом рисунке 1 показана оценка двух коэффициентов, которая является шагом 1
% x=data=signal plus noise;
% mu=step size factor;
% M=number of filter coefficients;
% w1 is a matrix and each column is the history of each filter coefficient versus time n;
N=length(x);
y=zeros(1,N);
w=zeros(1,M);
for n=M:N-1
x1=x(n:-1:n-M+1);
y(n)=w*x1';
e(n)=x(n+1)-y(n);
w=w+2*mu*e(n)*x1;
w1(n-M+1,:)=w(1,:);
end;
Проблема с моим кодом заключается в том, что он дает мне очень малые коэффициенты (значения сильно отличаются от фактических)
В моем коде есть какая-то ошибка, и я не уверен, что это такое. Приведенный выше код должен дать мне Коэффициенты, которые затем я перейду к шагу 2 для прогнозирования AR.