Spectrogram - Frequency Range

조회 수: 4 (최근 30일)
Mohammad Farhat
Mohammad Farhat 2020년 12월 9일
댓글: Mathieu NOE 2020년 12월 10일
I'm trying to create a spectrogram for a data with very low frequency (data over million of years, periodicities over tens to hundreds of thousands of years).
power spectral analysis shows all powerful peaks at one end of the spectrum (see fig).
trying to create a spectrogram, I want to focus on the frequency range where things are actually happening. can I specify a range of frequencies?
ee=csvread('e_la.txt'); %data attached
t=e_la(:,1); %time in kyrs
e=e_la(:,2); % variable
L=length(e);
T=1e3*3600*24*365.25; %sampling period 1kyr --> in sec
Fs=1/T; %sampling frequency
figure; spectrogram(e, 500, 450, 1000, Fs, 'yaxis'); colormap(jet)
full spectrogram zooming on needed range
  댓글 수: 1
Mathieu NOE
Mathieu NOE 2020년 12월 10일
hello
to focus in the lower frequency range, you have to resample (decimate) your time data
looks like you could easily decimate by factor of 10 and plus
this must be done just before you do the spectrogram
help decimate
decimate Resample data at a lower rate after lowpass filtering.
Y = decimate(X,R) resamples the sequence in vector X at 1/R times the
original sample rate. The resulting resampled vector Y is R times
shorter, i.e., LENGTH(Y) = CEIL(LENGTH(X)/R). By default, decimate
filters the data with an 8th order Chebyshev Type I lowpass filter with
cutoff frequency .8*(Fs/2)/R, before resampling.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by