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

📄 lat_filter.m

📁 英文书《Digital Signal Processing with Examples in MATLAB》附带的MATLAB实例
💻 M
字号:
function y=lat_filter(kappa,lambda,x)
% y=lat_filter(kappa,lambda,x)
% Filters vector x using lattice filter with weight vectors
% kappa and lambda.
%
% Inputs:
%    kappa, lambda = weight vectors -- see text.
%                    Length(kappa) must equal length(lambda)-1.
%    x = input signal vector.
% Outputs:  
%    y     = Output signal vector.
%
% See also: filter, dir_to_lat, lat_to_dir.
lam=row_vec(lambda);
kap=row_vec(kappa);
N=length(lam);
K=length(x);
if(length(kap)~=N-1)
   error('lat_filter error: length(kappa) not = length(lambda)-1.');
end
% Inintialize u and v vectors in lattice. (See text.)
u=zeros(1,N);
v=zeros(1,N);
% Step k from 1 thru K. (Indices start at 1 here, not 0.)
for k=1:K,
   u(N)=x(k);
   for n=N-1:-1:1,
      u(n)=u(n+1)-kap(n)*v(n);
   end
   v=[u(1),kap.*u(1:N-1)]+[0,v(1:N-1)];
   y(k)=lam*v';
end

⌨️ 快捷键说明

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