連続ウェーブレット解析についての質問(初心者)
6 views (last 30 days)
Show older comments
Katsumi Sato
on 5 Oct 2020
Commented: Katsumi Sato
on 11 Oct 2020
現在MATLABのサイトに載っているウェーブレット解析のプログラム(https://jp.mathworks.com/help/wavelet/gs/continuous-wavelet-analysis.html)を試しています。
上記のスクリプトをコピーアンドペーストし、実行するとサイト通りの結果が出力されたのですが、同じ要領で以下を実行しても理論通りの結果が出力されないのですがどうすれば良いでしょうか。
やはりFsやtの刻み幅が関係しているのでしょうか。また、cwtのグラフのx軸がmsになってしまうのですが、yearやdayに変更はできますでしょうか。拙い文章で申し訳ありませんがぜひお聞きしたいです。宜しくお願い致します。
Fs = 1000;
t = linspace(0,100,100);
y = cos(2*pi*100*t);
plot(t,y)
xlabel('Time (s)')
ylabel('Amplitude')
figure
cwt(y,Fs)
0 Comments
Accepted Answer
Shunichi Kusano
on 5 Oct 2020
こんにちは
まず、予想と違う結果になる理由はtがサンプリング周波数を満たしていないからです。できたtのサンプリング周波数(周期)を確認してみてください。
xlabelはcwtでは自動で出てしまうので任意の物に設定したい場合、いったんcwt変数から出力結果を出しておいて、自分でそれを表示するのがいいかと思います。
サンプルを置いておきますね
Fs = 1; % day
t = linspace(0,365,366);
y = cos(2*pi*0.1*t); % 周波数0.1[回/day]
plot(t,y);
xlabel('Time [day]')
ylabel('Amplitude')
figure
[cfs, freq] = cwt(y,Fs);
surface(t,freq,abs(cfs));
shading flat
xlabel('Time [day]')
ylabel('Frequency [day^{-1}]')
set(gca, 'yscale', 'log')
axis tight
5 Comments
Shunichi Kusano
on 9 Oct 2020
そのとおりです。
このあたりはデジタル信号処理の基礎なので、勉強しておいた方がいいと思います。有名な定理なのでWeb上でもいくつも解説記事を見つけることができます。個人的に読みやすいのはやるおシリーズです。
ご参考まで。
More Answers (0)
See Also
Categories
Find more on 連続ウェーブレット変換 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!