How to find damping ratio from halfpower method?
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
xout=acc_u_2(:,1);
fs=20;
m = [length(xout), 2^(nextpow2(length(xout)))];
N = 12000;
xdft = fft(xout,N);
xdft = xdft(1:N/2+1);
psdx = (1/(fs*N)) * abs(xdft).^2;
psdx(2:end-1) = 2*psdx(2:end-1);
freq = 0:(fs/N):(fs/2);
plot(freq,10*log10(psdx))
xlabel('Frequency [Hz]', 'FontSize', 12)
ylabel('PSD [V$^2$/Hz]', 'FontSize', 12)
grid on
fr1=psdx(2:1201); fr2=psdx(1202:2401); fr3=psdx(2402:3601); fr4=psdx(3602:4801); fr5=psdx(4802:6001);
psd_peaks=[max(10*log10(fr1)) max(10*log10(fr2)) max(10*log10(fr3)) max(10*log10(fr4)) max(10*log10(fr5))];
index = [find(10*log10(psdx)==psd_peaks(1)) find(10*log10(psdx)==psd_peaks(2)) find(10*log10(psdx)==psd_peaks(3)) find(10*log10(psdx)==psd_peaks(4)) find(10*log10(psdx)==psd_peaks(5))];
freq_true = freq(index) %given frequencies from the peaks

The above code gives me the following PSD plot and i have calculated the natural frequencies. I now need to use the half power method to calculate the damping ratio;
from the documentation i used the following code lines
bw = powerbw(psdx,freq_true)
bw = powerbw(10*log10(psdx),freq_true)
However they produced input errors, any help would be appreciated.
3 Kommentare
dpb
am 1 Mai 2019
Well, it tells you the BW for whichever peak it worked on (the maximum I presume if you passed the full spectrum) is 0.0025 Hz. Given the sharp nature of the peaks, for -3 dB that doesn't look unreasonable number from your plot.
If you return the additional optional outputs, it'll also tell you the low/high frequencies it calculated and the power contained therein...
Read the documentation carefully to undersrtand the inputs/outputs and read the Algorithm section to understand what it's actually doing behind the scenes...
Antworten (0)
Siehe auch
Kategorien
Mehr zu Spectral Measurements 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!