test periodicity

Test for signal periodicity using Fisher's g-statistics (see references below)
644 Downloads
Updated 29 Jul 2013

View License

Test for signal periodicity using Fisher's g-statistics (see references
below). Due to numerical limitations (large factorials) the p value can
be calculated only for significant value (p<0.1). For larger p values the
resultant p-value is 1.

syntax:
[pval, fMax] = test_periodicity(x)
input:
x - NxT - matrix of time series(N - time series, T - time samples).
fmin - (optional) - minimum freq in units of number of observed periods (minimum frequency x T)
output:
pval - Nx1 - pvalue (pvalues higher than 0.1 are set to 1).
fMax - Nx1 - frequency of maximum power (even if insignificant) in
normalized units.
References:
Fisher. "Tests of Significance in Harmonic Analysis." 1929 Proc. R. Soc. vol. 125 no. 796 54-59 - http://bioinformatics.oxfordjournals.org/content/20/1/5.full.pdf
http://www.mathworks.com/help/signal/ug/significance-testing-for-periodic-component.html\ - watch it, there is an bug there

Cite As

Hanan Shteingart (2024). test periodicity (https://www.mathworks.com/matlabcentral/fileexchange/42759-test-periodicity), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.1.0.0

added support for minimum number of observed periods to avoid false detection of low frequencies. For example, if first half of the sample is small and the other half is large the period of f=1/N might be detected which is not very practical.

1.0.0.0