How to convert a input and output arrays of complex numbers to iddata, idfrd or any other models in System Identification Toolbox?

6 次查看(过去 30 天)
Dear colleagues,
Please tel me, how to convert a input and output arrays of complex numbers to iddata, idfrd or any other models in System Identification Toolbox?

回答(1 个)

Rajiv Singh
Rajiv Singh 2019-7-29
  • If you have input-output signals, the data can be packed into an iddata object, using the syntax iddata(y,u,Ts), where y is the matrix of output signals (observations along rows and channels/variables along columns), u is the matrix of input signals and Ts is the sample time. You can apply this to frequency domain signals too: z = iddata(Y,U,Ts,'Frequency',w) creates a "frequency domain" iddata object where Y = fft(y) is the Fourier Transform of time domain signal y etc.
  • If your numerical data represents, (complex) frequency response, use an idfrd object, data = idfrd(response, frequency). In SISO case, response is a complex vector and frequency is a real vector. In MIMO case, response is a 3D matrix since you need to specify a vector for eqach input-output pair. See idfrd reference page for more information on syntax.
  • For model creation by construction (specifying numerical values of parameters manually), use model objects such as idpoly, idss, idproc, idtf. But in System Identification Toolbox, the models are usually created by applying an identification algorithm to a dataset, using syntax similar to model = estimator(data, orders, options...). "estimator" is a function that identified a model based on given data (iddata or idfrd) and associated orders that specify the model structure (number of states, number of poles/zeros etc). See commands like ssest, tfest, procest, arx, armax (etc) that identify different types of models.
  1 个评论
Gleb Derzkij
Gleb Derzkij 2019-8-17
编辑:Gleb Derzkij 2019-8-17
Thanks, Rajiv!
My data is only a complex numbers in input and output vectors, in_out.mat
I dont have any information about frequency vector...
May I split real/imaginery parts into 2 inputs [real(EXin') imag(EXin')] and 2 outputs [real(EXout') imag(EXout')] system?

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by