コムフィルタ

コムフィルタ（英: comb filter）は、信号にそれ自身を遅延させたものを追加することで干渉を生じさせるフィルタ回路の一種である。くし形フィルタまたはくし型フィルタとも。コムフィルタの周波数特性は一定間隔のスパイク状になり、図示すると櫛のように見える。 コムフィルタは様々な信号処理に利用されている。 CICフィルタ（カスケード積分コムフィルタ）は、サンプリング周波数変換の際のアンチエイリアスによく使う。 2次元および3次元のコムフィルタは、PALおよびNTSCのテレビデコーダに使う。映像ノイズを低減させる効果がある。 エコー、フランジャー、場合により疑似ステレオといった音響効果。 デジタルウェーブガイド合成などの物理モデル音源。例えば、遅延を数ミリ秒に設定すると、コムフィルタを使って円筒形の空洞や振動する紐などの音響定常波をモデル化できる。 コムフィルタにはフィードフォワード型とフィードバック型がある。これらの名称は追加する信号を遅延させる方向に対応している。 コムフィルタは、離散信号でも連続信号でも実装できる。ここでは主に離散信号での実装を解説する。連続信号用コムフィルタも特性はよく似ている。 フィードフォワード型コムフィルタの大まかな構造を右図に示す。これは次の式で表せる。   y [ n ] = x [ n ] + α x [ n − K ] {\displaystyle \ y[n]=x[n]+\alpha x[n-K]\,} ここで、 K {\displaystyle K} は遅延長（標本数）、 α {\displaystyle \alpha } は遅延信号に適用する倍率である。この式の両辺のZ変換を行うと、次の式が得られる。   Y ( z ) = ( 1 + α z − K ) X ( z ) {\displaystyle \ Y(z)=(1+\alpha z^{-K})X(z)\,} 伝達関数は次のように定義される。   H ( z ) = Y ( z ) X ( z ) = 1 + α z − K = z K + α z K {\displaystyle \ H(z)={\frac {Y(z)}{X(z)}}=1+\alpha z^{-K}={\frac {z^{K}+\alpha }{z^{K}}}\,} Z領域で表される離散時間系の周波数応答を得るには、 z = e j ω {\displaystyle z=e^{j\omega }} と置き換える。すると、フィードフォワード型コムフィルタの伝達関数は次のようになる。   H ( e j ω ) = 1 + α e − j ω K {\displaystyle \ H(e^{j\omega })=1+\alpha e^{-j\omega K}\,} オイラーの公式を使うと、周波数応答は次のように表すこともできる。   H ( e j ω ) = [ 1 + α cos ⁡ ( ω K ) ] − j α sin ⁡ ( ω K ) {\displaystyle \ H(e^{j\omega })=\left[1+\alpha \cos(\omega K)\right]-j\alpha \sin(\omega K)\,} 位相を無視して振幅の周波数特性だけを必要とすることが多い。それは次のように定義できる。   | H ( e j ω ) | = ℜ { H ( e j ω ) } 2 + ℑ { H ( e j ω ) } 2 {\displaystyle \ |H(e^{j\omega })|={\sqrt {\Re \{H(e^{j\omega })\}^{2}+\Im \{H(e^{j\omega })\}^{2}}}\,} フィードフォワード型コムフィルタでは、これが次のようになる。   | H ( e j ω ) | = ( 1 + α 2 ) + 2 α cos ⁡ ( ω K ) {\displaystyle \ |H(e^{j\omega })|={\sqrt {(1+\alpha ^{2})+2\alpha \cos(\omega K)}}\,} ( 1 + α 2 ) {\displaystyle (1+\alpha ^{2})} という項は定数であり、残る 2 α cos ⁡ ( ω K ) {\displaystyle 2\alpha \cos(\omega K)} は周期関数である。したがって、コムフィルタの周波数特性は周期的である。 右の2つの図は様々な α {\displaystyle \alpha } の値について、周波数特性の周期性を表したものである。次のような特性が重要である。 応答は周期的に局所最小値に落ち込み（「ノッチ」などと呼ぶ）、周期的に局所最大値になる（これを「ピーク」などと呼ぶ）。 最大と最小は常に 1 から等しい距離にある。 α = ± 1 {\displaystyle \alpha =\pm 1} のとき、最小の振幅がゼロになる。この場合の局所最小値を「ヌル」などと呼ぶ。 α {\displaystyle \alpha } が正のときの最大と α {\displaystyle \alpha } が負のときの最小は同じ周波数であり、逆も同様である。 再びZ領域でのフィードフォワード型コムフィルタの伝達関数を考える。   H ( z ) = z K + α z K {\displaystyle \ H(z)={\frac {z^{K}+\alpha }{z^{K}}}\,} 見ての通り、 z K = − α {\displaystyle z^{K}=-\alpha } のとき分子がゼロになる。つまり、 K {\displaystyle K} の解は複素平面上の円周に等間隔で並ぶ。それらが伝達関数の零点である。分母は z K = 0 {\displaystyle z^{K}=0} のときゼロとなるので、 K {\displaystyle K} が一定なら z = 0 {\displaystyle z=0} が極となる。以上から次のような極と零点の図が得られる。 フィードバック型コムフィルタの大まかな構造を右図に示す。これは次の式で表せる。   y [ n ] = x [ n ] + α y [ n − K ] {\displaystyle \ y[n]=x[n]+\alpha y[n-K]\,} y {\displaystyle y} を含む項を左辺に集め、両辺をZ変換すると次のようになる。   ( 1 − α z − K ) Y ( z ) = X ( z ) {\displaystyle \ (1-\alpha z^{-K})Y(z)=X(z)\,} したがって、伝達関数は次のようになる。   H ( z ) = Y ( z ) X ( z ) = 1 1 − α z − K = z K z K − α {\displaystyle \ H(z)={\frac {Y(z)}{X(z)}}={\frac {1}{1-\alpha z^{-K}}}={\frac {z^{K}}{z^{K}-\alpha }}\,} フィードバック型コムフィルタのZ領域表現で z = e j ω {\displaystyle z=e^{j\omega }} と置き換えると、次の式が得られる。   H ( e j ω ) = 1 1 − α e − j ω K {\displaystyle \ H(e^{j\omega })={\frac {1}{1-\alpha e^{-j\omega K}}}\,} 振幅の周波数特性は次のようになる。   | H ( e j ω ) | = 1 ( 1 + α 2 ) − 2 α cos ⁡ ( ω K ) {\displaystyle \ |H(e^{j\omega })|={\frac {1}{\sqrt {(1+\alpha ^{2})-2\alpha \cos(\omega K)}}}\,} こちらも周期的な特性となっていることを右の2つの図で示す。フィードバック型コムフィルタはフィードフォワード型と次のような点が共通である。 応答は周期的に局所最小値と局所最大値を繰り返す。 α {\displaystyle \alpha } が正のときの最大と α {\displaystyle \alpha } が負のときの最小は同じ周波数であり、逆も同様である。 しかし、上の式で全ての項が分母にあることから、重要な差異もある。 最大値と最小値は 1 から等しい距離にあるわけではない。 | α | {\displaystyle |\alpha |} が 1 未満のときだけ安定である。図を見て分かるとおり | α | {\displaystyle |\alpha |} が大きくなると、最大値の振幅が急激に増大する。 再びZ領域でのフィードバック型コムフィルタの伝達関数を考える。   H ( z ) = z K z K − α {\displaystyle \ H(z)={\frac {z^{K}}{z^{K}-\alpha }}\,} この場合、分子がゼロになるのは z K = 0 {\displaystyle z^{K}=0} のときであり、 K {\displaystyle K} が固定なら z = 0 {\displaystyle z=0} が零点となる。分母は z K = α {\displaystyle z^{K}=\alpha } のときゼロになる。これには K {\displaystyle K} 個の解があり、複素平面上の円周上に等間隔に並ぶ。それらが伝達関数の極である。以上から次のような極と零点の図が得られる。 コムフィルタは連続信号に対しても実装できる。その場合のフィードフォワード型コムフィルタは次の式で表される。   y ( t ) = x ( t ) + α x ( t − τ ) {\displaystyle \ y(t)=x(t)+\alpha x(t-\tau )\,} そして、フィードバック型は次の式で表される。   y ( t ) = x ( t ) + α y ( t − τ ) {\displaystyle \ y(t)=x(t)+\alpha y(t-\tau )\,} ここで τ {\displaystyle \tau } は遅延である（単位は秒）。 これらの周波数特性はそれぞれ次の式になる。   H ( ω ) = 1 + α e − j ω τ {\displaystyle \ H(\omega )=1+\alpha e^{-j\omega \tau }\,}   H ( ω ) = 1 1 − α e − j ω τ {\displaystyle \ H(\omega )={\frac {1}{1-\alpha e^{-j\omega \tau }}}\,} 連続信号の場合の特性は離散信号の場合と全く同じである。 フィルタ回路 デジタルフィルタ ノイズリダクション 有限インパルス応答 無限インパルス応答