Can the filtfilt function be used in the simulink block matlab function?
조회 수: 8 (최근 30일)
이전 댓글 표시
Goodafternoon,
I wanted to use a non-causal filter on a array of datapoints in my Simulink model. Therefore I implemented the filtfilt function in a matlab function block. However, I get the following error:
Simulink does not have enough information to determine output sizes for this block. If you think the errors below are inaccurate, try specifying types for the block inputs and/or sizes for the block outputs.
Component:MATLAB Function | Category:Coder error
Index exceeds array bounds.
Function 'MATLAB Function' (#737.23.38), line 3, column 3:
"filtfilt(1,2,u)"
Launch diagnostic report.
Component:MATLAB Function | Category:Coder error
What could be the problem here? If I use 'filter' it seems to work fine. I included a simple model in the attachment.
Kind regards,
Brecht
댓글 수: 2
Ryan Takatsuka
2018년 7월 23일
It looks like a and b cannot have the same length in the Simulink filtfilt() call for some reason. If you design a filter where a and b are different lengths, it seems to run:
filtfilt([1,1], 2, u)
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Measurements and Statistics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!