フィルターのクリア

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

1 回表示 (過去 30 日間)
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?

回答 (0 件)

カテゴリ

Help Center および File ExchangeContinuous Wavelet Transforms についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by