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

질문:

2019년 1월 24일

답변:

2020년 6월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by