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

回答(2 个)

Sameer Gadekar
Sameer Gadekar 2019-4-11

0 个投票

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 2020-6-17

0 个投票

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

类别

帮助中心File Exchange 中查找有关 Filter Design and Analysis 的更多信息

产品

版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by