# a question about the poles estimation of discrete system

I want to estimate dominant Pole of discrete system by input-output data. input signal is arbitrary. I don't know how to do it.

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Any help would be greatly appreciated.
Thanks, forest
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
forest wrote:

Look for the keywords "System Identification" -- that is what you're doing. You might be interested in looking at the literature for adaptive control, part of which boils down to performing just this sort of task. "Adaptive Control" by Astrom is a classic, and rightly so.
--

Tim Wescott
Wescott Design Services
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
napisa�:

Don't make me laugh, please, 'adaptive control' for simple academic problem? I would propose some basic (really basic) literature.
--
Mikolaj

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Mikolaj wrote:

Well then, plot amplitude in dB vs. log frequency, approximate with a few straight lines, and look for the lowest corner.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Jerry Avins wrote:

Difficult to do when the input is arbitrary. I was going to suggest that he do a Fourier transform of the input & output, find the ratio & plot that. But with an arbitrary input signal that has some difficulties -- they're quite surmountable, but I just know enough about this stuff to get by, not to instruct.
--

Tim Wescott
Wescott Design Services
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
In matlab, there are a function is etfe(empirical transfer-function estimate), I have try it, a good bode diagram can be got by this function.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Mikolaj wrote:

Astrom's book describes basic system identification in language that is simple and direct enough that even I can understand it. I wasn't proposing that the OP apply adaptive control theory; just that he harvest the discussion of system ID out of the book.
--

Tim Wescott
Wescott Design Services
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

Actually, the algorithm needed is a simple Recursive Least Squares, that is covered within the first 20 pages of Astrom's book, and can be implemented in about 20 lines of code. It's a very simple approach to identifying a system with arbitrary inputs, and my just be the most straightfoward approach. You never need to get into the "adaptive control" part (though from RLS, it's a real simple step).
Otherwise, you need to use a differential equation solver to deal with the arbitrary inputs, run it iteratively with an optimizer, and interpolate when the optimizer requests data from points "in between" your samples. You might even need to numerically solve the Jacobian, if the system is complex enough.

Well, how about them basic proposals?? You seem to have left them out. Perhaps you were too busy laughing to get around to actually listing them.
--
Scott
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
if there are arbitrary input, Fourier transform is not accuracy. the ration of Fourier transform of input and output is also not accuracy, so Fourier transform is not enough.I have try it.
"Actually, the algorithm needed is a simple Recursive Least Squares, that is covered within the first 20 pages of Astrom's book, and can be implemented in about 20 lines of code. "
hello Scott I don't know where are you have refer to the Recursive Least Squares, I think your advice is very good. but can you give me more detailed information about this algorithm? where can I find it?
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

The algorithm is on page 67.
The matlab system id toolbox has this all implemented, and there is a simulink library available at http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId1013
--
Scott
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
It's very good, thank you very much
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
thank you for so much advices
if there are arbitrary input, Fourier transform is not accuracy. the ratio of Fourier transform of input and output is also not accuracy, so Fourier transform is not enough.I have try it.
"Actually, the algorithm needed is a simple Recursive Least Squares, that is covered within the first 20 pages of Astrom's book, and can be implemented in about 20 lines of code. "
hello Scott I don't know where are you have refer to the Recursive Least Squares, I think your advice is very good. but can you give me more detailed information about this algorithm? where can I find it?
thank you very much
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Dnia Mon, 17 Oct 2005 15:04:37 +0200, Scott Seidman

(cut)
I don't get it. Do you comment my post? I'm suprised because you are, almost exactly, repeating what I have just said. I repeat for you, there is no need to looking in adaptive control (RLS is a tool used in adaptive control however)

So what? It dependes on what you can measure, what you want to identify. I'm almost sure that 'FOREST' can put any exogenous input he want, in other way he won't be able to control the system he is going to identify.
And you forget about correlation and power density identification which in my opinion is very straightforward approach (if there is a chaos on input :)) . And this is also implemented in matlab identification toolbox and probably in scifi and octave. As an input use PRBS signal, bandwidth depends on your insight.

Some may google for that. I used for that academic scripts. If 'FOREST' has got some basis in control he will manage even with online matlab help.
--
Mikolaj