デジタルフィルターとは?
ディジタルフィルターは信号処理の核となる技術で、ノイズ除去、波形成形、イコライザ、信号復調などのアプリケーションで、特定の信号成分のみを抽出するために使用されます。処理内容としては、ADコンバータなどの装置によって離散化・量子化された数値列データに対してデータの遅延と積和演算を行います。
ディジタルフィルターには下図に示すように、通過する帯域または遮断する帯域によって様々な応答タイプがあります。
振幅周波数特性が全域にわたって一定値1で、緑色で示した位相のみが回転します
エンベロープ(包絡線)や信号の直行成分を求めるために使用されます
また、設計手法には、大きく分けてFIRフィルターとIIRフィルターの2つの手法があります。
FIRフィルター(Finite Impulse Response Filter/有限インパルス応答フィルター)
インパルス信号を入力したときの出力信号が、有限時間で収束するためこう呼ばれます。特徴としては、有限時間で出力が収束するため安定で、位相特性は周波数によって変わらない線形位相特性を保ちます。
FIRフィルターの設計には所望のフィルター特性に対して窓関数を乗じた後にフーリエ変換を行うことで伝達関数を得る方法があります。
IIRフィルター(Infinite Impulse Response Filter/無限インパルス応答フィルター)
フィードバックループを含むためにインパルス信号を入力した時の出力信号が計算上は無限に続くためこう呼ばれます。特徴としては、FIRフィルターと比べて少ない次数で急峻な特性を得ることが可能です。反面、周波数によって異なる非線形位相特性を持ち、係数の取り方によっては不安定になりリミットサイクルといった振動発生の問題を引き起こす可能性があります。
IIRフィルターの設計はアナログフィルターのs領域伝達関数H(s)をz変換してH(z)を得る方法と、z平面において、直接所望の特性に近似する方法があります。
また、その応用として、周囲の状況変化に応じてダイナミックにフィルター特性を可変させる適応フィルター(アダプティブフィルター)があります。適応フィルターの例には、アダプティブ・ノイズ・キャンセラー、エコー・キャンセラー、ハウリング・キャンセラー、雑音に埋もれた信号の検出などがあります。
MATLAB®のオプション製品であるSignal Processing Toolbox™とDSP System Toolbox™では各種フィルターの設計・解析機能とGUIを提供します。
Signal Processing Toolboxはバタワース、チェビシェフ1/2型、楕円などのIIRフィルターの設計や、等リップル、ウィンドウ法、最小二乗法、内挿などのFIRフィルターの設計に対応します。フィルター解析機能は振幅/位相応答、インパルス応答、群/遅延、零点-極応答などに対応します。
DSP System Toolboxでは、オールパスフィルター、適応フィルター、マルチレートフィルタ―を含む、さらに多くの、より高度なフィルター設計機能を提供します。フィルター解析機能は、固定小数点化したフィルターのダイナミックレンジスケーリング、リミットサイクルなどの解析機能を提供します。
また、ハードウェアへの実装段階では、設計したフィルターを固定小数点化して量子化の影響を解析することができます。さらにFPGAやASICをターゲットにしたHDLコードの生成も可能となります。
製品使用例および使い方
その他製品に関する情報
参考: ディジタル FIR フィルターおよび IIR フィルターの設計, 適応フィルター、マルチレート フィルター、専門分野別フィルターの設計手法, 信号処理, FPGA設計, エレクトロニクスおよび半導体, File Exchange(コミュニティサイト, ユーザ事例