Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #12720

Re: evplace (eigenvalue placement)

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!ecngs!feeder2.ecngs.de!newsfeed.freenet.ag!news2.euro.net!postnews2.euro.net!news.wanadoo.nl!not-for-mail
From mhx@iae.nl (Marcel Hendrix)
Subject Re: evplace (eigenvalue placement)
Newsgroups comp.lang.forth
Message-ID <00641598978435@frunobulax.edu> (permalink)
Date Tue, 5 Jun 2012 20:39:03 +0200
References <a7c45f39-a778-4c4f-b653-326b1af1c3b2@w24g2000vby.googlegroups.com>
X-Newsreader iForth 2.0 console (October 21, 2006)
Lines 37
Organization Wanadoo
NNTP-Posting-Date 05 Jun 2012 18:38:56 GMT
NNTP-Posting-Host s529d937f.adsl.wanadoo.nl
X-Trace 1338921536 dr5.euro.net 227 82.157.147.127:52412
X-Complaints-To abuse@wanadoo.nl
Xref csiph.com comp.lang.forth:12720

Show key headers only | View raw


Krishna Myneni <krishna.myneni@ccreweb.org> writes Re: evplace (eigenvalue placement)

> On Jun 4, 1:47 pm, m...@iae.nl (Marcel Hendrix) wrote:
[..]

> Is this the ev->coeffs word that caused you a problem? 

>                                                        Does the
> present code work for the general case?

In my application p(z) will always have real coefficients. This is 
equivalent to saying that the poles p1,..pn are either real or appear 
in complex conjugated pairs. Arbitrary isolated complex poles don't 
happen in electrical networks. I use this fact to make the type of 
p(z) DOUBLE instead of COMPLEX. However, with a slight change the 
code should work for complex coefficients, too (and be even simpler).

[..]
>> Having evplace, obsv, and ctrb means one doesn't need access to Matlab
>> for the design of simple digital controllers.

> Does it apply as well to continuous analog controllers, or does your
> implementation assume some sort of discretization?

I use this for digitally controlled power electronics circuitry. 
The code that I've shown only works when an analog circuits is 
sampled, i.e. dx/dt = A x + B u should be converted to x[k+1] = 
Phi x[k] + Gamma u[k]. This can be done by using the EXPM function 
(exponential matrix) and Van Loan's famous formula to prevent 
integrating the B u term. The pi are poles in the Z domain, and 
for a stable system they have the property that zabs(pi) <= 1. 
Maybe this can be used to further simplify the code.

An SMPS is inherently a discrete circuit. 

-marcel

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

evplace (eigenvalue placement) mhx@iae.nl (Marcel Hendrix) - 2012-06-04 20:47 +0200
  Re: evplace (eigenvalue placement) Krishna Myneni <krishna.myneni@ccreweb.org> - 2012-06-04 21:08 -0700
    Re: evplace (eigenvalue placement) mhx@iae.nl (Marcel Hendrix) - 2012-06-05 20:39 +0200
  Re: evplace (eigenvalue placement) Arnold Doray <invalid@invalid.com> - 2012-06-05 16:15 +0000

csiph-web