連続ウェーブレット解析についての質問(初心者)
조회 수: 2 (최근 30일)
이전 댓글 표시
現在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
채택된 답변
Shunichi Kusano
2020년 10월 5일
こんにちは
まず、予想と違う結果になる理由は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
Shunichi Kusano
2020년 10월 9일
そのとおりです。
このあたりはデジタル信号処理の基礎なので、勉強しておいた方がいいと思います。有名な定理なのでWeb上でもいくつも解説記事を見つけることができます。個人的に読みやすいのはやるおシリーズです。
ご参考まで。
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 連続ウェーブレット変換에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!