Как анализировать изменение частоты синусоидального сигнала напряжения с помощью вейвлетов в Python? - PullRequest
0 голосов
/ 07 мая 2020

Мне нужно проанализировать, есть ли изменения частоты параметров синусоидального напряжения. У меня есть набор данных времени в индексе и столбце с соответствующим значением напряжения. Как я могу использовать вейвлеты для расчета средней частоты, изменений частоты в разные моменты времени и т. Д. c?

Это мой набор данных:

                             voltage
time                                
2020-05-06 17:44:33.816658 -4.292417
2020-05-06 17:44:33.855062 -4.332093
2020-05-06 17:44:33.955328 -4.370662
2020-05-06 17:44:34.013180 -4.454592
2020-05-06 17:44:34.065831 -4.494688
                              ...
2020-05-06 17:46:33.526925 -3.889476
2020-05-06 17:46:33.584724 -3.976840
2020-05-06 17:46:33.643689 -4.057756
2020-05-06 17:46:33.702617 -4.136116
2020-05-06 17:46:33.761519 -4.210203
[2136 rows x 1 columns]

Вот как это выглядит graph: enter image description here

Я хотел бы понять, как работает библиотека PyWavelet и как эффективно ее использовать, чтобы распознавать изменения частоты и другие тенденции и сохранять их в новом фрейме данных.

Мой код:

import pywt
import pandas as pd
import os
import matplotlib.pyplot as plt

df = pd.read_csv(os.getcwd() + "/data/rawdata.csv", index_col=0)

plt.plot(df.index, df['voltage'])
plt.show()

x = df['voltage'].tolist()

cA, cD = pywt.dwt(x, 'db1')
...