waveletを使用した低周波の解析について
Show older comments
wavelet解析を用いて0.1Hzの周波数の違いを判断することは可能なのでしょうか?
waveletの特性上、ある程度の帯域幅があるため細かな周波数解析を行うのは難しいと考えています。そのため、細かな周波数解析を行う場合はフーリエ解析のほうが適していると考えていましたが、あっていますでしょうか?
ちなみに現在作成したコードを下に記載いたします。
%%raw_waveform
fs=1000; % sample frequency(Hz)
t = 0:1/fs:2-1/fs; % sec sample
S1 = sin(2*pi*0.1*t)+sin(2*pi*0.5*t);
time = (1:fs*2)/fs;
%%Wavelet
figure(1);
subplot(2,1,1)
plot(time,S1);
subplot(2,1,2)
wname = 'morl';
fc = centfrq(wname); %
fa = 0.1:1; % 擬似周波数(Hz)
scal2frq(1,wname,1/fs)%
sf = fc./(fa.*1/fs); % スケールファクタ
[CWTcoeffs,frq] = cwt(S1,sf,wname,1/fs);
abs_CWT = abs(CWTcoeffs);
imagesc(time,fa,abs_CWT);
colormap(jet);
axis xy
title('Scalogram')
ylabel('Hz')
axis([0,inf, -inf, inf])
% colorbar
h_bar = colorbar;
h_bar.Location = 'east';
h_bar.Position(1) = 0.95;
Accepted Answer
More Answers (0)
Categories
Find more on Wavelet Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!