ObsPy二阶零相位带通滤波器的corners参数设置疑问
ObsPy零相位带通滤波器corners参数配置解答
需求为:拐角频率0.05Hz、0.1Hz的二阶零相位滤波(最终滤波衰减特性对应二阶巴特沃斯,无相位偏移)
正确调用写法:st.filter('bandpass', freqmin=0.05, freqmax=0.1, corners=1, zerophase=True)
逻辑说明
- ObsPy的
filter方法中,corners参数定义的是单次滤波的巴特沃斯阶数 - 当
zerophase=True时,底层采用零相位滤波实现逻辑:会将相同阶数的滤波器先正向运行一次、再反向运行一次,既抵消了相位偏移,也会让最终的有效滤波阶数翻倍,衰减斜率也对应翻倍 - 如果设置
corners=2+zerophase=True,最终得到的是四阶零相位带通滤波,每倍频程衰减24dB,不符合二阶滤波的特性要求
常见场景核对
如果你实际需要的是四阶衰减特性、零相位的滤波效果,才使用你最初的写法:st.filter('bandpass', freqmin=0.05, freqmax=0.1, corners=2, zerophase=True)
内容的提问来源于stack exchange,提问作者Young Oh Son
相关产品推荐
相关产品推荐

