From: Thomas von Wantoch on
Hello,

I am trying to estimate the parameters of a second order system of the form:

d^2/dt^2 (x) + 2*d*w0 d/dt (x) + w0^2 x = k u

The parameters to be estimated during the process are w0^2 and 2*d*w0, i.e. the eigenfrequency and the damping of the oscillating system. The measurement value is x.

To estimate this values online I formulated this process as a fourth order nonlinear state space modell (state space vector: [x d/dt (x) w01^2 2*d*w0]) with the common assumptions:

d/dt (w01^2) = 0
d/dt (2*d*w0) = 0

Based on this modell I developed an Extended Kalman Filter (Kalman-Bucy Filter for continuous time) for online estimation of the state space vector.

The simulation in Simulink works great for some parameter combinations (e.g. w0=2 rad/sec, d=0.1).

The problem I encountered is that for parameter values in the range of the real process values (w0 around 1800 rad/sec, d around 10^-5) the estimation is not working or unstable.

I suppose the problem is numerical but I am not really sure. I tried to avoid this problem by transforming the state space vector with a constant diagonal Matrix, a logarithmic scale for the parameters and a time-scaled representation for w0 (w1=w0/wn). But none of these modifications really solves this issue.

Thanks a lot for any suggestion.
Thomas