zero phase filter in simulink

21 views (last 30 days)
John Mark Odongo
John Mark Odongo on 24 Jan 2019
Answered: Rafael Cordero on 17 Jun 2020
I am trying to run a zero phase low pass filter in Simulink in MATLAB however I can't find a zero phase filter block. The function filtfilt() works however when i use a self defined function block in Simulink with the same code that works in MATLAB it doesn't seem to work in Simulink. I have attached an image of the Simulink model and the code itself.2019-01-24 09_28_13-lowpass_test _ use.png
function y = test_lp(u)
Wn = 0.01*5;
[b,a] = butter( 3, Wn, 'low');
data=u(:,2);
y= filtfilt(b,a,u(:,2));
%y=filtfilt(b,a,u);
end

Answers (2)

Sameer Gadekar
Sameer Gadekar on 11 Apr 2019
Any filter will introduce and has to introduce delay in the output else filter will become instable it wll become non causal.

Rafael Cordero
Rafael Cordero on 17 Jun 2020
Im having the same problem. Did you ever figure out how to fix this?

Community Treasure Hunt

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

Start Hunting!