irdwt1

PURPOSE ^

irdwt1.m

SYNOPSIS ^

function x = irdwt1(w, g0, g1, nlev)

DESCRIPTION ^

 irdwt1.m

 Inverse redundant discrete wavelet transform.
 Inverts "rdwt1.m"
 Usage : x = irdwt1(w, g0, g1, nlev)
 w - rdwt coefficients, nlev+1xN
 g0,g1 - reconstruction filters
 nlev - number of levels in the decomposition

 Written by : Justin Romberg
 Created : 8/10/2001

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 % irdwt1.m
0002 %
0003 % Inverse redundant discrete wavelet transform.
0004 % Inverts "rdwt1.m"
0005 % Usage : x = irdwt1(w, g0, g1, nlev)
0006 % w - rdwt coefficients, nlev+1xN
0007 % g0,g1 - reconstruction filters
0008 % nlev - number of levels in the decomposition
0009 %
0010 % Written by : Justin Romberg
0011 % Created : 8/10/2001
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,:);

Generated on Mon 10-Jun-2013 23:03:23 by m2html © 2005