gpt4 book ai didi

c - 用于峰值 EQ 的 IIR 系数,如何将它们传递给 vDSP_deq22?

转载 作者:太空狗 更新时间:2023-10-29 17:10:11 32 4
gpt4 key购买 nike

我有这 6 个用于峰值 EQ 的系数:

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它可能会为您节省很多工作。

最佳答案

二阶滤波器可以表示为以下差分方程(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个系数。

我找到的文档here指定顺序(参见给出的等式)。看起来顺序是:

{ b0/a0, b1/a0, b2/a0, a1/a0, a2/a0 }

关于c - 用于峰值 EQ 的 IIR 系数,如何将它们传递给 vDSP_deq22?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375359/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com