waveletを使用した低周波の解析について

2 次查看(过去 30 天)
Ryosuke Takahashi
Ryosuke Takahashi 2017-7-25
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;

采纳的回答

Jiro Doke
Jiro Doke 2017-7-25
Wavelet についてそれほど詳しくはないのですが、ざっとコードを拝見してて気づいたのですが、 fa の定義が
fa = 0.1:1;
だと 0.1 Hz しか定義されません。
fa = 0.1:0.1:1;
にすると 0.1 刻みの周波数のベクトルができます。これでコードを実行するとこんな感じのグラフが作成されました。
  3 个评论
Jiro Doke
Jiro Doke 2017-7-25
そうですね。2 番目の数字を省略すると間隔は 1 となります。
参考: colon
Ryosuke Takahashi
Ryosuke Takahashi 2017-7-25
ありがとうございました。 今後ともよろしくお願いいたします。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 連続ウェーブレット変換 的更多信息

Community Treasure Hunt

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

Start Hunting!