7

ピーキング EQ には次の 6 つの係数があります。

b0 = 1 + (α ⋅ A)
b1 = −2⋅ωC
b2 = 1 - (α ⋅ A)
a0 = 1 + (α / A)
a1 = −2 ⋅ ωC
a2 = 1 − (α / A)

これらの中間変数を使用すると、次のようになります。

ωc = 2 ⋅ π ⋅ fc / fs
ωS = sin(ωc)
ωC = cos(ωc)
A = sqrt(10^(G/20))
α = ωS / (2Q)

vDSP_deq22()「5つの単精度入力、フィルター係数」を渡す必要があるという状態のドキュメントですが、6つの係数があります! また、どの順序でそれらを渡しますvDSP_deq22()か?

更新 (17/05): github でリリースした私の DSP クラスを使用することをすべての人にお勧めします: https://github.com/bartolsthoorn/NVDSP

4

1 に答える 1

8

2 次フィルターは、次の差分方程式として表すことができます (定義方法ab応じて交換される場合があります)。

a0.y[n] = b0.x[n] + b1.x[n-1] + b2.x[n-2] - a1.y[n-1] - a2.y[n-2]

で割り算してa0の式を得るy[n]と、必要な係数は 5 つだけです。

ここで見つけたドキュメントでは、順序が指定されています (指定された方程式を参照してください)。順番は次のようです。

{ b0/a0, b1/a0, b2/a0, a1/a0, a2/a0 }
于 2012-04-29T19:49:05.353 に答える