Change the buffer size during a simulation

9 visualizaciones (últimos 30 días)
Ali Ghader
Ali Ghader el 16 de Ag. de 2017
Comentada: Walter Roberson el 19 de Ag. de 2017
I am trying to log a reading from a sensor for 2 seconds when simulink starts in order to define a suitable size for the buffers/matrices that I am using in signal analysis.
-Would there be a way to change the size of the buffer after the start of the simulation ?
*I tried to pause the simulation and update the parameters and resume but unfortunately it didn't work, it still gives me the same error: ""Cannot change parameter 'Output buffer size (per channel): (N)' of 'RotorBalancing/Subsystem1/Buffer' while simulation is running""
I used this code for this sake:
set_param('RotorBalancing','SimulationCommand','start');
set_param('RotorBalancing','SimulationCommand','pause');
set_param('RotorBalancing/Subsystem1/Buffer','N','1000')
set_param('RotorBalancing/Subsystem1/Buffer2','N','1000')
set_param('RotorBalancing','SimulationCommand','update');
set_param('RotorBalancing','SimulationCommand','continue');
  • I tried to enable the buffer after the 2 seconds and I still got the same error.
-In case changing the buffer size won't work. Is there a better option to store the signal and prepare it for signal analysis (FFT) ?

Respuesta aceptada

Saurabh Gupta
Saurabh Gupta el 18 de Ag. de 2017
Buffer block dialog parameters can not be modified while the simulation is running or paused. You can observe this by trying to interact with the parameters in Simulink environment, and you will notice that they are edit-disabled.
If you want to post-process the signal, you can always log the signal to a MAT file or the workspace and then, use MATLAB functions for FFT to perform the required analysis. The following documentation lists all the relevant functions in MATLAB.
Hope this helps!
  7 comentarios
Ali Ghader
Ali Ghader el 19 de Ag. de 2017
Editada: Walter Roberson el 19 de Ag. de 2017
Thank you again for the help
Actually it would much more convenient to me to store the signal in other than buffers cuz I am facing another limitation as described here: https://de.mathworks.com/matlabcentral/answers/352923-how-is-the-buffer-block-filled-in-an-enabled-subsystem
Can the signal be stored in a Matlab function block or you only suggest it for signal-processing ?
Walter Roberson
Walter Roberson el 19 de Ag. de 2017
Sorry, I do not know much about those topics.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by