我想做两件事。
- 使用 LMS 估计 AR 模型的系数
- 使用在步骤 1 中找到的系数并使用 AR 方程预测信号的未来样本。我没有想要的信号,所以我也不能使用未来的样本。
自回归模型的方程为
在哪里表示 AR 模型顺序 (在我的情况下)和显示 AR 系数.
最小均方(LMS)算法如下:
Order=30; % AR model order
M=30; % No of filter coefficients same as AR model order
mu=0.001; % Learning rate/ step size
x=signal(1,1:700); % length of signal is 700 samples, x= input signal
N=length(x);
Predicted_signal=zeros(1,N);
w=zeros(1,M); % weights / filter coefficients
for n=M:N
pp=n-M+1;
x1=x(n:-1:pp);
Predicted_signal(n)=(w*x1');
e(n)=x(n)-Predicted_signal(n); %e(n)=d(n)-y(n); reference signal - actual signal
w=w+2*mu*e(n)*x1;
w1(n-M+1,:)=w(1,:); % filter coefficients
end
在先前代码中找到的系数(权重/ w)将用于 AR 方程。
ts = 第 436 个样本的预测起点
Predicted_signal_ar= orignal_signal(1,1:436);
for i=1:Order
t=ts-i;
prediction1(1,i)=(w(1,i)*Predicted_signal_ar(t)); %% putting lms coefficients in AR equation
end
s1(1,a)=sum(prediction1(1,:));
Predicted_signal_ar(1,ts)=s1(1,a);
我的代码中有一些错误,我不确定它是什么。上面的代码应该让我接近实际的系数,然后我将其传递到第 2 步进行 AR 预测。在第二步的结果中,前几个点的预测突然跳跃,预测性能也很差。