信号処理において、線形位相とは、フィルタの位相応答が周波数の線形関数となるフィルタの特性です。その結果、入力信号のすべての周波数成分が、同じ一定量(線形関数の傾き)だけ時間的にシフト(通常は遅延)されます。この一定量は群遅延と呼ばれます。したがって、周波数間の時間遅延による位相歪みは発生しません。
ゼロ位相フィルタは、群遅延がゼロである線形位相フィルタの特殊なケースです。非リアルタイムのデジタル信号処理では、線形位相フィルタのフィルタリングされた出力を線形位相フィルタの群遅延分だけ時間的に逆方向にシフトするだけで、任意の線形位相フィルタからこれを得ることができます。そのため、すべての線形位相フィルタが漠然とゼロ位相フィルタと呼ばれることもあります。[ 1 ] [ 2 ]
離散時間信号の場合、係数が対称または反対称である有限インパルス応答(FIR)フィルタを使用することで、完全な線形位相を容易に実現できます。 [ 3 ]近似は、計算効率の高い無限インパルス応答(IIR)設計で実現できます。いくつかの手法は次のとおりです。
周波数応答の位相成分が周波数の線形関数である場合、フィルタは線形位相フィルタと呼ばれます。連続時間アプリケーションの場合、フィルタの周波数応答はフィルタのインパルス応答のフーリエ変換であり、線形位相バージョンは次の形式になります。 ここで、A ( ω )は実数値関数であり、これは群遅延です。
離散時間アプリケーションの場合、線形位相インパルス応答の 離散時間フーリエ変換は次の形式になります。 ここで、A ( ω )は2π周期の実数値関数であり、kは整数であり、k /2はサンプル単位での群遅延である。
これは、フィルタのインパルス応答の Z変換を用いて表現することもできるフーリエ級数である。 どこでこの表記法は、Z変換とフーリエ変換を区別するものである。
正弦波一定の(周波数に依存しない)群遅延を持つフィルターを通過する結果は どこは周波数依存の振幅乗算器であり、位相シフトは角周波数の線形関数である、 そしては傾きです。
ほぼ線形位相の場合、| A ( ω )| が比較的大きな値をとるフィルタの通過帯域でのみその特性があれば十分です。したがって、フィルタの線形性を調べるために、振幅グラフと位相グラフ(ボード線図)の両方が通常使用されます。「線形」位相グラフには、π および/または 2π ラジアンの不連続が含まれる場合があります。小さい不連続は、A ( ω ) が符号を変えるときに発生します。| A ( ω )| は負にならないため、変化は位相図に反映されます。2π の不連続は、主値をプロットすることによって発生します。実際の値の代わりに。
離散時間アプリケーションでは、周期性と対称性のため、周波数範囲は0からナイキスト周波数までのみを調べます。周波数単位によっては、ナイキスト周波数は実際のサンプリングレートの0.5、1.0、π、または1/2になる場合があります。線形位相と非線形位相の例を以下に示します。

線形位相を持つ離散時間フィルタは、対称または反対称のFIRフィルタによって実現できる。[ 4 ]必要条件ではあるが十分条件ではないのは、 一部の人にとって[ 5 ]
デジタル信号処理では、無限インパルス応答(IIR) LTIフィルタは通常 FIR フィルタよりも計算効率がはるかに高いですが、線形位相特性を持つことはほとんどありません。しかし、信号処理がオフラインで行われる場合、双方向フィルタリングまたは順方向逆方向フィルタリング(フィルタを 2 回実行し、2 回目は時間を反転させる) によって任意の LTI フィルタをゼロ位相にすることができます。[ 1 ] [ 6 ] (因果フィルタの場合、この 2 回目のパスは反因果的であるため、このアプローチをリアルタイムで使用することは不可能であることが示されています。) これにより、最初のパスで発生した可変位相遅延が相殺され、各周波数でフィルタのゲインが二乗されます。バンドパスフィルタの場合、これにより阻止帯域の減衰と通過帯域のリップルが 2 倍になります。[ 7 ]
SciPy、GNU Octave、Rなどの最も一般的な信号処理ソフトウェアには、この目的のための組み込み関数があり、通常は と呼ばれていますfiltfilt。[ 8 ] [ 9 ] [ 10 ]
一般化線形位相を持つシステムには、周波数に依存しない定数が追加で存在する。位相に加算される。例えば、離散時間の場合、周波数応答は次の形式となる。
この定数のため、システムの位相は周波数の厳密な線形関数ではありませんが、線形位相システムの多くの有用な特性を保持しています。[ 11 ]