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.
[pval, fMax] = test_periodicity(x)
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)
pval - Nx1 - pvalue (pvalues higher than 0.1 are set to 1).
fMax - Nx1 - frequency of maximum power (even if insignificant) in
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
Hanan Shteingart (2023). test periodicity (https://www.mathworks.com/matlabcentral/fileexchange/42759-test-periodicity), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
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.