cwt変換後に作成さ​れる行列の、各行と周​波数との関係性

2 次查看(过去 30 天)
SHOHEI YAMASHITA
SHOHEI YAMASHITA 2019-4-10
現在、外部機器にて音声データを収録(Fs:50kHz,t=10s)し
waveファイルとしてmatlabに取り込み、行ベクトルに変換後、cwtを行っています。
結果は指定のファイル(wavelet_wave_1)に格納しています。
[y1,Fs1]=audioread(filename1);%waveファイルの読み込み
detrend_y1=detrend(y1);%直流成分除去
yy1=detrend_y1(1:500000,1)';%10秒間だけ切り出し
[wavelet_wave_1,f1]=cwt(yy1,50000);%連続ウェーブレット変換
出力された行列は161×500000のサイズとなっており、
列サイズはFs×tとなるのは分かるのですが、
161行の各行が、どの周波数帯に対応しているのかが分かりません。
1行目:25000Hzから始まり、10行ごとに1オクターブ下がるのでしょうか?
回答よろしくお願いします。

采纳的回答

Shoumei
Shoumei 2019-4-11
出力された行列が161x500000となっているということですが、その161行が周波数軸に相当します。500000列が時間軸方向のデータです。
各行が何Hzとなっているかは変数f1に入っています。マザーウェーブレットが異なると周波数軸データf1も異なります。
以下コードで表示できますよ。
t = (0:numel(yy1)-1)/Fs1; % 時間軸データを作成
[wavelet_wave_1,f1]=cwt(yy1,Fs1);%連続ウェーブレット変換
surface(t, f1, abs(wavelet_wave_1))
  1 个评论
SHOHEI YAMASHITA
SHOHEI YAMASHITA 2019-4-11
行列f1を確認したところ、確かに入っておりました!
解決しました。
プログラムの表記まで、ありがとうございます。

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!