How to get transfer function from a bode plot with my data?
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Assopguimya Thierry
am 3 Aug. 2020
Kommentiert: Janagan Papperi Devarajulu Deenadayalan
am 9 Nov. 2020
Hello everybody,
I have saved the measurement data of a ground diagram and wanted to extract poles and zeros from this measurement data in Matlab. From these measurement data:
-Freq is the frequency
-cs corresponds to the amplitude in dB
-phis corresponds to the phase.
-CTF5 is the file name
I want the poles and zeros from my measurement data (CTF5.txt)
Get Matlab calculated.
What commands should I use to extract the poles and zeros from my measurement data?
I look forward to your help
Best wishes
Thierry Assop
that's my code and it doesn't work with the 'tfest' command:
load CTF5.txt;
Freq=CTF5(:,1);
cs=CTF5(:,2);
phis=CTF5(:,3);
PHA = phis; %phase of experimental result
AMP = cs; %gain of experimental result
W = Freq*2*pi; %transforming frequency in Hz to rad/s
Ts = 0;
gain=10.^(AMP/20);
zfr = gain.*exp(1i*PHA*pi/180);
gfr = frd(zfr,W,Ts);
sys=tfest(gfr,2);
[mag,ph]=bode(sys,w);
mag=squeeze(mag);
ph=squeeze(ph);
1 Kommentar
Janagan Papperi Devarajulu Deenadayalan
am 9 Nov. 2020
Hello. I need some help on the same topic. The problem is that I have only the magnitude plot for my system. How can I derive the transfer function in this case? Please help me in this regard.
Antworten (1)
Star Strider
am 3 Aug. 2020
Add to your posted code:
sys=tfest(gfr,3);
since this gives a more accurate result, and then:
[poles,zeros] = pzmap(sys)
figure
compare(gfr,sys)
figure
pzmap(sys)
to get the plots and:
poles =
-1.3392e+03 + 6.4091e+03i
-1.3392e+03 - 6.4091e+03i
-7.6758e+02 - 2.1655e-06i
zeros =
-4.3503e+03 + 2.2001e+03i
-4.3503e+03 - 2.2001e+03i
Also, if you want to model it as a sampled (not continuous) system, and assuming the maximum frequency in the data is the Nyquist frequency, use:
Ts = 1/(2*max(Freq));
.
4 Kommentare
Siehe auch
Kategorien
Mehr zu Transfer Function Models finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!