1st and 2nd derivative with H2 observer

Hi to all!!

Guys i have a problem. I have estimated the first derivative(called x_hat_d ot) of position with a H infinity observer. Now i want obtain the second de rivative, always with H observer. If connect "x_hat_dot" to another observe r, this estimate the 2nd derivative (x_hat_dot_dot) ??

Thanks to all!

Reply to
stefano.cap91
Loading thread data ...

You need to tell us more.

If by observer you mean a filter that takes the plant dynamics and drive into account, and if the velocity (1st derivative) is a state, then your best estimate of the acceleration (2nd derivative) will probably come from building one observer that coughs up both.

A better estimate would happen if you have a decent model of whatever process causes the acceleration -- derivative operations inherently amplify noise in your data, so you really want to filter them. But the more you filter your derivatives, the more you're losing real information along with the noise. Taking known influences on acceleration and velocity (such as drive to a motor) into account improves your estimate, as does taking the anticipated dynamic behavior of the signals in question into account.

Reply to
Tim Wescott

Then, i have a vector that contains 3602 values of position of a motor. The se values are noisy. I must estimate velocity and acceleration with H obser ver. This is unclear to me: the state is the velocity, not the position rig ht?? Because, from simulation of matlab, the state follows the position and i thought that it wasn't the first derivative. As you say, i need only one observer, correctly.

Reply to
stefano.cap91

I think you're a bit unclear on the meaning of the word "state" in a dynamic systems context.

"State", here, means the output value of any integrator in the system (speaking more realistically, in the system model). So if you use two integrators to model your system, then your system model has two states; if you use three integrators to model your system, then your system model has three states, etc.

As an example, a common simplified model of a DC motor is one that has a controlled torque that drives a motor armature and whatever is attached to it. The resulting model has two states: position and velocity.

So to answer your question about what the state is -- it is the position _and_ the velocity.

Note that if you stop at those two states, you cannot build an "observer" in the traditional state-space sense for the acceleration, because an observer estimates states, and acceleration isn't a state in your model. If you want to use a formal observer to estimate acceleration, you need to come up with a model that has acceleration as a state, and you need to know how the acceleration evolves over time due to drive, external forces, etc.

Knowing all that is quite a reach, unless you've really analyzed the hell out of the mechanical system. So you can fudge it, and just assume that the acceleration is the result of some simple 1st-order lowpass process from the motor drive and external forces. This has the disadvantage of being a wild-ass guess, but it has the advantage of giving you a structure within which you can actually build your observer.

Reply to
Tim Wescott

hese values are noisy. I must estimate velocity and acceleration with H obs erver. This is unclear to me: the state is the velocity, not the position r ight?? Because, from simulation of matlab, the state follows the position a nd i thought that it wasn't the first derivative. As you say, i need only o ne observer, correctly.

Is this a vector of position as a function of time? Do you also have the control signal as a function of time? From that you should be able to do a system identification to estimate mode l parameters. This is the basic first steps of making an auto tuner. You should be estimate a smooth acceleration from the data.

Below is a link to a very old example for a hydraulic system with coarse po sition feed back. The positions are quantized so calculating the velocity by the difference in position is noisy and calculating the acceleration fr om the position feedback would be meaningless.

By estimating a model on can do a pretty good job of estimating the velocit y and acceleration. On top of that you now have the parameters necessary f or the transition matrix that is necessary for implementing an observer.

formatting link

I know I have a Luenberg Observer example around somewhere. The big challe nge is doing the system identification for the transition matrix parameters .

Peter Nachtwey

Reply to
pnachtwey

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.