⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grade.m

📁 设有一基于格型梯度算法的预测器
💻 M
字号:
clear all;clc
a1=1.558;a2=-0.81;
M=2;N=500;mu=0.005;b=0.001;
v=-1+2*rand(1,N+1);
for n=3:N+1  %--------------------------------------------------------------------------------输入信号波形
    u(1)=-2;u(2)=-1.8;
    u(n)=a1*u(n-1)+a2*u(n-2)+v(n);
end

n=3:N;  %--------------------------------------------------------------------------------绘制输入信号波形
figure(1);
plot(n,u(n));
xlabel('n');ylabel('u(n)');
title('输入信号波形');

ef=zeros(M+1,N+1);  %-------------------------------------------------------------------------------初始化
eb=zeros(M+1,N+1);
K=zeros(M+1,N+1);
d=zeros(M+1,N+1);
for n=3:N  
    u(n)=a1*u(n-1)+a2*u(n-2)+v(n);
    ef(1,n)=u(n);
    eb(1,n)=u(n);
    for m=2:M+1  %------------------------------------------------------------------------------迭代计算
        ef(m,n)=ef(m-1,n)+eb(m-1,n-1)*K(m,n-1);
        eb(m,n)=eb(m-1,n-1)+ef(m-1,n)*K(m,n-1);
        d(m,n)=(1-b)*d(m,n-1)+(ef(m,n))^2+(eb(m,n))^2;
        K(m,n+1)=K(m,n)-(1/d(m,n))*(ef(m,n)*eb(m-1,n-1)+eb(m,n)*ef(m-1,n));
    end
end

for n=1:N+1  %--------------------------------------------------------------------------------估计值的计算
    a11(n)=-K(M,n)*(1+K(M+1,n));
    a22(n)=-K(M+1,n);
end

n=1:N; %----------------------------------------------------------------------------------绘制估计值曲线图
figure(2);
plot(n,a11(n),n,a22(n),n,1.558,n,-0.81);
xlabel('n');ylabel('估计值a(n)');
title('格型随机梯度算法估计信号参数');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -