estimate_voltages#
- popo.estimation.estimate_voltages(net, lv_bus, voltage_pu, active_mw, reactive_mvar, customer_active_mw, customer_reactive_mvar, smart_meter_fraction=0.0, rng=None, noise=None, metered=None, line_flows=None)#
Estimate every bus voltage from a substation measurement and some meters.
Buses carrying neither load nor generation have a known zero injection. Declaring them is what makes a substation-only measurement set observable at all: without them the problem is underdetermined and the estimator has nothing to propagate the substation reading into the feeder.
- Parameters:
net (
Any) – A pandapower network.lv_bus (
int) – Index of the substation low-voltage busbar.voltage_pu (
float) – Measured busbar voltage.active_mw (
float) – Measured active power at the busbar.reactive_mvar (
float) – Measured reactive power at the busbar.customer_active_mw (
ndarray) – True active power per load, for the customers whose meters are read.customer_reactive_mvar (
ndarray) – True reactive power per load.smart_meter_fraction (
float) – Share of customers whose meters are available.rng (
Generator|None) – Seeded generator choosing which meters are read.noise (
MeasurementNoise|None) – Measurement deviations; the defaults describe class 0.5 substation instrumentation and typical smart meters.metered (
Sequence[int] |None) – Positions innet.loadof the customers whose meters are read, overridingsmart_meter_fractionwhen given.line_flows (
Mapping[int,tuple[float,float]] |None) – Lines carrying a power-flow sensor, mapped to the active and reactive power they measure at their sending end, in MW and Mvar.
- Return type:
- Returns:
Estimated per-unit voltage at every bus, or
Nonewhen the estimator does not converge. Non-convergence is a result to record rather than an error to raise: it is the answer when the measurement set is too sparse.
Note
A substation-only measurement set is not observable on a feeder carrying more than one load, whatever the number of zero-injection buses between them: three measurements plus two constraints per zero-injection bus cannot reach the
2n - 1states of ann-bus network once two or more injections are unknown. Coverage is therefore not an accuracy refinement but the condition under which an answer exists at all, which is the whole reason pseudo-measurements carry the method and why the quality of their assumed uncertainty decides the result.