www.gusucode.com > wavelet工具箱matlab源码程序 > wavelet/wavelet/fejerkorovkin.m

    function F = fejerkorovkin(w)
%FEJERKOROVKIN Fejer-Korovkin wavelets.
%   F = fejerkorovkin(W) returns the scaling filter
%   associated with Fejer-Korovkin wavelet specified by the character vector W where
%   W = 'fkN'.
%   Supported values for N are:
%   N = 4, 6, 8, 14, 18, 22.
%
%   %Example:
%   %   Obtain the scaling and wavelet filters for the Fejer-Korovkin
%   %   filter with 14 coefficients.
%   Lo = fejerkorovkin('fk14');
%   Hi = qmf(Lo);

% Check input arguments only one input argument
narginchk(1,1)

% Transfer character vector to lower case for matching
wname = lower(w);

% Supported wavelets
SupportedWavelets = {'fk4','fk6','fk8','fk14','fk18','fk22'};

% Check for supported wavelet and error if not supported
tf = strcmpi(wname,SupportedWavelets);
if all(~tf)
    error(message('Wavelet:moreMSGRF:Invalid_fk'));
end


switch wname
    case 'fk4'
        
        F = [0.653927555569765, 0.753272492839487, 0.0531792287790598, ...
            -0.0461657148152177];
        
    case 'fk6'
        
        F = [0.42791503242231, 0.812919643136907, 0.356369511070187, ...
            -0.146438681272577, -0.0771777574069701, 0.0406258144232379];
        
    case 'fk8'
        
        F = [0.3492381118638, 0.782683620384065, 0.475265135079471, ...
            -0.0996833284505732, -0.15997809743403, 0.0431066681065162, ...
            0.0425816316775818, -0.0190001788537359];
        
    case 'fk14'
        
        F = [0.260371769291396, 0.686891477239599, 0.611554653959511, ...
            0.0514216541421191, -0.245613928162192, -0.0485753390858553, ...
            0.124282560921513, 0.0222267396224631, -0.0639973730391417, ...
            -0.00507437254997285, 0.029779711590379, -0.00329747915270872, ...
            -0.00927061337444824, 0.00351410097043596];
        
    case 'fk18'
        
        F = [0.2214515194360345  0.6335563639152345  0.6509831067841178 ...
            .1423451789259654 -.2461979800493986  -.1136225515492217 ...
            .1278484507573520 .7070292322194529e-1 -.7524062280870671e-1...
            -.3972386789549200e-1  .4593660448589165e-1 ...
            .1869540067916261e-1  -.2663249564356005e-1  ...
            -.6157329255229687e-2 .1363931324915134e-1  ...
            -.3263608423390426e-3  -.4679884925355524e-2 ...
            .1635793887541839e-2];
        F = F(:)';
        
        
    case 'fk22'
        
        F = [0.19389610780,0.58945219090,0.67008496290,...
            0.21562984910, -0.22802885580,-0.16446571530,0.11154914370,...
            0.11015526490,-0.06608451680,-0.07184168190,0.04354236760,...
            0.04477521220, -0.02974288070,-0.02597087310,0.02028448610,...
            0.01296424940,-0.01288599060,-0.00483843260,0.00717380320,...
            0.00036128560,-0.00267699160,0.00088057740];
        
end

% [EOF]