function [h0,h1,h2,h3] = cardbal4

% cardbal4 : cardinal 4-balanced orthogonal nmultiwavelet filters 
%
% [h0,h1,h2,h3] = cardbal4;
% ShowMwlets(h0,h1,h2,h3);


A =   -67/40960+1/81920*17951^(1/2);
% OR
% A = -67/40960-1/81920*17951^(1/2);
B =   -2*A+7/16384+1/40960*(6710886400*A^2-4259840*A+305)^(1/2);
% OR
% B = -2*A+7/16384-1/40960*(6710886400*A^2-4259840*A+305)^(1/2);

g = [
B+4*A-7/8192
-A-5/2048
-3*B-16*A-9/2048
5*A+21/512
2*B+24*A+1099/4096
-10*A+945/1024
2*B-16*A-553/2048
10*A+21/512
-3*B+4*A+57/8192
-5*A-5/2048
B
A
]';

g0 = g;
g1 = -g(12:-1:1).*((-1).^(1:12));

K0 = 9+1;
K1 = 11+1;

h0 = up(g0,2); 
h1 = up(g1,2); 
h2 = -h0; 
h3 = -h1; 
h0(K0) = 1;
h1(K1) = 1;
h2(K0) = 1;
h3(K1) = 1;

r = sqrt(2);
h0 = h0/r;
h1 = h1/r;
h2 = h2/r;
h3 = h3/r;


