zero phase filter in simulink

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

Respuestas (2)

Sameer Gadekar
Sameer Gadekar el 11 de Abr. de 2019

0 votos

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 el 17 de Jun. de 2020

0 votos

Im having the same problem. Did you ever figure out how to fix this?

Categorías

Más información sobre Filter Design and Analysis en Centro de ayuda y File Exchange.

Productos

Versión

R2018a

Preguntada:

el 24 de En. de 2019

Respondida:

el 17 de Jun. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by