2次再帰デジタル線形フィルタ
信号処理 において 、 デジタル バイクワッド フィルタは、2 つの 極 と 2 つの ゼロ を含む 2 次 再帰 線形フィルタです。「バイクワッド」は「 バイカッドティック 」の略語で、 Z 領域 ではその 伝達関数が 2 つの 2 次関数 の比である ことを意味します 。
H
(
ず
)
=
b
0
+
b
1
ず
−
1
+
b
2
ず
−
2
1つの
0
+
1つの
1
ず
−
1
+
1つの
2
ず
−
2
{\displaystyle \ H(z)={\frac {b_{0}+b_{1}z^{-1}+b_{2}z^{-2}}{a_{0}+a_{1} z^{-1}+a_{2}z^{-2}}}}
係数は多くの場合、 a 0 = 1 となるように正規化されます。
H
(
ず
)
=
b
0
+
b
1
ず
−
1
+
b
2
ず
−
2
1
+
1つの
1
ず
−
1
+
1つの
2
ず
−
2
{\displaystyle \ H(z)={\frac {b_{0}+b_{1}z^{-1}+b_{2}z^{-2}}{1+a_{1}z^{ -1}+a_{2}z^{-2}}}}
高次 無限インパルス応答フィルタは、 係数の 量子化 に非常に敏感で、 不安定 になりやすい。これは、1 次および 2 次フィルタではそれほど問題にならないため、高次フィルタは通常、直列カスケード接続されたバイクワッドセクション (および必要に応じて 1 次フィルタ) として実装されます。バイクワッドフィルタが安定するには、2 つの極が単位円の内側にある必要があります。一般に、これはすべての離散フィルタに当てはまります。つまり、フィルタが安定するには、すべての極が Z ドメインの単位円の内側にある必要があります。
実装
最も簡単な実装は直接形式1であり、次の 差分方程式 を持ちます。
ええ
[
ん
]
=
1
1つの
0
(
b
0
x
[
ん
]
+
b
1
x
[
ん
−
1
]
+
b
2
x
[
ん
−
2
]
−
1つの
1
ええ
[
ん
−
1
]
−
1つの
2
ええ
[
ん
−
2
]
)
{\displaystyle \ y[n]={\frac {1}{a_{0}}}\left(b_{0}x[n]+b_{1}x[n-1]+b_{2}x[n-2]-a_{1}y[n-1]-a_{2}y[n-2]\right)}
または、正規化した場合:
ええ
[
ん
]
=
b
0
x
[
ん
]
+
b
1
x
[
ん
−
1
]
+
b
2
x
[
ん
−
2
]
−
1つの
1
ええ
[
ん
−
1
]
−
1つの
2
ええ
[
ん
−
2
]
{\displaystyle \ y[n]=b_{0}x[n]+b_{1}x[n-1]+b_{2}x[n-2]-a_{1}y[n-1] -a_{2}y[n-2]}
ここで 、、係数 は ゼロを決定し、、は 極 の位置を決定します。
b
0
{\displaystyle b_{0}}
b
1
{\displaystyle b_{1}}
b
2
{\displaystyle b_{2}}
1つの
1
{\displaystyle a_{1}}
1つの
2
{\displaystyle a_{2}}
直接形式 1 のバイカッド フィルタのフロー グラフ:
これらのセクションが 2 以上の次数のフィルター用にカスケード接続されている場合、 セクション出力の遅延が次のセクション入力に複製されることに注意することで、実装の効率を向上させることができます。セクション間の 2 つのストレージ遅延コンポーネントが削除される場合があります。
ず
−
1
{\displaystyle z^{-1}}
直接形式 2 は、直接形式 1 と同じ正規化された伝達関数を 2 つの部分に実装します。
ええ
[
ん
]
=
b
0
わ
[
ん
]
+
b
1
わ
[
ん
−
1
]
+
b
2
わ
[
ん
−
2
]
、
{\displaystyle \y[n]=b_{0}w[n]+b_{1}w[n-1]+b_{2}w[n-2],}
差分方程式を 使用すると次のようになります 。
わ
[
ん
]
=
x
[
ん
]
−
1つの
1
わ
[
ん
−
1
]
−
1つの
2
わ
[
ん
−
2
]
。
{\displaystyle \ w[n]=x[n]-a_{1}w[n-1]-a_{2}w[n-2].}
直接形式2のバイクワッドフィルタのフローグラフ:
直接形式 2 の実装では、 N 個の 遅延ユニットのみが必要です。ここで、 N は フィルターの次数であり、直接形式 1 の半分になる可能性があります。正規化された直接形式 1 からの導出は次のとおりです。
ええ
[
ん
]
=
b
0
x
[
ん
]
+
b
1
x
[
ん
−
1
]
+
b
2
x
[
ん
−
2
]
−
1つの
1
ええ
[
ん
−
1
]
−
1つの
2
ええ
[
ん
−
2
]
{\displaystyle \ y[n]=b_{0}x[n]+b_{1}x[n-1]+b_{2}x[n-2]-a_{1}y[n-1] -a_{2}y[n-2]}
次の置換を仮定します。
ええ
[
ん
]
=
b
0
わ
[
ん
]
+
b
1
わ
[
ん
−
1
]
+
b
2
わ
[
ん
−
2
]
{\displaystyle \y[n]=b_{0}w[n]+b_{1}w[n-1]+b_{2}w[n-2]}
その結果は次のようになります:
ええ
[
ん
]
=
b
0
x
[
ん
]
+
b
1
x
[
ん
−
1
]
+
b
2
x
[
ん
−
2
]
−
1つの
1
(
b
0
わ
[
ん
−
1
]
+
b
1
わ
[
ん
−
2
]
+
b
2
わ
[
ん
−
3
]
)
−
1つの
2
(
b
0
わ
[
ん
−
2
]
+
b
1
わ
[
ん
−
3
]
+
b
2
わ
[
ん
−
4
]
)
{\displaystyle \y[n]=b_{0}x[n]+b_{1}x[n-1]+b_{2}x[n-2]-a_{1}(b_{0}w[n-1]+b_{1}w[n-2]+b_{2}w[n-3])-a_{2}(b_{0}w[n-2]+b_{1}w[n-3]+b_{2}w[n-4])}
、係数 を 分離します 。
b
0
{\displaystyle b_{0}}
b
1
{\displaystyle b_{1}}
b
2
{\displaystyle b_{2}}
ええ
[
ん
]
=
b
0
(
x
[
ん
]
−
1つの
1
わ
[
ん
−
1
]
−
1つの
2
わ
[
ん
−
2
]
)
+
b
1
(
x
[
ん
−
1
]
−
1つの
1
わ
[
ん
−
2
]
−
1つの
2
わ
[
ん
−
3
]
)
+
b
2
(
x
[
ん
−
2
]
−
1つの
1
わ
[
ん
−
3
]
−
1つの
2
わ
[
ん
−
4
]
)
{\displaystyle \ y[n]=b_{0}(x[n]-a_{1}w[n-1]-a_{2}w[n-2])+b_{1}(x[n-1]-a_{1}w[n-2]-a_{2}w[n-3])+b_{2}(x[n-2]-a_{1}w[n-3]-a_{2}w[n-4])}
これを仮定すると、 上記の結果が得られます。
わ
[
ん
]
=
x
[
ん
]
−
1つの
1
わ
[
ん
−
1
]
−
1つの
2
わ
[
ん
−
2
]
{\displaystyle \ w[n]=x[n]-a_{1}w[n-1]-a_{2}w[n-2]}
ええ
[
ん
]
=
b
0
わ
[
ん
]
+
b
1
わ
[
ん
−
1
]
+
b
2
わ
[
ん
−
2
]
、
{\displaystyle \y[n]=b_{0}w[n]+b_{1}w[n-1]+b_{2}w[n-2],}
欠点は、直接形式 2 では、高 Q または共振のフィルタで演算オーバーフローの可能性が高くなることです。 [1] Q が増加すると、両方の直接形式トポロジの丸めノイズが際限なく増加すること が示されています。 [2] これは、概念的には、信号が最初に全極フィルタ (通常は共振周波数でゲインをブーストする) を通過し、その結果が飽和してから、全ゼロ フィルタ (全極半分が増幅したものの多くを減衰させることが多い) を通過するためです。
直接形式 2 の実装は、遅延、加算器、乗算器の使用量が最小限で、直接形式 1 の実装と同じ伝達関数が得られるため、標準形式と呼ばれます。
2つの直接形式はそれぞれ、フローグラフを反転することで、伝達関数を変更せずに転置することができます。分岐点はサマーに変更され、サマーは分岐点に変更されます。 [3] これらは、状態ストレージで精度が失われる可能性がある実際の実装で数学的に重要な、同じ伝達関数を実現する修正された実装を提供します。
転置された直接形式 2 の
差分方程式は 次のとおりです。
y
[
n
]
=
b
0
x
[
n
]
+
s
1
[
n
−
1
]
,
{\displaystyle \ y[n]=b_{0}x[n]+s_{1}[n-1],}
どこ
s
1
[
n
]
=
s
2
[
n
−
1
]
+
b
1
x
[
n
]
−
a
1
y
[
n
]
{\displaystyle \ s_{1}[n]=s_{2}[n-1]+b_{1}x[n]-a_{1}y[n]}
そして
s
2
[
n
]
=
b
2
x
[
n
]
−
a
2
y
[
n
]
.
{\displaystyle \ s_{2}[n]=b_{2}x[n]-a_{2}y[n].}
直接形式1
転置される
直接形式2
転置される
量子化ノイズ
n ビットのサンプルに m ビットの係数を掛けると、積は n+m ビットになります。これらの積は通常 DSP レジスタに蓄積され、5 つの積を加算すると 3 つのオーバーフロー ビットが必要になる場合があります。このレジスタは多くの場合、n+m+3 ビットを保持できる大きさです。z −1 は、1 サンプル時間の値を保存することで実装されます。この保存レジスタは通常 n ビットで、アキュムレータ レジスタは n ビットに収まるように丸められ、これにより量子化ノイズが発生します。
直接形式 1 の配置では、単一の量子化/丸め関数 Q(z) が存在します。
直接形式 2 の配置では、中間値の量子化/丸め機能もあります。カスケードでは、ステージ間で値を丸める必要はないかもしれませんが、最終出力では丸めが必要になる場合があります。
固定小数点 DSP は通常、非転置形式を好み、多数のビットを持つアキュムレータを備え、メイン メモリに格納されるときに丸められます。浮動小数点 DSP は通常、転置形式を好み、各乗算と、場合によっては各加算が丸められます。両方のオペランドが同じ大きさの場合、加算はより高精度の結果になります。
参照
参考文献
^ JO スミス III、直接フォーム II
^ LB Jackson、「デジタル フィルタにおける丸めノイズとダイナミック レンジの相互作用について」、 Bell Sys. Tech. J. 、vol. 49 (1970 年 2 月)、LR Rabiner および CM Rader 編『 デジタル信号処理 』(IEEE Press、ニューヨーク、1972 年) に再掲載。
^ 「転置された直接形式」。
外部リンク
オーディオ EQ バイクアッド フィルタ係数のクックブック式
デジタル信号処理に関するWikiBook
マッチングされた2次デジタルフィルタ