computing cwt only at scale 5

I want to compute cwt at scale 5 to detect local maxima at this scale so I did this : cfs = cwt(x,5,'haar'); plot(cfs); Is my program correct or I need to use all scales from 1 to 5?

 Accepted Answer

Hi Claire, yes, your code is correct, but are you sure you don't want to include at least a few more scales?
That can help in identifying local maxima lines:
load cuspamax;
x = 1:length(cuspamax);
scales = 1:32;
cfs = cwt(cuspamax,scales,'haar');
[lmaxima,indices] = localmax(cfs,[],false);
[iRow,iCol] = find(lmaxima);
subplot(211);
imagesc(abs(cfs)); axis xy;
axis([1 1024 1 32]);
ylabel('Scale'); title('CWT Coefficients (Moduli)');
subplot(212);
plot(x(iCol),scales(iRow),'marker','o','markerfacecolor',[0 0 1],...
'linestyle','none');
xlabel('Position'); ylabel('Scale'); title('Maxima Lines');
axis([1 1024 1 32]);

3 Comments

Thanks for answering me, did you choose scale 32 for a particular reason?
No, Claire just as an example.
How do we choose the appropriate scales using the same function ?

Sign in to comment.

More Answers (0)

Categories

Find more on Wavelet Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!