Methods for System Identification

I may have asked this question before, but what the heck:

All of the practical methods for system identification that I know of involve injecting a signal somewhere in the signal path then looking at the signal response to that signal at one, two or more points. Once you get a data set you can either put the whole thing into the frequency domain and get a transfer function, or you can keep everything in the time domain and get a difference (or differential) equation directly.

The method that I have used almost exclusively is a swept sine-wave using a HP control systems analyzer or hand-built software. For the systems that I've worked with this has worked very well. If you can afford to do the test the swept sine wave can give a very clean frequency response, in the face of nonlinearities it gives exactly the information needed for describing functions, and it's a very direct and intuitive way to get your frequency response.

But I know that other methods exist, mostly ones that involve stimulating the system with random data or a step (i.e. a bump test), and otherwise extracting a transfer function, or stimulating the system and directly designing a controller (Ziegler-Nichols).

So what, if any, methods do you use?

Thanks.

Reply to
Tim Wescott
Loading thread data ...

I have tried using other methods of system identification (equation error, output error, correlation etc), but always come back to the good old frequency response. The other methods seem to do OK in computer simulations, but when it comes to real systems I have not had very good experiences. I think that because the frequency response approach allows the system to settle nicely to a fixed frequency where an "averaged" measurement can be taken, it does not suffer as much from noise effects like the other methods do. Problems with convergence and biased estimates don't seem to plague sine wave measurements. Also, one can get a handle on some nonlinear behaviours via the describing function. Well, that's my 2 cents worth!

Fred.

Reply to
fred_stevens

Tim Wescott wrote in news:10utod52n61gt46 @corp.supernews.com:

You can use Recursive Least Squares system ID techniques while the system is running. It's model based. Such techniqes go hand in hand with adaptive control schemes, because the system is allowed to change if it wants to. Of course, to get good estimates across the freq spectrum, the input must sufficiently excite the system across a frequency range--but if the input doesn't involve some part of the freq spectrum, do you really need to know what the system does in that range?

Scott

Reply to
Scott Seidman

Tim Wescott wrote in news:10utod52n61gt46 @corp.supernews.com:

As an addendum to an earlier post, I often use random signals techniques, such as the Welch Periodogram, in conjunction with a coherence analysis. This way, you get estimates of precision.

Scott

Reply to
Scott Seidman

I've done RLS in simulation (of an adaptive system) but not in practice. Worked nicely. I could see doing this with a white noise input off line -- but you have to guess the number of significant poles and zeros before hand AFAIK.

Reply to
Tim Wescott

Tim,

IMHO, the good old step takes some beating. You certainly need more than one, unless your noise is miraculously low. The key point is to get the plant into a good, quiet state as far as possible before the tests are started. You'll always do better if there's less noise. I've found that with plants that are experienced in the art of plant testing, the operators can do a real good job of settling things down when they want to.

I read occasional reports of people making a go of PRBS identification, with forcing function size around the noise level, but they must have done something that I didn't because my various trials in the past have drawn a blank. The cross correlation is just too messed up by low frequency disturbances.

One other point is how much data you need and how good it has to be. At the end of the day, you'll be tweaking the controller settings anyway, and the inevitable nonlinearities and other real world stuff will ensure that things will change over time. Practical controls have to be robust enough to deal with all this, ergo they can be set up with reasonably coarse data.

Reply to
bruce varley

I use system identification. I can't use a sinewave to excite my system. I tune a lot of hydraulic systems and the system gain while extending is different than the gain while retracting. :( This means I must make a move in each direction.

I then execute the model using the same control signal data I used to create the model. The estimated position should be very close to the actual position data. I use the ISE ( integrated squared error ) to evaulate how close the model is.

Getting system identification to work took a lot of effort to learn the tricks that aren't mentioned in the text books..

After I get a model I use pole placement. For hydrauluic systems the desired tuning will usually be underdamp or maybe critically damped.

Reply to
peter

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.