我正在使用Python和Numpy / Scipy进行一些数字滤波器工作.
我正在使用scipy.signal.iirdesign来生成我的滤波器系数,但它需要以我不熟悉的格式使用滤波器通带系数
wp, ws : float
Passband and stopband edge frequencies, normalized from 0 to 1 (1 corresponds
to pi radians / sample).
For example:
Lowpass: wp = 0.2, ws = 0.3
Highpass: wp = 0.3, ws = 0.2
我不熟悉数字滤波器(我来自硬件设计背景).在模拟环境中,我将确定所需的斜率和3db向下点,并从中计算组件值.
在这种情况下,如何获取已知的采样率,所需的转角频率和所需的滚降,并从中计算wp,ws值?
(这可能更适合math.stackexchange.我不确定)
解决方法:
如果采样率为fs,则奈奎斯特速率为fs / 2.这代表没有混叠的最高可表示频率.它也相当于文档中提到的标准化值1.因此,如果要设计转角频率为fc的低通滤波器,则输入为fc /(fs / 2).
例如,你有fs = 8000所以fs / 2 = 4000.你想要一个转角频率为3100且阻带频率为3300的低通滤波器.结果值为wp = fc /(fs / 2)= 3100/4000.阻带频率为3300/4000.
合理?
标签:python,scipy,signal-processing,digital-filter
来源: https://codeday.me/bug/20190610/1211890.html