Problems using Discrete State Space block in Simulink

9 views (last 30 days)
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 Comments
Vaibhav Awale
Vaibhav Awale on 6 May 2016
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 on 6 May 2016
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.

Sign in to comment.

Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!