


Creates the LOT representation matrix


0001 % Creates the LOT representation matrix 0002 0003 function Psi = create_LOT(in) 0004 0005 % lapped window modulated by DCT-IV 0006 % 0007 % inputs: 0008 % L -- lenght of LOT window 0009 % eta -- transition width on the left edge (a_p,eta_p) 0010 % 0011 % optional input parameters: 0012 % eta1 -- transition width on the right edge (a_{p+1}, eta_{p+1}) 0013 % default (eta) 0014 % extend -- use overcomplete samples of DCT bases 0015 0016 L = in.L; 0017 eta = in.eta; 0018 0019 % optional parameters 0020 if isfield(in,'eta1'); eta1 = in.eta1; else eta1 = eta; end 0021 if isfield(in,'extend'); extend = in.extend; else extend = 1; end 0022 0023 D = zeros(eta+L+eta1,L); 0024 0025 % LOT window.*cosine 0026 %t = t(:); 0027 % pt = sqrt(2/L)*lotwin(t/L).*cos(pi*(w+1/2)*t/L); 0028 t = [-eta:L+eta1-1]'+0.5; 0029 gn = lotwin(t/L,eta/L,eta1/L); 0030 0031 if eta1 == 0 0032 % DCT-1 modulation for the LOT window on the right border 0033 % modulated by DCT-1 (\S 8.4 Mallat) to avoid a sharp discontinuity 0034 % DCT-I provides even-symmetric extension on the right border 0035 for nn = 0:L-1 0036 % D(:,nn+1) = cos(pi*(nn+1/2)*t/L); % DCT-IV 0037 D(:,nn+1) = cos(pi*nn*t/L); % DCT-I 0038 end 0039 D(:,1) = D(:,1)/sqrt(2); 0040 else 0041 for nn = 0:L-1 0042 D(:,nn+1) = cos(pi*(nn+1/2)*t/L); % DCT-IV 0043 % D(:,nn+1) = cos(pi*nn*t/L); % DCT-I 0044 end 0045 end 0046 Psi = sqrt(2/L).*diag(gn)*D; 0047 0048 % debug 0049 % figure; imagesc(Psi'*Psi-eye(L)) 0050 % figure; imagesc([Psi(1:2*eta*L,:)'*Psi(end-2*eta*L+1:end,:)])