連続ウェーブレット解析についての質問(初心者)

7 visualizaciones (últimos 30 días)
Katsumi Sato
Katsumi Sato el 5 de Oct. de 2020
Comentada: Katsumi Sato el 11 de Oct. de 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)

Respuesta aceptada

Shunichi Kusano
Shunichi Kusano el 5 de Oct. de 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 comentarios
Shunichi Kusano
Shunichi Kusano el 9 de Oct. de 2020
そのとおりです。
このあたりはデジタル信号処理の基礎なので、勉強しておいた方がいいと思います。有名な定理なのでWeb上でもいくつも解説記事を見つけることができます。個人的に読みやすいのはやるおシリーズです。
ご参考まで。
Katsumi Sato
Katsumi Sato el 11 de Oct. de 2020
ご丁寧にありがとうございます!拝見させていただきます。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 連続ウェーブレット変換 en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!