How do I choose the poles and zeros in order to calculate my TF from input & output data?

2 views (last 30 days)
I have an input signal (T_input) and an output signal (T_output) as values in vector form (from simulation, not real measured values with noise):
T_input=A.data.Sheet1(978:1080,4);
T_output=A.data.Sheet1(978:1080,2);
data=iddata(T_output,T_input,Ts);
sys_2_1 = tfest(data,2,1); % 2 Poles and 1 zero chosen
sys_4_3 = tfest(data,4,3); % 4 Poles and 3 zeros chosen
So I have generated two transfer functions with the same input and output data but different amount of poles and zeros. When I then take the input signal previously into the transfer functions created, sys_2_1 & sys_4_3, they are not giving me the same shape of the original output signal (T_output).
My question is, how do I create an accurate transfer function with my input and output data? How do you choose the poles and zeros?
I have used the system identifaction toolbox to determine the TF and the same issues goes with this method.
Thanks for your time.
Regards, Ibrahim

Answers (0)

Community Treasure Hunt

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

Start Hunting!