audio – 如何配置带通滤波器?

audio – 如何配置带通滤波器?,第1张

概述我正在尝试使用Web Audio API的带通滤波器功能,但我相信我的问题更为笼统.我不明白带通滤波器的“Q”值.我希望能够配置滤波器以传递中频X赫兹的Y赫兹内的频率. 我对音频编程很新,所以我需要考虑计算Q的其他变量吗? 假设您有一个1000Hz的滤波器,您希望它以500Hz开始并以2000Hz结束. 首先,你会注意到它并没有在每个方向上延伸相同数量的赫兹.这是因为滤波器带宽基于八度音程,而不是 我正在尝试使用Web Audio API的带通滤波器功能,但我相信我的问题更为笼统.我不明白带通滤波器的“Q”值.我希望能够配置滤波器以传递中频X赫兹的Y赫兹内的频率.

我对音频编程很新,所以我需要考虑计算Q的其他变量吗?

解决方法 假设您有一个1000Hz的滤波器,您希望它以500Hz开始并以2000Hz结束.

首先,你会注意到它并没有在每个方向上延伸相同数量的赫兹.这是因为滤波器带宽基于八度音程,而不是频率.所以在这种情况下,它向下延伸一个八度音程并向上延伸一个八度.换句话说,频率在低端被除以2并且在高端被乘以2 – 这使得它具有2个八度的带宽.

无论如何,假设你知道频率,这里是你如何计算它:

Q = center_frequency /(top_frequency – bottom_frequency)

在这种情况下,这将是1000 /(2000-500),或0.667.

只要您有目标带宽(以八度为单位),您也可以在不知道顶部和底部频率的情况下计算它:

function getQ( banDWIDth ){  return Math.sqrt( Math.pow(2,banDWIDth) ) / ( Math.pow(2,banDWIDth) - 1 )}

同样,如果你传递2作为带宽参数,你将得到相同的结果:Q = 0.667.

希望有所帮助.

总结

以上是内存溢出为你收集整理的audio – 如何配置带通滤波器?全部内容,希望文章能够帮你解决audio – 如何配置带通滤波器?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1085894.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存