FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > DSP

DSP comp.dsp newsgroup, mailing list

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 02-16-2005, 07:40 PM
[email protected]
Guest
 
Posts: n/a
Default 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 With Quote
  #2 (permalink)  
Old 02-16-2005, 08:07 PM
Tim Wescott
Guest
 
Posts: n/a
Default Re: Multivariable control via Transfer Matrices?

[email protected] wrote:

> 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!
>

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.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Reply With Quote
  #3 (permalink)  
Old 02-20-2005, 05:43 PM
[email protected]
Guest
 
Posts: n/a
Default Re: Multivariable control via Transfer Matrices?

On 16 Feb 2005 10:40:07 -0800, "[email protected]" <[email protected]>
wrote:
>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?


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.

>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?


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

>Or, is there a simpler way?


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 With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Easily add 4 Gb/s Ethernet link to FPGA systems for control & data transfer James Ma FPGA 1 06-07-2006 09:35 PM
LMS Pseudo Inverses of Complex Matrices Bob Cain DSP 7 01-29-2005 07:52 PM
split matrices mkokelma VHDL 5 10-22-2004 12:46 PM
Book on matrices ?? Kalpendu Pasad DSP 11 07-08-2004 10:12 AM
Efficient way to invert these matrices in GF(2^m)? Jaco Versfeld DSP 2 05-14-2004 09:44 AM


All times are GMT +1. The time now is 02:57 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved