Borrar filtros
Borrar filtros

What is this algorithm for computation of the convolution integral in continuous wavelet transform?

1 visualización (últimos 30 días)
Looking into demo of continous wavelet transform by waveletAnalyzer (Wavelet toolbox) I came across an unknown numerical method for computation of the convolution integral. It is specifed as numALG = 1 in the file cw1dmnr.m lines 537-576:
switch numALG
case 1
[psi,psi_xval] = intwave(wav_Name,precis);
psi_xval = psi_xval-psi_xval(1);
dxval = psi_xval(2);
xmax = psi_xval(length(psi_xval));
ind = 1;
for a = scales
msg = {' ',getWavMSG('Wavelet:divGUIRF:Str_CompSca',num2str(a,'%5.3f'))};
set(txt_msg,'String',msg);
drawnow
j = 1+floor((0:a*xmax)/(a*dxval));
if length(j)==1 , j = [1 1]; end
f = fliplr(psi(j));
varargout{1}(ind,:) = -sqrt(a)*wkeep1(diff(conv(sig_Anal,f)),len);
ind = ind+1;
end
case 2
switch wtype
case {1,3} , [~,psi,psi_xval] = wavefun(wav_Name,precis);
case 2 , [~,psi,~,~,psi_xval] = wavefun(wav_Name,precis);
case {4,5} , [psi,psi_xval] = wavefun(wav_Name,precis);
end
% if wtype==5 , psi = conj(psi); end
psi_xval = psi_xval-psi_xval(1);
dxval = psi_xval(2);
xmax = psi_xval(end);
ind = 1;
for a = scales
msg = {' ',getWavMSG('Wavelet:divGUIRF:Str_CompSca',num2str(a,'%5.3f'))};
set(txt_msg,'String',msg);
drawnow
j = 1 + floor((0:a*xmax)/(a*dxval));
if length(j)==1 , j = [1 1]; end
f = fliplr(psi(j));
varargout{1}(ind,:) = wkeep1(conv(sig_Anal,f),len);
ind = ind+1;
end
end
The second algorithm (case numALG == 2) straightforwardly computes the inner products between signal and translated wavelets by usual convolution:
psi = wavefun(wav_Name, precis)
out = conv(signal, fliplr(psi), 'same')
But I struggle to understand the first one, where signal is convolved with the integral of the wavelet and the result is differentiated:
integ_psi = intwave(wav_Name, precis)
out = diff(conv(signal,fliplr(integ_psi)))
Any insights into what is this method based on?

Respuestas (0)

Categorías

Más información sobre Continuous Wavelet Transforms en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by