- 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.
How to convert a input and output arrays of complex numbers to iddata, idfrd or any other models in System Identification Toolbox?
3 次查看(过去 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?
0 个评论
回答(1 个)
Rajiv Singh
2019-7-29
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Transfer Function Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!