【问题标题】:how to set the order of zero-phase bandpass filter in obspy如何在obspy中设置零相位带通滤波器的阶数
【发布时间】:2021-08-08 07:57:14
【问题描述】:

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

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

我认为输入 'st.filter('bandpass', 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”等是否正确。

如果有人给出答案,对我有很大帮助。

谢谢。

【问题讨论】:

    标签: python python-3.x signal-processing obspy


    【解决方案1】:

    您应该指定corners = 1

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

    【讨论】:

    • 感谢您的回复。我明白了:)
    猜你喜欢
    • 2012-08-25
    • 2013-03-15
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2010-10-23
    • 1970-01-01
    相关资源
    最近更新 更多