cwt変換後に作成される行列の、各行と周波数との関係性
조회 수: 2 (최근 30일)
이전 댓글 표시
現在、外部機器にて音声データを収録(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オクターブ下がるのでしょうか?
回答よろしくお願いします。
댓글 수: 0
채택된 답변
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))
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 連続ウェーブレット変換에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!