我有一个二元滤波器,我想与其他滤波器类型一起使用。
计算具有巴特沃斯拓扑的单极低通 的双二阶系数,我正在使用以下代码:
**A0** = (1.0/(1.0 + sqrt(2.)*(1.0/tanh(pi*(F/SR))) + (1.0/tanh(pi*(F/SR))) * (1.0/tanh(pi*(F/SR)))))
**A1** = (1.0/(1.0 + sqrt(2.)*(1.0/tanh(pi*(F/SR))) + (1.0/tanh(pi*(F/SR))) * (1.0/tanh(pi*(F/SR))))) * 2.
**A2** = (1.0/(1.0 + sqrt(2.)*(1.0/tanh(pi*(F/SR))) + (1.0/tanh(pi*(F/SR))) * (1.0/tanh(pi*(F/SR)))))
**B1** = 2.0*(1.0/(1.0 + sqrt(2.)*(1.0/tanh(pi*(F/SR))) + (1.0/tanh(pi*(F/SR))) * (1.0/tanh(pi*(F/SR))))) * (1.0 - (1.0/tanh(pi*(F/SR)))*(1.0/tanh(pi*(F/SR))))
**B2** = (1.0/(1.0 + sqrt(2.)*(1.0/tanh(pi*(F/SR))) + (1.0/tanh(pi*(F/SR))) * (1.0/tanh(pi*(F/SR))))) * (1.0 - sqrt(2.0) * (1.0/tanh(pi*(F/SR))) + (1.0/tanh(pi*(F/SR)))*(1.0/tanh(pi*(F/SR))))
我还具有巴特沃斯高通,带通和带阻工作。 (当然还有“经典的”二元系数)
为了对其他过滤器类型(例如椭圆形,chebychev或任何可能存在的过滤器)执行相同的操作,我试图通过比较现有代码来以所需的形式导出代码,例如来自matlab-但我根本无法使用它。
有人能以与上述相似的方式为我提供其他过滤器类型的正确数学吗?
(F =频率,以赫兹为单位,这是该表达式的唯一变量/输入)