Peak Value from bodemag plot

26 Ansichten (letzte 30 Tage)
JD
JD am 1 Mär. 2020
Kommentiert: Star Strider am 1 Mär. 2020
I am trying to calculate the peak value of the bodemag plot. Attached is the code I am trying to use
[gpeak,fpeak] = getPeakGain(SS_1)
gpeak_dB = 20*log10(gpeak);
However that doesn't seem to work for bodemag plots, only for bode plots because it isn't giving me the correct peak for the plot attached.
How do I calculate the peak of a bodemag plot?

Akzeptierte Antwort

Star Strider
Star Strider am 1 Mär. 2020
Try this:
F = openfig('untitled.fig');
getF = get(F);
Lines = findobj(F, 'Type','Line');
for k = 1:numel(Lines)
X{k} = Lines(k).XData;
Y{k} = Lines(k).YData;
[Ymax,Idx] = max(Y{k});
FM{k,:} = [X{k}(Idx) Ymax Idx];
end
MagFreq = array2table(cell2mat(FM), 'VariableNames',{'Frequency','Magnitude','Index'})
producing:
MagFreq =
Frequency Magnitude Index
_________ ___________ _____
NaN NaN 1
NaN NaN 1
1e-20 1.2722e-14 1
1e-20 0 1
1e-20 1.2722e-14 1
1e-20 2.5444e-14 1
1e-20 0 1
1e-20 1.7358e-14 1
1.6051 0.52101 35
1e-20 -2.5073e-14 1
1.3159 0.062431 32
1e-20 -2.5073e-14 1
It is not difficult to extract the values, however it is definitely not straightforward.
  4 Kommentare
JD
JD am 1 Mär. 2020
That makes a lot of sense! Thank you so much for your input and help!
Star Strider
Star Strider am 1 Mär. 2020
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Time and Frequency Domain Analysis 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