Skip to content

Reduce dimensions of a state space system while preserving model output accuracy.

License

Notifications You must be signed in to change notification settings

rockyyliang/stateSpaceReduction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

State space reduction

Reduce dimensions of a state space system while preserving model output accuracy, by balanced realization.

This example uses a 3 mass spring damper system.

3mass

The original system has 6 states: speed and position of each mass. Reduced system matrices are stores as Ared, Bred, and Cred. It tests different amounts of state reduction by comparing model output:

p2

We can see that the system behavior deviates more after 3 states are discarded. This is confirmed by checking diagonal values of T * wc * T', where T is the transformation to realize the new system, and wc is the original system's controllability gramian.

image

These diagonal values can be used to predict output accuracy. The 4th element is much smaller than the 3rd, meaning removing 3 states will significantly affect the quality of your reduced model. Keep in mind that regardless of how many states you take away, states of the reduced model do not correspond to states of your physical system anymore. It's the output Y that is still accurate.

Purpose

Once you have your reduced system, it can be used in model based algorithms such as Kalman filters and model predictive control. The advantage here is since it's a smaller state space, your code will run faster.

About

Reduce dimensions of a state space system while preserving model output accuracy.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages