時間周波数応答を得ることができるWavelet変換。
本ブログではMatlabを使ってWavelet変換を行うサンプルプログラムをご紹介します。
ということで、実施することは
- 1つの音声ファイルに対してWavelet変換
- 時間周波数応答のわかりやすい図(スカログラム)を作成
これを実現するために
- 音声ファイルの読み込み
- Wavelet変換
- 図作成
という3手順で説明していきます。
1. 音声ファイルの読み込み
本プログラミングで用いる音声は以下のファイルです。
Matlabで音声ファイルを読み込むときはaudioread()という関数を用います。
これで音声ファイルを読み込むことができます。
Fsにはサンプリング周波数
yには時間に対するデータ
が入っています。
ワークスペースを見てみると、
というデータが入っていますね。
つまり、この音声ファイルは
サンプリング周波数が48000で
要素数が50160
であるデータと分かります。
これらを使ってWavelet変換を実施します。
2.Wavelet変換
さて、本題のWavelet変換です。
Wavelet変換実施にあたり、主に使用する関数はwt()という関数です。
これでWavelet変換が実施されました。
3.図作成
時間周波数応答が分かりやすいように図を作成します。
Wavelet図の作成するにあたり、描き方等を一部指定しています。
そして、
このように、Wavelet変換をわかりやすく図に示したもの(スカログラム)を作成することができました。
Matlabは有料ですが、信号処理のための関数が多数用意されています。
その後のグラフ化も非常に簡潔に記述することができます。
![]() |
MATLAB and Simulink Student Suite R2019b
10,789円
Amazon |
しかし、サンプルコードが少なく(主にMatlabのホームページのみ)勉強もしにくいです。
ですので、Matlabの基礎を学びたい方には、サンプルコードから勉強する前に
この本がおすすめです。この本を読んでから、
サンプルコードをいじっていくような勉強スタイルが
よろしいかと思います。
![]() |
最新 使える!MATLAB 第2版 (KS理工学専門書)
3,080円
Amazon |
少しでも皆様のためになれば幸いです。







