How to find the periodicity in data?

后端 未结 5 1705
轮回少年
轮回少年 2020-12-15 20:19

I have a dataset (an array) and I need to find the periodicity in it. How should I proceed? Somebody said I can use FFT but I am not sure how will it give me the periodicity

5条回答
  •  时光取名叫无心
    2020-12-15 20:36

    Periodicity is not well defined term. For example, such data:

    1, 10, 1, 10, 1, 11, 1, 10, 1, 10, 1, 11, 1, 10, 1, 10, 1, 11

    you may treat as one with not exact but strong periodicity of 2, and as exact periodicity of 6.

    For exact periodicity you may simply try to find given data as substring of data repeated twice.

    For non exact periodicity of real, noisy signal time domain and frequency domain methods may be used.

    Time domain one is self correlation. It is like a substring search above: searched for a shift value on which data have maximum self similarity.

    For simple signals counting threshold transitions may be enough.

    Frequecy domain methods include one using FFT/FHT: search for a maximum in fequency spectre which gives 1/T of periodicity.

    Another method is using Cepstrum.

提交回复
热议问题