Is there a nice way to discretely simulate an LTI system using a function block in Simulink?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Vinh
el 10 de Abr. de 2024
Comentada: Vinh
el 11 de Abr. de 2024
I want to simulate an LTI system in Simulink such that with each timestep, I call/use a function block to advance the discrete system one timestep forward. I have tried to do this but I ran into algebraic loop problems when trying to feed the function output (the next state of the system) back into its inputs (the current state of the system) for integration. Can I just throw a delay on equal to my discrete timestep between the output of the function and the input? This will need to be loaded and implemented on hardware eventually if that makes a difference.
Also, the reason I am doing it this way is that I need a bunch of extra logic on top of the simulation which would definitely be easier to implement in code form.
0 comentarios
Respuesta aceptada
Fangjun Jiang
el 11 de Abr. de 2024
Editada: Fangjun Jiang
el 11 de Abr. de 2024
Yes. For sys = ss(A,B,C,D,ts), the following equation should be used to advance the simulation step by step. Make sure to use c2d() if your LTI is provided in continuous-time.
x[n+1]=Ax[n]+Bu[n]
y[n]=Cx[n]+Du[n]
Más respuestas (0)
Ver también
Categorías
Más información sobre Schedule Model Components en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!