How to poprely implement a matlab function in simulink

Hello,
In sumulink, I am trying to create FFT output in two ways: with built-in simulink blocks, and with a Matlab function block (Simulink model attached). While biult-in blocks give a fine output, the function block is creating something I don't understand(also attached), what should I do for the function block to work fine(I need a function block for a much more complicated function later)?
The function code is as follows: function f = fun1(x) f = abs(fft(x)); end

 채택된 답변

Zoe Xiao
Zoe Xiao 2017년 8월 3일

0 개 추천

There is no 'unbuffer' functions in your MATLAB function. So the data on your plot contain fft results calculated at each sample times. You could plot any column corresponding to the simulation time between 150sec and 250sec, which will give you a meaningful spectrum. Or simply add 'unbuffer' block as you did on the other path.
If you still see the unmatching results after you include 'unbuffer' block, please contact the MathWorks technical support.

추가 답변 (0개)

카테고리

질문:

2017년 1월 26일

답변:

2017년 8월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by