21#ifndef PMU_ESTIMATOR_H
22#define PMU_ESTIMATOR_H
35#define CONFIG_FROM_INI 1
37#define CONFIG_FROM_STRUCT 0
Function and type stubs for PMU estimator.
#define complex_p
Complex number type stub (default: _Complex)
Definition func_stubs.h:59
#define float_p
Floating-point type stub (default: float)
Definition func_stubs.h:56
#define bool_p
Boolean type stub (default: _Bool)
Definition func_stubs.h:65
#define uint_p
Unsigned integer type stub (default: unsigned int)
Definition func_stubs.h:62
#define NUM_CHANLS
Number of channels to process (can be defined at compile time)
Definition pmu_estimator.c:46
struct pmu_context pmu_context
int pmu_deinit(pmu_context *ctx)
Deinitialize and free resources of PMU estimator instance.
Definition pmu_estimator.c:386
int pmu_init(pmu_context *ctx, void *cfg, bool_p config_from_ini)
Initialize a PMU estimator instance.
Definition pmu_estimator.c:204
int pmu_estimate(pmu_context *ctx, float_p *in_signal_windows, float_p mid_fracsec, pmu_frame *out_frame)
Estimate synchrophasor, frequency, and ROCOF from input signal.
Definition pmu_estimator.c:282
int pmu_dump_frame(pmu_frame *frame, FILE *stream)
Print PMU frame data to output stream.
Definition pmu_estimator.c:418
Dynamically allocated internal buffers.
Definition pmu_estimator.h:122
float_p complex_p * Xf
Definition pmu_estimator.h:123
float_p complex_p * dftbins
Definition pmu_estimator.h:125
float_p complex_p * Xi
Definition pmu_estimator.h:124
float_p * hann_window
Definition pmu_estimator.h:126
State variables for ROCOF (Rate of Change of Frequency) estimation.
Definition pmu_estimator.h:157
Internal parameters for synchrophasor estimation.
Definition pmu_estimator.h:97
bool_p iter_eipdft_enabled
Definition pmu_estimator.h:106
phasor phasor
Definition pmu_estimator.h:110
uint_p Q
Definition pmu_estimator.h:105
uint_p fs
Definition pmu_estimator.h:102
float_p interf_trig
Definition pmu_estimator.h:107
float_p df
Definition pmu_estimator.h:108
uint_p P
Definition pmu_estimator.h:104
uint_p frame_rate
Definition pmu_estimator.h:101
uint_p win_len
Definition pmu_estimator.h:98
uint_p f0
Definition pmu_estimator.h:100
float_p norm_factor
Definition pmu_estimator.h:109
uint_p n_cycles
Definition pmu_estimator.h:99
uint_p n_bins
Definition pmu_estimator.h:103
Configuration structure for the PMU estimator.
Definition pmu_estimator.h:48
uint_p frame_rate
Definition pmu_estimator.h:51
uint_p n_bins
Definition pmu_estimator.h:53
uint_p f0
Definition pmu_estimator.h:50
uint_p P
Definition pmu_estimator.h:54
bool_p iter_eipdft
Definition pmu_estimator.h:56
uint_p Q
Definition pmu_estimator.h:55
uint_p fs
Definition pmu_estimator.h:52
uint_p n_cycles
Definition pmu_estimator.h:49
float_p interf_trig
Definition pmu_estimator.h:57
Represents a synchrophasor (complex voltage/current measurement)
Definition pmu_estimator.h:70
float_p ph
Definition pmu_estimator.h:72
float_p freq
Definition pmu_estimator.h:73
float_p amp
Definition pmu_estimator.h:71
PMU estimator context structure.
Definition pmu_estimator.h:176
InternalBuffers buff_params
Definition pmu_estimator.h:178
bool_p pmu_initialized
Definition pmu_estimator.h:181
RocoFEstimationStates rocof_params
Definition pmu_estimator.h:180
SynchrophasorEstimatorParams synch_params
Definition pmu_estimator.h:177
HanningTransformConstants hann_params
Definition pmu_estimator.h:179
Complete PMU output frame.
Definition pmu_estimator.h:84
phasor synchrophasor
Definition pmu_estimator.h:85
float_p rocof
Definition pmu_estimator.h:86