test periodicity
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 (2023). test periodicity (https://www.mathworks.com/matlabcentral/fileexchange/42759-test-periodicity), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- AI, Data Science, and Statistics > Statistics and Machine Learning Toolbox > Industrial Statistics >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
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 |