📄 lat2q.m
字号:
function eo = lat2q(input,d,lambda,eta,order,B);
% Quantized 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
xif = quantize_v(xif,B);
xib = quantize_v(xib,B);
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) = quantize(quantize(lambda*xif(m),B) + quantize((abs(alpha(m)))^2*gammao(m),B),B);
xib(m) = quantize(quantize(lambda*xib(m),B) + quantize((abs(beta(m)))^2*gamma(m),B),B);
delta(m) = quantize(quantize(lambda*delta(m),B) + quantize((alpha(m))'*(betao(m))*gammao(m),B),B);
rho(m) = quantize(quantize(lambda*rho(m),B) + quantize((e(m))'*(beta(m))*gamma(m),B),B);
beta(m+1) = quantize(betao(m) - quantize(kappab(m)*alpha(m),B),B);
alpha(m+1) = quantize(alpha(m) - quantize(kappaf(m)*betao(m),B),B);
e(m+1) = quantize(e(m) - quantize(kappa(m)*beta(m),B),B);
gamma(m+1) = quantize(gamma(m) - quantize(abs(gamma(m)*beta(m))^2/xib(m),B),B);
kappab(m) = quantize(delta(m)/xif(m),B);
kappaf(m) = quantize((delta(m))'/xibo(m),B);
kappa(m) = quantize((rho(m))'/xib(m),B);
end
eo(i) = e(M+1);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -