Effacer les filtres
Effacer les filtres

wavelet波形を​3次元にする際,X軸​を時間に変更する方法​を教えてください。

2 vues (au cours des 30 derniers jours)
Ryosuke Takahashi
Ryosuke Takahashi le 12 Juil 2017
wavelet波形を3次元にする際,X軸を時間に変更する方法を教えていただけないでしょうか?
現在,sin波のモデル波形に対してwavelet変換を行っています。 CWTcoeffsを使用して2次元の図を作成するまではx軸を時間に変更できるのですが, 3次元にする際には規定をする必要があるのでしょうか?
fs=1000; t = 0:1/fs:2-1/fs;
S1 = sin(2*pi*20*t)+sin(2*pi*100*t);
time = (1:fs*2)/fs;
figure(1);
subplot(2,1,1);
plot(time,S1);
subplot(2,1,2);
wname = 'morl';
fc = centfrq(wname); % 中心周波数
fa = 1:200; % 擬似周波数(Hz)
scal2frq(200,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
axis([0,inf, -inf, 200])
title('Scalogram')
ylabel('Hz')
colorbar
figure(2);
mesh(abs(CWTcoeffs));
colormap(jet)
colorbar

Réponse acceptée

Tohru Kikawada
Tohru Kikawada le 12 Juil 2017
X軸の表示を時間にしたいということでしょうか。
表示だけであれば mesh に軸のラベルデータを指定することで実現できます。
mesh(time,fa,abs(CWTcoeffs));
  3 commentaires
Tohru Kikawada
Tohru Kikawada le 13 Juil 2017
掲載されているコードを実行したところ、 time 変数のサイズは 1x2000 のようです。
>> size(time)
ans =
1 2000
単純に mesh の引数を変えただけで私の環境では表示できました。
サンプリング周波数も1000Hzとありますが何か条件が異なっていますか。
fs=1000; t = 0:1/fs:2-1/fs;
S1 = sin(2*pi*20*t)+sin(2*pi*100*t);
time = (1:fs*2)/fs;
figure(1);
subplot(2,1,1);
plot(time,S1);
subplot(2,1,2);
wname = 'morl';
fc = centfrq(wname); % 中心周波数
fa = 1:200; % 擬似周波数(Hz)
scal2frq(200,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
axis([0,inf, -inf, 200])
title('Scalogram')
ylabel('Hz')
colorbar
figure(2);
mesh(time,fa,abs(CWTcoeffs));
colormap(jet)
colorbar
Ryosuke Takahashi
Ryosuke Takahashi le 13 Juil 2017
Modifié(e) : Ryosuke Takahashi le 13 Juil 2017
申し訳ありません。
ワークスペースをクリアして確認したところ,問題ありませんでした。
この度はありがとうございました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 離散多重解像度解析 dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!