Marine systems simulation
Zero Dynamics

Classic zero dynamic used in Kalman filtering.

+ Collaboration diagram for Zero Dynamics:

ZeroDynamics implements both the SimObject and KalmanObject interface. The dynamics are \(\dot x = 0\) and are mainly useful for Kalman filtering.

Author
Joakim Haugen

Example configuration excerpt

<Lib
LibName = "fhsim_base"
SimObject = "Kalman/ZeroDynamics"
Name = "Current"
Dimension = "3"
P0 = "5e-2,5e-2,1e-4"
Q = "1e-4,1e-4,1e-5"
/>
...
<InitialCondition
Current.State = "0,0,0"
/>

Input Ports

There are no input ports

Output Ports

Name Width Description
State n The value of the state vector.

Configuration parameters

Name Width Description
Dimension 1 Number of states \(n\) in the object .
P0 n Diagonal elements of the initial matrix \(P_0\).
Q n Diagonal elements of the noise covariance \(Q\).

Initial conditions

By specifying no initial conditions, the whole state vector is set to 0.

Name Width Description
State n Value for each entry of state vector.

Full example file

<Contents>
<OBJECTS>
<Lib
LibName = "fhsim_base"
SimObject = "Kalman/ZeroDynamics"
Name = "Current"
Dimension = "3"
P0 = "5e-2,5e-2,1e-4"
Q = "1e-4,1e-4,1e-5"
/>
</OBJECTS>
<INTERCONNECTIONS>
</INTERCONNECTIONS>
<INITIALIZATION>
<InitialCondition
Current.State = "0,0,0"
/>
</INITIALIZATION>
<INTEGRATION>
<Engine
IntegratorMethod="0"
NumCores="1"
TOutput="0, 0:1e-1:Inf, 150"
stepsize ="4e-6"
HMin="0.5"
FileOutput="objects:ports"
/>
</INTEGRATION>
</Contents>

This SimObject is referred to as Kalman/ZeroDynamics