# State space vs classical control

1. Sep 19, 2015

### unplebeian

Hello,

I have a fundamental question about why state space control techniques are superior to the classical methods. I l know that you can control a system with multiple inputs and outputs for several states using state space control, however, can't the same thing be done in classical control where you have multiple inner loops of one big outer loop? Is it because such an approach is inherently slow that you will have to resort to state space?

Can someone please explain the benefits of state space over classical control or point me to a good reference.

Thanks.

2. Sep 19, 2015

### Hesch

It depends on, namely if there are multiple input/output or not. If you have only one ( or few ) input/outputs, you can easily calculate values of all variables in your model, whereas these values are more "hidden" in state space: You don't have the same general view. Say you wan't to plot a root locus as a function of amplification/inertia/resistance, whatever, it is typically more easy to do that by means of the classical method. Also you can more easy pick out some detail or special transfer function by means of the classical method.

If you have a lot of input/outputs, the classical method will be very complicated ( no general view ).

PS: Say you have a digital controller where the parameters/calculations must be very exact ( no rounding errors, etc. ) you can easily manage that using classical control with integer parameters, whereas it's a hell of a job doing this in state space.

( I think you now can feel which method I prefer ).

Last edited: Sep 19, 2015
3. Sep 20, 2015

### Krylov

The methods of classical control apply to linear (or linearised) systems only. For non-linear control, state-space methods are more suitable.

4. Sep 21, 2015

### donpacino

state space also lends itself very well to more robust forms of control and estimation.

5. Sep 21, 2015

### unplebeian

Thank you, all for the comments and replies.

So is this a correct way of thinking about state space: It is superior as there is a gain applied to each state variable so during a dynamic test, say step change in reference or during tracking, each state variable will be changed/adjusted simultaneously. Unlike classical control the inner loop is faster, and then the outer one is slower so the performance is inherently slow and over/under shoots of an internal state can't be immediately controlled as that state variable is not the ultimate goal or target to be controlled.

Any thoughts?

6. Sep 21, 2015

### donpacino

so state feedback control is different from state space.

state space is the matrix implementation of systems dynamics.

direct state feedback is one method of modern control.

Classical control typically deals with single-input single-output (SISO) systems using frequency domain tools. This means taking the Laplace transform of the equations of motion for the system (typically ordinary differential equations) and designing controllers based on performance specifications at low and high forcing frequencies.

Modern control is largely a result of the microprocessor, which allows large amounts of computation to be done cheaply. Modern control often deals with multiple-input multiple-output (MIMO) systems, and deals directly with the ordinary differential equations in the time domain. In modern control, we develop controllers that have good stability characteristics without using too much control (or actuation). There are a number of powerful tools from dynamical systems theory which allow us to find "optimal controllers", which are optimal with respect to some quadratic cost function.

what you said about the inner and outer loop speed is not necessarily true, as in state feedback all of the state outputs are usually fed into the system inputs.

7. Sep 21, 2015

### Hesch

That's not a difference: As for classical control you could write a filter transfer function:

y(z)/x(z) = ( A3*z3 + A2*z2 + A1*z + A0 ) / ( z3 + B2*z2 + B1*z + B0 )

When you sample x(z), you just

1) Multiply x(z) by A3 and add the previous sum from step 3), and you have y(z) within just one multiply-add operation. Calculation delay between sample and output is important as for the quality/performance of the controller
2) Shift all the zn-values in the numerator and denominator, thereby "changing the states simultaniously". The z-values in the transfer function is a "memory", that remembers what has happened previous as for x(z) and y(z).
3) Calculate the sum of all products ( An*zn and Bn*zn ) except A3*z3 calculated in step 1)
Why is it faster? By classical control you can choose whatever sample frequency you want as for inner/outer loop. The frequencies may be different, for example for a servo-motor: Current loop @15kHz, motion-loop @1kHz.

8. Sep 21, 2015

### atyy

The state space model is the most general (for all practical purposes). I can't remember the conditions exactly, but roughly if the system is linear time invariant plus fading memory, then one can reformulate the problem as using linear kernels and use frequency domain methods. If the system is nonlinear but with fading memory, then one can try Volterra series or reparametrizations of Volterra series. So the fading memory cases are special cases in which the state space description has an exact formulation using integral kernels.

When a reformulation using linear kernels is possible, then the frequency domain methods can be much more convenient, but there is always (in principle) an equivalent formulation in state space.

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.126.9363

Last edited: Sep 21, 2015
9. Sep 22, 2015

### Hesch

I don't understand all this talk about frequency domain, non-linear systems, etc.

As for analog control I would use the Laplace domain ( is it a frequency domain? ) and for digital control I would use the z-domain, no matter if modern or classical approach is used.

If a digital controlled plant includes non-linear elements, ( e.g. a magnetizing curve for a motor ), I would implement a look-up table to linearize the torque of the motor, and insert the table an appropriate place in the calculations. Using classical method it's very easy to see, where this place is: You have the overview.

