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

📄 ftf.m

📁 FTF快速横向滤波算法
💻 M
字号:
clear all
clc
N=200;
M=2;
v=sqrt(1/2)*randn(1,N);
u(1)=v(1);
u(2)=1.558*u(1)+v(2);
d(1)=0.2*u(1);
d(2)=0.2*u(2)+0.7*u(1);
for n=3:N
    u(n)=1.558*u(n-1)-0.81*u(n-2)+v(n);
    d(n)=0.2*u(n)+0.7*u(n-1);
end
%采用快速横向滤波算法(FTF)
aM=zeros(1,M);bM=zeros(1,M);kM=zeros(1,M);
wM=zeros(1,M);gM=zeros(1,M);k=0;
r=ones(M+1,M);epsf=1;epsb=1;
for n=3:N
    x1=[u(n) u(n-1)];
    x2=[u(n-1) u(n-2)];
    ef(n,n-1)=u(n)-x2*aM';
    ef1=ef(n,n-1);
    ef(n,n)=r(M,n-1)*ef(n,n-1);
    ef2=ef(n,n);
    epsf0=epsf;
    epsf=epsf+ef1*ef2;
    aM=aM+ef(n,n-1)*gM;
    r(M+1,n)=epsf0/epsf*r(M,n-1);
    kN1=[0 gM]+ef2/epsf*[1 -aM];
    for m=1:M
        kN(m)=kN1(m);
    end
    k=kN1(end);
    eb(n,n-1)=u(n-M)-x1*bM';
    eb1=eb(n,n-1);
    r(M,n)=1/(1-k*eb1)*r(M+1,n);
    eb(n,n)=r(M,n)*eb(n,n-1);
    eb2=eb(n,n);
    epsb0=epsb;
    epsb=epsb+eb2*eb1;
    gM=[kN+k*bM]*r(M,n)/r(M+1,n);
    bM=bM+gM*eb1;
    e(n,n-1)=d(n)-x1*wM';
    e1=e(n,n-1);
    wM=wM+gM*e1;
    Recordedw(n,1:M)=wM;
end
subplot(2,1,1),plot(Recordedw(:,1))
subplot(2,1,2),plot(Recordedw(:,2))
    

⌨️ 快捷键说明

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