I have data from a number of high frequency data capture devices connected to generators on an electricity grid. These meters collect data in ~1 second "bursts" at ~1.25ms frequency, ie. fast enough to actually see the waveform.
The meters are collecting voltage and current from each of the 3 phases. An example of the data (plot and tabular) is shown below, with one phase shown in each colour.
I want to roll this waveform data up to some summary statistics at a lower frequency (20ms). Specifically, I am looking to calculate:
- Active power, reactive power and power factor
- The grid frequency as it changes over time
Apologies but I'm a mechanical engineer and this is not my strong suit! All of the references I can find refer to idealised situations, where the phase angles etc are pre defined. I could fit idealised sin curves to each of the timeseries, but I feel there is a better solution. Are there any simple techniques to calculate the above directly from the timeseries?
Here's a "toy" data set of the first few waves of one voltage phase as a pandas Series for those who are interested:
import pandas as pd, datetime as dt
import pandas as pd, datetime as dt
ds_waveform = pd.Series(
index = pd.date_range('2020-08-23 12:35:37.017625', '2020-08-23 12:35:37.142212890', periods=100),
data = [ -9982., -110097., -113600., -91812., -48691., -17532.,
24452., 75533., 103644., 110967., 114652., 92864.,
49697., 18402., -23309., -74481., -103047., -110461.,
-113964., -92130., -49373., -18351., 24042., 75033.,
103644., 111286., 115061., 81628., 61614., 19039.,
-34408., -62428., -103002., -110734., -114237., -92858.,
-49919., -19124., 23542., 74987., 103644., 111877.,
115379., 82720., 62251., 19949., -33953., -62382.,
-102820., -111053., -114555., -81941., -62564., -19579.,
34459., 62706., 103325., 111877., 115698., 83084.,
62888., 20949., -33362., -61791., -102547., -111053.,
-114919., -82805., -62882., -20261., 33777., 62479.,
103189., 112195., 116380., 83630., 63843., 21586.,
-32543., -61427., -102410., -111553., -115374., -83442.,
-63565., -21217., 33276., 62024., 103007., 112468.,
116471., 84631., 64707., 22405., -31952., -61108.,
-101955., -111780., -115647., -84261.])