0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 function x = irdwt1(w, g0, g1, nlev)
0014
0015 N = size(w,2);
0016
0017 w = flipud(w);
0018 w(nlev+1,:) = fliplr(cshift(w(nlev+1,:), 1, 'l'));
0019 m0 = length(g0);
0020 m1 = length(g1);
0021 g0i = reshape([zeros(2^(nlev-1)-1, m0); g0], [1 m0*2^(nlev-1)]);
0022 g1i = reshape([zeros(2^(nlev-1)-1, m1); g1], [1 m1*2^(nlev-1)]);
0023 for ll = nlev:-1:1
0024 m0i = length(g0i);
0025 m1i = length(g1i);
0026 zi = floor((m1i-m0i)/4)+1;
0027 si = cshift(w(ll+1,:), zi, 'r');
0028 di = fliplr(cshift(w(ll,:), 1, 'l'));
0029 w(ll,:) = (cconv(si, g0i, floor(m1i/2)) + cconv(di, g1i, floor(m1i/2)))/2;
0030 g0i = g0i(2:2:end);
0031 g1i = g1i(2:2:end);
0032 end
0033 x = w(1,:);