how to find kurtosis in freqeuncy domain

조회 수: 1 (최근 30일)
burak karaman
burak karaman 2019년 12월 1일
답변: 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.

답변 (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.

카테고리

Help CenterFile Exchange에서 Analog Filters에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by