Power spectrum and periodicity
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kavita Navria
am 31 Jan. 2022
Beantwortet: Star Strider
am 31 Jan. 2022
I have a data of length 336 (336 days) having a frequency of an event.
- 3
- 1
- 0
- 0
- 2
- so on to 336
how can I plot power spectrum and periodicity of this data?
thank you
0 Kommentare
Akzeptierte Antwort
Star Strider
am 31 Jan. 2022
There are a number of functions in the Spectral Estimation section of the Signal Processing Toolbox documentation that will work.
For a simpler approach, since power is the square of amplitude, do a Fourier transform (fft) on the element-wise square of the original signal:
M = [(1:365).' rand(365,1)]; % Original Data
L = size(M,1);
Ts = M(2,1) - M(1,1); % Sampling Interval
Fs = 1/Ts; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
s = M(:,2); % Signal Vector
NFFT = 2^nextpow2(L); % For Efficiency
FTs2 = fft(s.^2,NFFT)/L; % Fourier Transform
Fv = linspace(0, 1, NFFT/2+1)*Fn; % Frequency Vector
Iv = 1:numel(Fv); % Inmdex Vector
figure
plot(Fv, abs(FTs2(Iv)))
grid
xlabel('Frequency (Cycles/Day)')
ylabel('Amplitude')
.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Spectral Measurements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
