- 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!