ladrfilt.m

来自「<Matlab 7辅助信号处理技术与应用》的源码」· M 代码 · 共 26 行

M
26
字号
function [y]=ladrfilt(K,C,x)

% ARMA滤波器的Lattice结构实现
% ------------------------------------------------------------------------------
% [y]=ladrfilt(K,C,x)
% y=输出序列
% K=格型系数(反射系数),[K1,K2,...,KN]
% C=梯形系数,[C1,C2,...,CN]
% x=输入序列
% ------------------------------------------------------------------------------

Nx=length(x);
y=zeros(1,Nx);
N=length(C);
f=zeros(N,Nx);
g=zeros(N,Nx+1);
f(N,:)=x;
for n=2:1:Nx+1
    for m=N:-1:2
        f(m-1,n-1)=f(m,n-1)-K(m-1)*g(m-1,n-1);
        g(m,n)=K(m-1)*f(m-1,n-1)+g(m-1,n-1);
    end
    g(1,n)=f(1,n-1);
end
y=C*g(:,2:Nx+1);

⌨️ 快捷键说明

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