Analyse spectrale#

Chargement et affichage du signal :

x = np.loadtxt("../_static/files/consommation.csv",
               delimiter=",", skiprows=1, usecols=2)
../_images/23e21972cbdc421fb8fefad80632305a56748711982ff133b240750995de6988.png

Spectre du signal…

../_images/676e199bbcedd152a786ca7b8b007105b5aa0db71d0496374a66ed9a9ec1d9cd.png

La phase est, comme la plupart des signaux réels, difficile à analyser… Mais le module est informatif.

En zoomant sur les fréquences basses du spectre (matplotlib.pyplot.xlim), on peut identifier les fréquences principales. La fonction scipy.signal.find_peaks peut aider à trouver les pics.

peaks, _ = find_peaks(module, height=1e8)
../_images/3d74b63a8cb0c1f05351372a5950338b35215a75e24645bc43f2c0c69cc93ba6.png

On peut alors afficher les fréquences des raies principales, et la période correspondante.

0.006 h^-1 :	168.143 h (7.006 jours)
0.042 h^-1 :	24.000 h (1.000 jours)
0.083 h^-1 :	12.000 h (0.500 jours)

On retrouve là les périodicités hebdomadaire, quotidienne et même sur 12 heures de la consommation électrique.