Python 如何在obspy中设置零相位带通滤波器的阶数
我有一个关于在obspy中设置零相位带通滤波器顺序的问题 我想应用二阶零相位滤波器,转角频率为0.05Hz和0.1Hz 我认为键入“st.filter('带通',freqmin=0.05,freqmax=0.1,corners=2,zerophase=True')是正确的 然而,我有点困惑,因为根据下面的链接,设置“zerophase=True”会导致两倍的过滤器顺序 所以我想问一下,在我的例子中,设置“corners=2”或“corners=1”等是否正确 如果有人给我一个答案,那将对我大有帮助Python 如何在obspy中设置零相位带通滤波器的阶数,python,python-3.x,signal-processing,obspy,Python,Python 3.x,Signal Processing,Obspy,我有一个关于在obspy中设置零相位带通滤波器顺序的问题 我想应用二阶零相位滤波器,转角频率为0.05Hz和0.1Hz 我认为键入“st.filter('带通',freqmin=0.05,freqmax=0.1,corners=2,zerophase=True')是正确的 然而,我有点困惑,因为根据下面的链接,设置“zerophase=True”会导致两倍的过滤器顺序 所以我想问一下,在我的例子中,设置“corners=2”或“corners=1”等是否正确 如果有人给我一个答案,那将对我大有
谢谢。您应该指定
corners=1
零相位滤波器的实现方式是通过滤波器运行数据两次,一次向前,一次向后。这将导致两倍的幅度响应,但抵消了相位响应。因此,如果您预期阻带中的衰减为12 dB/倍频程,如在正常的二阶滤波器中,则指定
拐角=1
。这将导致向前传球时衰减6 dB/倍频程,然后向后传球时再衰减6 dB/倍频程。谢谢回复。我明白了:)