How to find damping ratio from halfpower method?

12 views (last 30 days)
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
Untitled.png
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 Comments
sam plant
sam plant on 1 May 2019
freq_true is an array of the peak frequencies, my sampling frequency is 20Hz but if i use that it gives me a value of 0.0025 which doesn't really tell me anything
dpb
dpb on 1 May 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...

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!