make_bank.m

来自「自己用matlab写的信号处理的程序」· M 代码 · 共 23 行

M
23
字号
function [H,G] = make_bank(h,nbands)
%  [H,G] = make_bank(h,nbands)
%  This function creates the filters for a pseudo-QMF filter banks
%  with number of bands = nbands
flen = max(size(h));
t = sqrt(2)/2;
for k = 1:nbands
   a(2*k-1) = t + i*t;
   a(2*k) = t - i*t;
end
for k=1:nbands
   for l=1:flen
      m1 = cos(pi*(2*k-1)*(2*l-1)/(4*nbands));
      m2 = sin(pi*(2*k-1)*(2*l-1)/(4*nbands));
      H(k,l) = 2.0*(real(a(k))*m1 - imag(a(k))*m2)*h(l);
   end
   %  Form synthesis filters
   for l=1:flen
      m1 = cos(pi*(2*k-1)*(2*l-1)/(4*nbands));
      m2 = sin(pi*(2*k-1)*(2*l-1)/(4*nbands));
      G(k,l) = 2.0*(real(a(k))*m1 + imag(a(k))*m2)*h(l);
   end
end

⌨️ 快捷键说明

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