# How to plot the average wavelet magnitude over range of frequencies

조회 수: 5 (최근 30일)
Emma Vande-Wouwer . 2022년 6월 16일
답변: Jonas . 2022년 7월 4일
Hi !
I was wondering if it's possible these kinds of plots of wavelot transforms in matlab:
A is the wavelet transform amplitude accross frequency and times then B is the average wavelet for the range of frequencies.
I found that the wavelet toolbox has the timeSpectrum and scaleSpectrum function but both these functions give the average wavelet amplitude over time and scale and I would like to have it over frequencies like figure b:
Is there a parameter for these function to do this or is there another spectrum function that gives the average wavelet amplitude over frequencies ?

댓글을 달려면 로그인하십시오.

### 채택된 답변

Jonas 2022년 7월 4일
why not use the output of the cwt function? you can average it yourself:
t=(0:numel(mtlb)-1)/Fs;
[wt,f,coi]=cwt(mtlb,Fs);
ca=subplot(2,1,1);
surf(t,f,abs(wt))
axis tight;
set(ca,'YScale','log')
xlabel('time (s)');
ylabel("Frequency (Hz)")
zlabel('magnitude');
view([-79 50])
subplot(2,1,2);
[sortF,idx]=sort(f);
wt=wt(idx,:);
semilogx(f,mean(abs(wt),2));
xlabel("frequency (Hz)")
ylabel('mean amplitude');

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Continuous Wavelet Transforms에 대해 자세히 알아보기

### Community Treasure Hunt

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

Start Hunting!

Translated by