<< Chapter < Page | Chapter >> Page > |
ディジタル信号処理を実行する処理ブロックのモデルとして、図1に示すブロック図を考える。
図1で、 および をそれぞれ入力信号および出力信号とする。 ここで、 から を生じる処理ブロックを、システムと呼ぶことにする。 システムが線形性、シフト不変性[1]などの条件を満たすとき、このシステムを 線形シフト不変システムという。また、システムを実時間処理で実現するには、 因果性[1]が要求される。本テーマで扱うシステムはすべて因果性を満たす ものとする。
線形シフト不変システムにディジタル単位インパルス
を入力したときの出力 を、インパルス応答と定義する。 インパルス応答は、システムの性質を示す重要な値である。
あるシステムが線形性とシフト不変性を満たす場合、そのシステムのインパル ス応答 が与えられれば、任意の入力 に対する出力 は、 式(2)により計算することができる。
さらに、ある入力信号に対して畳み込み演算を実行することにより、入力信号 からある特定の周波数成分だけを抜き出すなどのフィルタ効果があることが知られている。加えてこのフィルタ効果は、インパルス応答を変化させることに より様々に変化させることができる。このことから、畳み込み演算を実行するシステムは、ディジタルフィルタ ともよばれている。インパルス応答が有限時間だけ持続するシステム をFIR(Finite Impulse Response)システム(またはFIRフィルタ)、無限時間持続するフィルタのことをIIR(Infinite Impulse Response)システム (またはIIRフィルタ)と分類している。本テーマでは、FIRフィルタを扱うこととする。
以上のようなフィルタ効果を与えるシステムの特性を、そのシステムの周波数 特性として表現することができる。インパルス応答 を有するシステム の周波数特性 は、 を正規化角周波数として、 次式で定義される。
システムがFIRフィルタの場合、インパルス応答 は有限時間しか持 続しない。また、因果性を満たすシステムの場合、因果性の定義より、 であるので、因果性を満足しインパルス応答長が で あるFIRシステムの周波数特性は次式となる。
のことをフィルタ長ということもある。
周波数特性には、その大きさを表す振幅特性と、入出力信号間の位相の変化を 表す位相特性とがある。また、位相特性を別の形で表現した特性として、群遅延特性がある。
(4)式より、振幅特性 は、以下のように実部と虚部に分けて表すことができる。
ここで、右辺第一項は実部、右辺第二項は虚部である。よって振幅特性 の絶対値は、(5)式の絶対値をとって以下のように計算できる。
式(6)で および は、それぞれ(5)式における実部と虚部を表すものとする。振幅特性の大きさは、しばしば[dB]で表示される。この場合の振幅(ampitude) [dB]は、常用対数をとって次式で表される。
(7)式で、正規化角周波数 を細かく変化させて を横軸、振幅特性を縦軸としてグラフに示せば、振幅特性の グラフを得ることができる。また、周波数を正規化周波数 で表現することも多い。正規化周波数 は、周波数 [Hz]をサンプリング周波数 [Hz]で割った値である。
位相特性 は、振幅特性 を極座標表示したときの偏角である。 数値計算により の値を求める場合には、次式を用いることができる(ただし、その処理系での逆正接関数 -たとえば atan( )関数- の主値の範囲について理解しておくことが必要であろう)。
さらに、群遅延特性 の定義は、位相特性の傾きとして次式で与えられる。
以上をまとめると、インパルス応答 の値が既知ならば、周波数特性(振幅、 位相、群遅延特性)を計算できることになる。あるインパルス応答について、実際に周波数特性を計算した例を図2に示す。図2(a)がインパルス応答で、図2(b)から(d)がそれぞれ振幅、 位相、群遅延特性である。
式(2)をz変換すると、次式となる。
上式の を伝達関数と呼ぶ。伝達関数 はインパルス応答 の 変換 であり、ディジタルフィルタの入出力関係を 領域で表した式である。式(3)と式(11) を比較すると、畳み込み演算が 領域では積で表現できることがわかる。
ここで、上式に を代入すると次式となる。
および は、それぞれ入力信号 および出力信号 の離散時間フーリエ変換(周波数スペクトル)である。式(11)は、畳み込み演算 を周波数領域で表現した式に相当する。
Notification Switch
Would you like to follow the 'Digital filtering: theory exercise (inct - japanese)' conversation and receive update notifications?