Problems using Discrete State Space block in Simulink

3 次查看(过去 30 天)
I am building an observer to estimate the bias on a gyro.
I have a SS model (A,B,C,D) continuous for the system and built the observer SS (Ao, Bo, Co, Do). My outputs are the true angle and true bias. I want to use this information.
I noticed that I cannot use a continuous SS block in Simulink since my simulink model is for an Arduino which samples at a discrete time. So I must use the discrete SS block.
When I plugged in Ao, Bo , Co, Do, I got no signal coming out. I then realized that perhaps I need to discretize the model (not sure if discrete SS Block accepts continuous SS models and converts them, but I tried anyways...) ...still nothing....
I converted SS to a MIMO TF and then use c2d(). I then coverted back to SS to do this. What am I doing wrong?
Among the possible issues, I highly doubt my continuous SS model is wrong. Is there any other problems you see?
Thanks for your help.
  3 个评论
Vaibhav Awale
Vaibhav Awale 2016-5-6
Can you convert the continuous time state space model to discrete time state space model directly using "c2d()" instead of converting to transfer function?
Also, check the sample time of simulation and sample time of the discrete state space block.
If that doesn't resolve the issue, then if possible share the model.
Reuben
Reuben 2016-5-6
Red area is the observer. -GS is a constant to convert output to rad/s. State 1 = angle. State 2 = bias. Output 1 = angle guess, Output 2 = bias guess.
Input 1 = gyro reading. Input 2 = estimation error.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Classical Control Design 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by