Effacer les filtres
Effacer les filtres

How to calculate the transfer function for a 16 input system?

2 vues (au cours des 30 derniers jours)
Jairo Gallardo Gonzalez
Jairo Gallardo Gonzalez le 16 Juil 2020
Commenté : Khaled Hamed le 17 Juil 2020
Hi, I have a system output dependant of 16 inputs, I am doing tests and I have the outputs values for some sets of inputs, how could I calculate the transfer function?, thanks

Réponses (2)

Khaled Hamed
Khaled Hamed le 17 Juil 2020
Modifié(e) : Khaled Hamed le 17 Juil 2020
It depends on what type of Transfer Function you want to use. For example, if you want to use an ARX model (I am using random inputs and output here, which you can replace with your own data) :
x=randn(100,16);
y=x*randi(10,16,1);
a=arx(iddata(y,x,1),[1 ones(1,16) zeros(1,16)]);
You will need the System Identification toolbox. There are several models which include a transfer function component, such as BJ, ARX, and ARMAX.
Or you can use:
a=tfest(iddata(y,x,1),0,0)
Of course you may want to change the number of poles, zeros, or the delays for each input.

Rajiv Singh
Rajiv Singh le 17 Juil 2020
Try also TFEST. Although you might want to reduce the number of inputs by PCA or PLS analysis.
  1 commentaire
Khaled Hamed
Khaled Hamed le 17 Juil 2020
Excellent advice, especially if the inputs are correlated.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Linear Model Identification dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by