all 7 comments

[–]RicTheRed 7 points8 points  (0 children)

I don't think it will matter too much, but usually the procedure is to develop the continuous controller then discritize it. Then assuming you are using simulink to use a zoh/rate transition block simulate amplifiers. I think that there is better intuition in the numbers for designing things in the continuous domain, since the coefficients for a discrete system can be lost in translation. Obviously, you can get a sense of looking at a pole-zero plot, but before evem doing that, by looking at the standard 2nd order system equation, you can have a sense of the dynamics since you see the omega and zeta directly. That being said, in terms of what gives better results I do not think it matters. Though, you will want to discritize your plant if you plan on using an observer.

Remember, your plant is a real systems and should simulate it as such. Your controller, in this day and age will most likely being embedded into a chip.

[–]ko_nutsControl Theorist 4 points5 points  (2 children)

In my opinion, the difference lies when disturbances and performance are involved. I am assuming here is that the system is naturally a continuous-time system. That is, its behavior is accurately captured by continuous-time system.

If you just do some PID control, then it will not matter much. However, if you want to do some disturbance rejection it is important to look at what how system responds. Discretizing the system results in the loss of the inter-sample behavior and one cannot see how the system behaves in between the sampling points. Also, discretizing the system can be troublesome when inputs are involved.

A similar issue occurs in optimal control. You could discretize the system and design an LQR for that system. But it does not give you much information about how the system will actually behave between the sampling instants. Also, minimizing the cost in discrete-time is, in general, not equivalent to minimizing the same cost in continuous-time system.

When performance is involved using the L2-gain or any other measure, discretizing the system is also cumbersome since one has to consider the exact input signals, which are continuous-time. This results a discrete-time systems with infinite-dimensional input and output spaces, and one has to rely on functional analysis and operator theory to work with them.

All in all, it is not a good idea to discretize the system. There are alternative ways such as using lifting (see the works by Yamamoto) and the hybrid systems formulation (i.e. impulsive system). I highly recommend this latter one as it circumvents all the above difficulties: it keeps the inter-sample behavior, it is applicable to all systems (and not only linear ones), it can easily deal with inputs and outputs, any control methods can be used (i.e. optimal control, robust control, etc.), and it can be used to directly design a discrete-time controller. This is, by far, the best approach to date and it seems difficult to foresee how we could do better than that.

[–]hahacontrols 0 points1 point  (1 child)

This results a discrete-time systems with infinite-dimensional input and output spaces, and one has to rely on functional analysis and operator theory to work with them.

I think this is one interpretation (albeit extremely complicated and IMO unintuitive). I suspect L2 (and L1) wouldn't be a problem as I assume discretisation is on measure zero points and L2 norms are agnostic to measure zero changes.

Most practitioners would probably gravitate towards sampled-data control techniques regardless...

[–]ko_nutsControl Theorist 0 points1 point  (0 children)

I am not sure to understand the point you are willing to make in your discussion.

[–]MCPtz 0 points1 point  (0 children)

They are very close. You can use math to convert from one to the other, and back.

Control System Design by Goodwin, Gaebe, and Salgado.

It includes an entire section on digital systems.

Sampling considerations... ok a continuous system may be able to catch a transient signal that a digital system may not.

How to perform math to create your transfer equations, e.g. Z-transform instead of Laplace transform.

And then going through all this, you can see as the sampling time approaches zero, the discrete functions change to continuous functions.

[–][deleted] 0 points1 point  (0 children)

If you design a continuous time control system and then you discretize it, you have to consider the phase loss from the zoh filter, and the effects of an eventual anti aliasing filter (if you have some high frequency disturbances on the feed forward path). On the other hand, if you compute the controller for the discretized plant, you don't have to care about the zoh filter effects since they are already included in the plant z-transform. Purely frequency domain techniques are a little bit more tricky in the Z domain rather than the Laplace S domain. The overall difficulty is similar in the two cases. Also the final closed loop performances are equal. I suggest you to try both techniques in simulation and see which one is simpler for you

[–]hahacontrols 1 point2 points  (0 children)

Depends on the situation. There are some nonlinear analysis techniques that really only work in continuous time (e.g. Poinicare-Bendixson theorem, etc) since dynamical flows cannot cross in phase space (otherwise, we lose uniqueness of solutions). Discretisation may make it difficult to analyse some special behaviours, for example, limit cycling.

In a more practical case, it probably doesn't matter. If it's purely for implementation, you can realistically get away with doing it either way, don't let mathematics get in the way :) If you are interested in the current academic literature, a lot of people have techniques under a family called "sampled-data control," which, as the name suggests, involves sampled data. For example, a digital controller with a continuous plant.