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

📄 f_lattice.m

📁 DSP程序 Matlab是一套用于科学工程计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体
💻 M
字号:
function [K,b_0] = f_lattice (b)

%F_LATTICE: Find lattice form FIR filter realization 
%
% Usage: [K,b_0] = f_lattice (b)
%
% Inputs: 
%         b = vector of length m+1 containing coefficients
%             of numerator polynomial.
% Outputs: 
%          K   = 1 by m vector containing reflection 
%                coefficients
%          b_0 = numerator gain
%
% Notes: This algorithm assumes that $|K(i)| ~= 1$ 
%        for 1 <= i <= m.
%
% See also: F_FILTLAT, F_CASCADE, F_PARALLEL

% Initialize

m = length(b) - 1;
b_0 = b(1);
A = b/b_0;
K = zeros(1,m);
B = zeros(size(A));
B(1:m+1) = A(m+1:-1:1);
K(m) = A(m+1);

% Compute reflection coefficients

for i = m : -1 : 2
   if (abs(abs(K(i))-1) < 1.e-10)
      fprintf ('Function f_lattice found a zero on the unit circle.\n')
      return;
   end
   A = (A - K(i)*B) /(1 - K(i)^2);
   B(1:i) = A(i:-1:1);
   B(i+1:m+1) = 0;
   K(i-1) = A(i);
end

⌨️ 快捷键说明

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