如何在obspy中设置零相位带通滤波器的阶数

2024-06-17 08:26:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于在obspy中设置零相位带通滤波器顺序的问题

我想应用二阶零相位滤波器,转角频率为0.05Hz和0.1Hz

我认为键入“st.filter('带通',freqmin=0.05,freqmax=0.1,corners=2,zerophase=True')是正确的

然而,我有点困惑,因为根据下面的链接,设置“zerophase=True”会导致两倍的过滤器顺序

https://docs.obspy.org/_modules/obspy/signal/filter.html

所以我想问一下,在我的例子中,设置“corners=2”或“corners=1”等是否正确

如果有人给我一个答案,那将对我大有帮助

多谢各位


Tags: true键入顺序链接filter频率sthz
1条回答
网友
1楼 · 发布于 2024-06-17 08:26:20

您应该指定corners = 1

零相位滤波器的实现方式是通过滤波器运行数据两次,一次向前,一次向后。这将导致两倍的幅度响应,但抵消了相位响应。因此,如果在阻带中预期12 dB/倍频程衰减,如在正常的二阶滤波器中,则指定corners = 1。这将导致向前传递时衰减6 dB/倍频程,然后向后传递时再衰减6 dB/倍频程

相关问题 更多 >