daub.m

来自「Double Density Wavelet Soft」· M 代码 · 共 30 行

M
30
字号
function [h0, h1] = daub(K,str);
% [h0, h1] = daub(K);% h0 : Daubechies lowpass filter% h1 : Daubechies highpass filter
% K zeros at z=-1% length = 2K
% Use [h0, h1] = daub(K,'mid') for mid-phase type[h,s,g] = maxflatI(K,K-1);

r = roots(g);
r = r(abs(r) < 1);
q = real(poly(r));if nargin > 1	if strcmp(str,'mid')		q = sfact_mid(g);
	endendq = q/sum(q);                 % normalize
h0 = q;                       % set  h0 = q;
for k = 1:K                   % make h0 = q * [(z^(-1)+1)/2]^K
   h0 = conv(h0,[1 1]/2);
end
h0 = sqrt(2)*h0;              % normalize so that sum(h0) = sqrt(2)

h1 = h0(end:-1:1);
h1(2:2:end) = -h1(2:2:end);

⌨️ 快捷键说明

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