📄 daubcqf.m
字号:
function [h_0,h_1] = daubcqf(N,TYPE)% [h_0,h_1] = daubcqf(N,TYPE); %% Function computes the Daubechies' scaling and wavelet filters% (normalized to sqrt(2)).%% Input: % N : Length of filter (must be even)% TYPE : Optional parameter that distinguishes the minimum phase,% maximum phase and mid-phase solutions ('min', 'max', or% 'mid'). If no argument is specified, the minimum phase% solution is used.%% Output: % h_0 : Minimal phase Daubechies' scaling filter % h_1 : Minimal phase Daubechies' wavelet filter %% Example:% N = 4;% TYPE = 'min';% [h_0,h_1] = daubcqf(N,TYPE)% h_0 = 0.4830 0.8365 0.2241 -0.1294% h_1 = 0.1294 0.2241 -0.8365 0.4830%% Reference: "Orthonormal Bases of Compactly Supported Wavelets",% CPAM, Oct.89 %%File Name: daubcqf.m%Last Modification Date: 1/2/96 15:12:57%Current Version: daubcqf.m 1.15%File Creation Date: 10/10/88%Author: Ramesh Gopinath <ramesh@dsp.rice.edu>%%Copyright: All software, documentation, and related files in this distribution% are Copyright (c) 1988 Rice University%%Permission is granted for use and non-profit distribution providing that this%notice be clearly maintained. The right to distribute any portion for profit%or as part of any commercial product is specifically reserved for the author.%if(nargin < 2), TYPE = 'min';end;if(rem(N,2) ~= 0), error('No Daubechies filter exists for ODD length');end;K = N/2;a = 1;p = 1;q = 1;h_0 = [1 1];for j = 1:K-1, a = -a * 0.25 * (j + K - 1)/j; h_0 = [0 h_0] + [h_0 0]; p = [0 -p] + [p 0]; p = [0 -p] + [p 0]; q = [0 q 0] + a*p;end;q = sort(roots(q));qt = q(1:K-1);if TYPE=='mid', if rem(K,2)==1, qt = q([1:4:N-2 2:4:N-2]); else qt = q([1 4:4:K-1 5:4:K-1 N-3:-4:K N-4:-4:K]); end;end;h_0 = conv(h_0,real(poly(qt)));h_0 = sqrt(2)*h_0/sum(h_0); %Normalize to sqrt(2);if(TYPE=='max'), h_0 = fliplr(h_0);end;if(abs(sum(h_0 .^ 2))-1 > 1e-4) error('Numerically unstable for this value of "N".');end;h_1 = rot90(h_0,2);h_1(1:2:N)=-h_1(1:2:N);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -