# Why I get the wrong peak from bode plot?

43 Ansichten (letzte 30 Tage)
Bob am 20 Mär. 2016
Bearbeitet: Bob am 21 Mär. 2016
%%Parameters
m1 = 2500; % (kg)
m2 = 320; % (kg)
k1 = 80000; % (N/m)
k2 = 500000; % (N/m)
b1 = 350; % (N*s/m)
b2 = 15020; % (N*s/m)
%%Transfer Function
num1 = [(0) (-m1*b2) (-m1*k2) (0) (0)];
den1 = [(m1*m2) (m1*b1+m1*b2+m2*b1) (m1*k1+m1*k2+m2*k1+b1*b2) (b1*k2+k1*b2) (k1*k2)];
G1 = tf(num1,den1);
%%Resonant Frequency of Dynamic Model
bode(G1)
grid on;
[gpeak,fpeak] = getPeakGain(G1)
My resault is wrong according to the zoomed diagram.
gpeak =
20.9719
fpeak =
5.2516
According to the picture below I should get:
gpeak = 25 ~ 27
ZOOMED
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Rick Rosson am 20 Mär. 2016
The function getPeakGain returns the peak gain on an absolute scale, whereas the Bode plot displays the gain on a decibel scale.
gpeak_dB = 20*log10(gpeak);
and check the value. It should be approx 26.4, which is consistent with the Bode plot.
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Bob am 21 Mär. 2016
Bearbeitet: Bob am 21 Mär. 2016
Thank you, it works.
I have 2 Questions, I would appreciate it if you could answer me.
1) Can I change the units from Magnitude (dB) to Amplitude (m)?
2) How can I get the 2 peaks from the picture below? Because these commands gives me the only the highest.
[gpeak,fpeak] = getPeakGain(G1)
gpeak_dB = 20*log10(gpeak);

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Plot Customization 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!

Translated by