Info

This question is closed. Reopen it to edit or answer.

Estimate parameters of TF (combination of R and C) using experimental frequency domain data (frequency, magnitude and phase)

1 view (last 30 days)
I have equivalent transfer function for a system in S domian. In addition I also have experimental frequency domain responses f (Hz), Magnitude and phase (degree). How can I use these experimental data to estimate the parameters of the TF. The TF is made up of combination of R and C in S domain and I also have the range of these various R and C used.

Answers (1)

Star Strider
Star Strider on 3 Jun 2019
Use the tfest (link) function in the System Identification Toolbox. You will most likely need to begin with the idfrd (link) function.
  2 Comments
Dhruba jyoti Bora
Dhruba jyoti Bora on 11 Jun 2019
i have succsefully generated the estimated transfer function using tfest after loading my experimental data using idfrd
PHA = p; %phase of experimental result
AMP = m; %gain of experimental result
% W = f*2*pi; %transforming frequency in Hz to rad/s
Ts = 0;
zfr = AMP.*exp(1i*PHA*pi/180);
fr_data = idfrd(zfr,f,Ts);
np = 1;
nz = 1;
sys2 = tfest(fr_data,np,nz);
[num2,den2] = tfdata(sys2);
i have the mathematical expression of transfer function for the estimated transfer function.
s = tf('s');
G=(R2+s*R1*R2*C1+2*R1)/(1+s*R1*C1);
in addition, i have the range of various parameters of theTransfer function G. They are C1=47*10^(-9) to 47*10^(-6), R1=27.0*10^3 to 1.0*10^4 and R2=330*10^0 to 10*10^2 from literature survey.
Now how can i estimate the various values of these parametrs C1, R1, R2 that will fit this estimated transfer function "sys2".
Star Strider
Star Strider on 11 Jun 2019
This is likely going to be difficult. I have never attempted anything similar in the frequency domain, so I have no experience with it. (I have done similar parameter estimation problems in the time domain.)
One option would be to ‘tune’ your system using the tunableTF (link) and related functions.
Otherwise, you would have to use one of the optimization functions to estimate the parameters, and re-build the ‘sys2’ each time with the changed parameters, compare it with the known frequency characteristics, and iterate until you got an acceptable result.

This question is closed.

Community Treasure Hunt

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

Start Hunting!