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

2 views (last 30 days)
Jairo Gallardo Gonzalez
Jairo Gallardo Gonzalez on 16 Jul 2020
Commented: Khaled Hamed on 17 Jul 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

Answers (2)

Khaled Hamed
Khaled Hamed on 17 Jul 2020
Edited: Khaled Hamed on 17 Jul 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 on 17 Jul 2020
Try also TFEST. Although you might want to reduce the number of inputs by PCA or PLS analysis.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!