音声信号処理の基礎理論(後編) ―― 線形フィルタ,適応アルゴリズム,周波数領域の処理

川村 新,尾知 博

● FIRフィルタとIIRフィルタ

 図22において,フィルタ係数bmがすべて0の場合を考えます.これを図24に示します.



図24 FIR フィルタ
フィルタ次数が有限であれば必ず有限長でインパルス応答が終了する.

 

 このフィルタのインパルス応答は,a0a1,…,aMとなり,フィルタ係数が順番に現れます.従って,フィルタ次数が有限であれば必ず有限長でインパルス応答が終了します.このことから,FIRフィルタと呼ばれます.

 一方,いずれかのbmが値を持つとき,FIRフィルタとはなりません.例として図25のフィルタのインパルス応答を調べると,1,b1b12b13,…となりb1のべきが無限に続くことが分かります.そこでこのようなフィルタは,IIRフィルタと呼ばれます.



図25 IIR フィルタ
1次の例を示す.インパルス応答が無限に続く.

 

 FIRフィルタは必ず安定な出力が得られますが,IIRフィルタはフィルタ係数の与え方によっては出力が発散するため,その設計には注意が必要です.

● Scilab演習 —— LTIフィルタを作る

 LTIフィルタにより,低域通過フィルタ,高域通過フィルタ,帯域通過フィルタを作成し,音声を通過させてみましょう.ただし,フィルタ次数はすべて31とし,低域通過フィルタと高域通過フィルタのカットオフ周波数は0.3π,帯域通過フィルタのカットオフ周波数は,0.1πと0.3πとします.

 各種フィルタを実現するScilabのプログラムをリスト2に示します(Scilabで使用するプログラムやデータは,こちらのWebページからダウンロードできる).ここではScilabに組み込まれている関数を利用して作成しています.

リスト2 Scilabによるフィルタのプログラム

 

 低域通過フィルタのシミュレーション結果を図26に示します.



図26 Scilabで作成した低域通過フィルタ

 

 低域通過フィルタと高域通過フィルタはカットオフ周波数(0.3π)を一つ設定するだけです([0.3 0]の後ろの0は無視される).

 帯域通過フィルタを実現する場合は,カットオフ周波数を二つ設定します.[0.1 0.3]という設定では,低域側が0.1π,高域側が0.3πとなります.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日