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 ExchangeFilter 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