How to find damping ratio from halfpower method?

11 次查看(过去 30 天)
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 个评论
sam plant
sam plant 2019-5-1
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 2019-5-1
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...

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Parametric Spectral Estimation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by