simulink data process in batch

조회 수: 1 (최근 30일)
JUNGUK KO
JUNGUK KO 2017년 6월 10일
댓글: JUNGUK KO 2017년 6월 16일
I am trying to handle 550000 values in a variable with Simulink. but Simulink computes single value step by step. I need to apply Short time fourier transform to these. How can I calculate these 550000 values at the same step?
error script shows 'Attempted to acces Data_in_x(:,2); index out of bounds because numel(Data_in_x) = 1.'

채택된 답변

Vandana Rajan
Vandana Rajan 2017년 6월 16일
Hi,
Let me give you an example solution. I have a Simulink model, which takes input data using 'From Workspace' block, performs FFT on it using FFT block and outputs the results to workspace via 'To Workspace' block.
It is as shown in the figure attached here.
Since 'From Workspace' blocks expect first column of input matrix as time stamps, the columns 2 to 4 contain my data. I have set the sample time in the 'From Workspace' block as 1. In the configuration parameters, I have set the solver as 'fixed-step' with step-size of 1.
Now, when I press the 'step' button in Simulink, it computes FFT of data with time stamp = 0. So, after 1st step, the output is FFT corresponding to x(1,2:end). Now, if I press step again, it gives me FFT corresponding to x(2,2:end) and it continues.
If I had given the entire data as one single column (2nd column, since 1st column is time stamp), then for each step, Simulink will give me FFT for one data point.
HTH,
Vandana Rajan
  댓글 수: 1
JUNGUK KO
JUNGUK KO 2017년 6월 16일
Thank you so much, I will try this FFT block on my system :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Transforms에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!