Another example: Say you make a speed/position controller for this motor, and "someone" suddenly presses down the throttle, the power stage, driving the motor, becomes saturated ( only having 300V to deal with ). Then you place some function in front of the control-loop, that manages the physical speed-input by converting it to a series of accelerations. Now, this overshoot as for the outputstage is back-calculated through the control-loop to the input of the control-loop, ( which is quite easy using classical control ), and here the input function is corrected ( decrease the acceleration ). The function knows about what is going on. Try again: Calculate forward the control-loop again with the corrected acceleration. The result will be, that no saturation takes place, and no integral kernels will be "wound up", making an overshoot in position/speed.

By modern control I don't know how to back-calculate through several matrices within a few micro-seconds ?

Last edited: Sep 22, 2015
10. Sep 22, 2015

### atyy

Frequency domain usually means Fourier transform. The Laplace transform can be considered a special case of the Fourier transform.

https://en.wikipedia.org/wiki/Laplace_transform#Fourier_transform

11. Sep 22, 2015

### donpacino

the 'frequency domain' means the signals are mathematically described as a function of frequency. Just like in the 'time domain' signals are mathematically described as a function of time.

the Fourier transform (and by extention the laplace transform) is simply a tool to translate from the time domain to the frequency domain

12. Sep 22, 2015

### donpacino

that can be done with modern control too!!!

13. Sep 22, 2015

### Hesch

Yes, but say you have a 6'th order control-loop, how many instructions will have to be processed to make this back-calculation? ( additions, multiplications, etc. ).

I know the question is somewhat diffuse, but please understand my point.

14. Sep 22, 2015

### donpacino

Correct me if I am wrong, but I think you are trying to say that classic control takes less computation time than modern control. That is not true.
Typically modern control takes LESS computing time

15. Sep 22, 2015

### Hesch

The A-matrix ( 6'th order ) in statespace includes 6 × 6 numbers. A 6'th order filter in a classical control includes 12 numbers. I know that a majority of the numbers in the A-matrix are zero, but the processor will have to test/multiply/add them anyway.

But that wasn't really my point. I'm trying to say that the back calculation will take more computation time by state-space.

16. Sep 22, 2015

### donpacino

For live on system computation you can design the code such that elements of the matrix not used will ALLAYS be zero. In that case the A- matrix (which is simply system dynamics) computations will be on the same order of magnitude as the classical model. but like you said, really was not your point.

comparing classical and modern...
a lead-lag filter vs state feedback. for a 6th order system you would simply have 6 values each multiplied by a gain. it is not that computationally expensive. For the lead lag filter you would need to do an FFT, multiple and divide different values, etc.

I personally use classical method for 'quick and dirty' (as my old professor calls it) or simple systems. If something needs a robust or optimized solution I turn to modern.

to the OP... keep in mind in many cases modern control systems are harder to 100% verify functionality than classical systems, due to their complex nature. In many cases classical control is still used on VERY complicated systems. It depends on the industry and the system

17. Sep 23, 2015

### Hesch

I don't understand what you mean ( especially the FFT ).

As for "lead-lag" digital control, you should use z-transforms, where e.g. a PID-controller could be written:

y(z)/x(z) = ( 5.3z - 4.1 ) / ( z - 1 ) = ( 5.3 - 4.1z-1 ) / ( 1 - z-1 )
( just an example ).

So you calculate the output, y(z) = x(z)*( 5.3 - 4.1z-1 ) + y(z)*z-1

As for a PID-filter ( 1. order ) you will have to do 3 multiplications and 2 additions. That's it.
Back-calculation is simply done by: Δx(z) = Δy(z) / 5.3 , where Δy(z) is the amount of saturation ( over shoot ) that must be removed.

A 6'th order will imply 13 multiplications and 12 addition, whereas by statespace 36 multiplications and 36 additions are needed, just for the A-matrix.
( I assume you also use z-transforms in state space? )

I don't know how you will back-calculate in state-space?

Last edited: Sep 23, 2015
18. Sep 24, 2015

### donpacino

Like I previously mentioned you only need to calculate the A matrix if you are making an observer or simulating your system dynamics in some way. If you are doing that, you obviously would need to to do similar using a classical method, or the system is so complicated that modern control would be needed. Don't assume that simply because you have more tools with modern control that you need to use them. For a 6th order siso system if you want to you can use only a few outputs to feed back and achieve a response similar to one you would get from a simple PID controller. Like I said PID controllers are quick and dirty.

19. Sep 24, 2015

### Hesch

I think we now are discussing terms.

In the attached scan from a good old american book, the authors explain the difference between classical/modern design. In modern design, a system is expressed as a set of first-order matrix differential equations. So as for a 6th-order system you must have a 6×6 matrix ( in the attached called the F-matrix ): Only 1 order as per equation.

I know that a modern design can be converted to a classical design, but then it isn't a modern design any longer.

In classical design, a 6th-order system can be expressed by two 6th-order polynomials ( numerator + denominator ).

#### Attached Files:

• ###### scan0020.pdf
File size:
1.5 MB
Views:
143
20. Sep 24, 2015

### unplebeian

I think the conversation is getting a bit out of control...no pun intended.

Thank you, all, for your feedback (again no pun intended) and comments. They were very helpful. Clearly one method over another has it's superior points at a cost. Somewhere the discussion even went in the direct of a look up table which was slightly out of place to me for this thread.