MATLAB Answers

How to find damping ratio from halfpower method?

48 ビュー (過去 30 日間)
sam plant
sam plant 2019 年 5 月 1 日
コメント済み: dpb 2019 年 5 月 1 日
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);
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 件のコメント

dpb 2019 年 5 月 1 日
The second argument to powerbw is a scalar, the sampling rate for the input signal...if you pass psdx as the first argument, it is going to try operate over the full signal and will return the one estimate for the max peak.
To estimate for the multiple peaks, the input must be an array which will be interpreted by column as channels...
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 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...

サインイン to comment.

回答 (0 件)

サインイン してこの質問に回答します。

Translated by