Multivariable control via Transfer Matrices?

reading my old copy of 'Modern Control Engineering' by Ogata, 1970, (ok, no longer 'modern'), pg 117 describes a method of multivariable control using a 'transfer matrix' of Laplace transfer functions where Gij(s) is the transfer function from ith input to jth output.

Would this be practical to actually implement? Assuming I could model each Gij(s) as a simple 2nd order function, and only need 10Hz response, and have 5 inputs (thermocouples) and 5 outputs (heaters), could one DSP physically handle the Z transform matrix inversions in

10Hz realtime?

Or, is there a simpler way?

tia!

Reply to
perfb
Loading thread data ...

The problem with the transfer matrix approach is that it isn't clear if the states of two separate transfer functions are coupled or not. So a system that looks like

[ 1 ] x(n+1) = b x(n) + (1-b) u(n), y(n) = [ ] x(n) [ 1 ]

has the same transfer function matrix as

[b 0] [1-b] x(n+1) = [ ] x(n) + [ ] u(n), y(n) = x(n). [0 b] [1-b]

I much prefer a state-space approach to design here, because (a) it clears up such ambiguities and (b) it makes it easier to build in nonlinearities if necessary.

At a 10Hz sampling rate you don't need no stinking DSP. You should be able to implement 5 2nd-order thermal control loops with an 8-bit processor using all integer math. With a 16-bit DSP you can do this using high-level code and floating point.

Reply to
Tim Wescott

Since all of the denominators would be identical, (the characteristic equation), then no, it would not be efficient to duplicate that for each of the numerators, unless you had a lot of pole/zero cancellations.

10Hz on a DSP? 5x5 matrix inversion? no problem.

By your description I'm assuming maybe the input is really five temperature errors calculated from 5 reference values and 5 thermocouples and that this is a control system. In a State Space format, the matrices are of size A (2x2), B (2x5), C(5x2), D(5x5). and it probably implements a PI type of control with feedforward if the D term is nonzero. I'm guessing at the details because you haven't provided them. But there isn't any reason why you couldn't implement this as a discrete state space controller. Depending upon the precison that you need, at 10 Hz, you could run this on an 4-10MHz

8-bit PIC. You don't need a DSP to implement this control.
Reply to
AntiSPAM_g9u5dd43

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.