You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 7, 2024. It is now read-only.
In signal.weigh there is the zero-phase option that uses scipy.signal.filtfilt.
To inspect the frequency response of the zero-phase (forwards-backwards operation) filter Hzp, it is necessary to calculate the frequency response of the forwards filter H (using scipy.signal.freqz), and then multiply it by the complex conjugate H*. Doing this shows that the forwards-backwards operation (ie applying the filter two times to the signal) distorts the overall frequency response Hzp, which in many cases will not give the desired response. In this case, zero-phase operation pushes the filter response outside the relevant IEC acceptance limits.
To avoid this distortion it would be necessary to pre-warp the filter frequencies (in a similar way to compensating for bilinear transform distortion), although I'm unaware of any way to determine the appropriate pre-warping analytically for arbitrary filter responses.
Great library!
In
signal.weighthere is the zero-phase option that usesscipy.signal.filtfilt.To inspect the frequency response of the zero-phase (forwards-backwards operation) filter Hzp, it is necessary to calculate the frequency response of the forwards filter H (using
scipy.signal.freqz), and then multiply it by the complex conjugate H*. Doing this shows that the forwards-backwards operation (ie applying the filter two times to the signal) distorts the overall frequency response Hzp, which in many cases will not give the desired response. In this case, zero-phase operation pushes the filter response outside the relevant IEC acceptance limits.To avoid this distortion it would be necessary to pre-warp the filter frequencies (in a similar way to compensating for bilinear transform distortion), although I'm unaware of any way to determine the appropriate pre-warping analytically for arbitrary filter responses.