ECE 415: System Modeling, Identification, and Simulation

Course Blurb

In many courses we begin with a model of a system (a communications channel, an acoustic system, a motor, a robotic arm, etc.) and then we study the properties of the model. This course asks the more fundamental question:

Where do such models come from, anyway?

For certain simple systems, we can make a model based on the physics of the situation (by applying Newtons laws or Kirchoffs laws, for instance), but in many real life situations, we can only measure the inputs to and the outputs from the system of interest. How can this input/output data be used to model the system?

The course begins by discussing several different representations of systems... continuous time vs. discrete time, linear vs. nonlinear, time invariant vs. time varying, deterministic vs. stochastic. We explore the various behaviors that each class of systems is capable of. Linear time varying systems, for instance, can exhibit "fractal" behavior while linear invariant systems cannot. Simple nonlinear systems can be "chaotic," while even the most complex linear systems cannot.

By looking at the gross character of the systems behavior we can often figure out which class it belongs to. The second part of the course deals with ways to determine concrete values for free parameters. The idea is simple...

  1. guess a model of the system,
  2. calculate an estimated output,
  3. compare the estimated output to the actual output, and
  4. use the error to somehow make a better model.

The trick is, of course, to find strategies that can intelligently use the error to improve our model. We will examine several standard methods (Least squares, regression, nonlinear least squares, other gradient methods) as well as newer heuristic methods such as simulated annealing, the genetic algorithm, and other "monte carlo" methods.


A. Representation of Systems

  1. Electrical/ mechanical/ hydraulic/ acoustic examples
  2. Transfer function vs. state space representation, numerical integration using ACSL, numerical methods and discretization.
  3. Linear systems: methods of model order determination (possibly also order reduction), impulse and frequency response methods
  4. Time varying (linear) systems: stability concepts, fractal behavior
  5. Nonlinear models: introduction to stable oscillations, chaotic behavior, jump phenomena

B. Linear Modeling, Identification and Simulation

  1. Least squares identification methods (off line) using MATLAB (continuous and discrete examples) On-line, recursive, "real time" identification.
  2. Applications of LS and ARMA methods: (possibilities include echo cancellation, equalization, filter design, adaptive control, reconstruction of FM signals, active noise cancellation, Kalman filtering, adaptive control, etc.)
  3. 3. Regression methods

C. Nonlinear modeling, identification, and simulation

  1. Nonlinear models I (linearization - behavior near equilibria)
  2. Nonlinear models II (global behavior)
  3. Examples (possibilities include simulations of chaotic systems, forced pendulums, motors operating away from equilibria, etc.)
  4. Methods of nonlinear identification I (heuristic methods chosen from simulated annealing, genetic algorithm, Monte Carlo methods, neural networks)
  5. Methods of nonlinear identification II (extensions of least squares, regression, stochastic methods, gradient methods) Examples.

For more about the instructor, click here.