MATLAB Answers

how to find kurtosis in freqeuncy domain

2 ビュー (過去 30 日間)
burak karaman
burak karaman 2019 年 12 月 1 日
Answered: Star Strider 2019 年 12 月 1 日
I have acceleration time signal. I found kurtosis of the signal. But i want to find kurtosis according to frequency bands. For example; 0-2 hz , 2-4 hz, 4-6 hz etc kurtosis values. Briefly i want to obtain kurtosis vs freqeuncy graph.

  0 件のコメント

サインイン to comment.

件の回答 (1)

Star Strider
Star Strider 2019 年 12 月 1 日
Your best option is likey to use a digital bandpass filter (for 0-2 Hz use a lowpass filter) to isolate those frequency ranges in the time domain, then do the kurtosis calculation on the outputs. Filters are easy to design if you have the Signal Processing Toolbox. If you have R2018a or later, use the lowpass and bandpass functions.
If you have an earlier release, prototype code for a lowpass filter for 0-2 Hz is:
Fs = 2250; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
Wp = 2/Fn; % Stopband Frequency (Normalised)
Ws = 1.1*Wp; % Passband Frequency (Normalised)
Rp = 1; % Passband Ripple
Rs = 60; % Passband Ripple (Attenuation)
[n,Wp] = ellipord(Wp,Ws,Rp,Rs); % Elliptic Order Calculation
[z,p,k] = ellip(n,Rp,Rs,Wp,'low'); % Elliptic Filter Design: Zero-Pole-Gain
[sos,g] = zp2sos(z,p,k); % Second-Order Section For Stability
figure
freqz(sos, 2^18, Fs) % Filter Bode Plot
set(subplot(2,1,1), 'XLim',[0 Fs/5]) % Optional
set(subplot(2,1,2), 'XLim',[0 Fs/5]) % Optional
signal_filt = filtfilt(sos, g, signal); % Filter Signal
and a bandpass filter for 2-4 Hz:
Fs = 2250; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
Wp = [2 4]/Fn; % Stopband Frequency (Normalised)
Ws = [0.9 1.1]*Wp; % Passband Frequency (Normalised)
Rp = 1; % Passband Ripple
Rs = 60; % Passband Ripple (Attenuation)
[n,Wp] = ellipord(Wp,Ws,Rp,Rs); % Elliptic Order Calculation
[z,p,k] = ellip(n,Rp,Rs,Wp); % Elliptic Filter Design: Zero-Pole-Gain
[sos,g] = zp2sos(z,p,k); % Second-Order Section For Stability
figure
freqz(sos, 2^18, Fs) % Filter Bode Plot
set(subplot(2,1,1), 'XLim',[0 Fs/5]) % Optional
set(subplot(2,1,2), 'XLim',[0 Fs/5]) % Optional
signal_filt = filtfilt(sos, g, signal); % Filter Signal
Experiment with the passbands and stopbands to get different results.

  0 件のコメント

サインイン to comment.

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

タグ


Translated by