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.
댓글 수: 0
채택된 답변
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 Center 및 File Exchange에서 Analyze Data에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!