Estimating the Impulse Response from Data, SISO system.

2 次查看(过去 30 天)
Hello,
I would like to know more details on how does the function impulse work? In case,
ze = iddata(y,u,Ts)
impulse(ze)
Where, y= output sampled data; u= input sampled data; Ts= sample time
The explanation given in http://www.mathworks.com/help/toolbox/ident/ref/impulse.html is very superficial. Could you give me more details (mathematically speaking) on the function impulse? If possible please point me to articles that talk about it.
Thanks.

采纳的回答

Rajiv Singh
Rajiv Singh 2011-4-12
It performs FIR modeling for an appropriately selected number of lags: y(t) = \sum_{i=0}{N-1} b_i*u(t-i). For example, you may do arx(data, [na nb nk]) where na = 0, nb = 20, nk = 0 for a SISO system.
The "data" here in an iddata object containing the measured output signal and a "pre-whitened" input signal (u_white). The prewhitening of the input is performed by filtering the actual input signal using the model: u_white(t) = 1/a(q) u(t). For example, do the following to obtain the prewhitened input:
M = arx(u, 4); A = M.a; u_white = filter(u,A,[1, zeros(1,3)]);
The time horizon selected for estimation includes a portion of negative real axis so that feedback effects in the data may be detected. Please see the code in iddata/impulse to see how this is done. In many situations, this detail is irrelevant.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Analyze Data 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by