Input an array to a transfer function in Simulink?

9 views (last 30 days)
I am designing a low pass and high pass filter system. To do this, I have added two transfer functions in Simulink. However, when I try to run the simulink model, it says that I cannot input my array into the transfer function. The array has 800000 elements and all are double type (which is the specified time). I'd like to end up with an array at the end as well. How can I use my array as an input to the transfer function?
  1 Comment
Swarooph
Swarooph on 31 Jul 2017
Is it an array that you want to pass as input or a time series so each array element corresponds to some time of the signal?

Sign in to comment.

Answers (1)

Ramanuja Jagannathan
Ramanuja Jagannathan on 2 Aug 2017
I assume the array that you have used for sending the signal data to the filter is of the size 800,000 elements. Hence to import the array into the Simulink model, the "From Workspace" block could be utilized. In the "From Workspace" block, it is required that data must be appended with the corresponding timestamp details. So, create a corresponding time array as shown below:
>> t = linspace(start_time,end_time,length(data)) // assuming 'data' being the name of your input data array
In the "From Workspace" block, under data field enter
[t data]
In order to obtain the result in an array format, connect the "To Workspace" block at the desired output and change the format to "Array".

Community Treasure Hunt

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

Start Hunting!