Azzera filtri
Azzera filtri

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

2 visualizzazioni (ultimi 30 giorni)
SHOHEI YAMASHITA
SHOHEI YAMASHITA il 10 Apr 2019
Commentato: SHOHEI YAMASHITA il 11 Apr 2019
現在、外部機器にて音声データを収録(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オクターブ下がるのでしょうか?
回答よろしくお願いします。

Risposta accettata

Shoumei
Shoumei il 11 Apr 2019
出力された行列が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 Commento
SHOHEI YAMASHITA
SHOHEI YAMASHITA il 11 Apr 2019
行列f1を確認したところ、確かに入っておりました!
解決しました。
プログラムの表記まで、ありがとうございます。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 連続ウェーブレット変換 in Help Center e File Exchange

Prodotti


Release

R2017a

Community Treasure Hunt

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

Start Hunting!