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

📄 lat2.m

📁 This is mat lab code for adaptive lattice filters.
💻 M
字号:

function eo = lat2(input,d,lambda,eta,order);

% A priori-based RLS lattice filter
% returns the a-priori output error sequence


N = max(size(input));
M = order;


% Initialization of M-order vectors
gamma = ones(M+1,1);
beta = zeros(M,1);
delta = zeros(M,1);
rho = zeros(M,1);
kappaf = zeros(M,1);
kappab = zeros(M,1);
kappa = zeros(M,1);
   
xif = (1/eta*lambda*lambda)*ones(M,1);
xib = (1/eta*lambda*lambda)*ones(M,1);
for m=0:M-1
  xib(m+1) = xib(m+1)/lambda^m;
end
          
for i=1:N
  gammao = gamma;          
  betao = beta;
  xibo = xib;
  gamma = ones(M,1);
  beta(1) = input(i);
  alpha(1) = input(i);
  e(1) = d(i);
  for m=1:M
     xif(m) = lambda*xif(m) + (abs(alpha(m)))^2*gammao(m);
     xib(m) = lambda*xib(m) + (abs(beta(m)))^2*gamma(m);
                    
     delta(m) = lambda*delta(m) + (alpha(m))'*(betao(m))*gammao(m);
     rho(m) = lambda*rho(m) + (e(m))'*(beta(m))*gamma(m);
         
     beta(m+1) = betao(m) - kappab(m)*alpha(m);
     alpha(m+1) = alpha(m) - kappaf(m)*betao(m);
     e(m+1) = e(m) - kappa(m)*beta(m);

     gamma(m+1) = gamma(m) - abs(gamma(m)*beta(m))^2/xib(m);

     kappab(m) = delta(m)/xif(m);
     kappaf(m) = (delta(m))'/xibo(m);
     kappa(m) = (rho(m))'/xib(m);
   end
   eo(i) = e(M+1);
 end

⌨️ 快捷键说明

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