Filtering without phase shift in Simulink

35 次查看(过去 30 天)
Hello,
Is it possible to filter a signal without a phase shift in Simulink itself ? Please see the below figure. The yellow signal is the unfitered signal and blue signal is the filtered one. To filter the signal I am using a 'Varying Lowpass filter' with order 3 and cut-off frequency as 30 Hz. Also, the moving average filter block is not an option because I need the filtered signal in an array form.
Thank you very much in advance.

回答(1 个)

Sai Sri Pathuri
Sai Sri Pathuri 2020-7-9
Signal blocks does offer linear phase filtering. There is no block as such for zero-phase filtering in Simulink. You may try the following workarounds.
  1. You may effectively implement a non-causal zero phase filter by injecting delay into the input signal.
  2. Use filtfilt function after filtering. (If you want to implement only in Simulink, you try using filtfilt function within a MATLAB function block)

类别

Help CenterFile Exchange 中查找有关 Single-Rate Filters 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by