ADI 技术
直播中

刘晓红

7年用户 255经验值
私信 关注
[问答]

SigmaStudio Bandpass Filter计算问题请教

在SigmaStudio的帮助文档里的算法信息  关于  Bandpass 滤波器系数的计算公式说明书写有误,在
Coefficient
alpha alpha= sin(ω0) * sinh( ln(2)/2 * bandwidth * ω0/sin(ω0)
a0 =   1 + alpha
a1 =  -2*cos(ω0)
a2 =   1 - alpha
b0 =   alpha * gainLinear
b1 =   0
b2 =  -alpha * gainLinear

里面的alpha= sin(ω0) * sinh( ln(2)/2 * bandwidth * ω0/sin(ω0) 少了一个“)”,也就是没有和"sinh("对应的")",不知道正确应该加在哪里?谢谢!

回帖(4)

张虎豹

2018-12-12 09:45:27
[size=10.0000pt]您好,您的问题已经提交给ADI相关专家,将邀请专家尽快回答您的问题。谢谢!
举报

刘晓红

2018-12-12 09:52:45
我用C按照以上资料写了一段计算程序,但运行结果不对,请帮我看看哪里搞错了,谢谢:
float w0,sn,cs,alpha,gainLinear;
float a2,a1,a0,b2,b1,b0;
 
float Gain=0;
float f0=1000;
float bandwidth=1.41;
 
w0 = 2*3.1415926*f0/48000 ;
gainLinear = pow(10,(Gain/20));
alpha = sin(w0) * sinh( 0.69314718055994530941723212145818/2 * bandwidth * w0/sin(w0));
a0 = 1 + alpha ;
a1 = -2*cos(w0) ;
a2 = 1 - alpha;
b0 = alpha * gainLinear ;
b1 = 0;
b2 = -alpha * gainLinear;
正确结果应该是:
a2:-0.87519109249115
a1:1.85914862155914
b2:-0.0624043941497803
b1:0
B0:0.0624043941497803
但实际运行结果却是:
a2:-0.933442
a1:1.98289
b2:-0.0665579
b1:0
B0:0.0665579
举报

袁喆

2018-12-12 09:59:11
引用: WYF13760287143 发表于 2018-12-12 11:33
我用C按照以上资料写了一段计算程序,但运行结果不对,请帮我看看哪里搞错了,谢谢:
float w0,sn,cs,alpha,gainLinear;
float a2,a1,a0,b2,b1,b0;

您好,应该放在最后 。
举报

刘晓红

2018-12-12 10:19:10
引用: 海蜇pi 发表于 2018-12-12 11:40
您好,应该放在最后 。

谢谢!加在最后,调试正确了,原来是没有/a0.非常感谢!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分