Power Module
The power module contains a set of functions to calculate quantities of interest for power production and power quality.
Note
The names of the functions below are of the convention path.path.function
. Only the function name is used when calling the function in MATLAB. For example, to call on mhkit.wave.io.read_NDBC_file
simply use read_NDBC_file
.
Characteristics
The characteristics submodule calculates power quantities of interest from voltage and current timseries.
Functions |
Description |
---|---|
|
Calculates instantaneous frequency of measured voltage |
|
Calculates the real power from DC voltage and current. |
|
Calculates the real power from three phase ac voltage and current. |
- mhkit.power.characteristics.ac_power_three_phase(voltage, current, power_factor, varargin)
Calculates the real power from three phase ac voltage and current.
- Parameters
voltage (
Time series of all three measured voltages [V]
) –- Pandas data frame
To make a pandas data frame from user supplied frequency and spectra use py.mhkit_python_utils.pandas_dataframe.spectra_to_pandas(time,voltage)
OR
- structure of form:
voltage.voltage : matrix of all three phases
voltage.time : time vector
current (
Time series of all three measured current [A]
) –- Pandas data frame
To make a pandas data frame from user supplied frequency and spectra use py.mhkit_python_utils.pandas_dataframe.spectra_to_pandas(time,current)
OR
- structure of form:
current.current : matrix of all three phases
current.time : time vector
- power_factorfloat
power factor for the system
- line_to_line: bool (Optional)
set true if the given voltage measuremtn is line_to_line
- Returns
P (Structure)
P.power [W]
P.time
- mhkit.power.characteristics.dc_power(voltage, current)
Calculates the real power from DC voltage and current.
- Parameters
voltage (
Time series of measured voltages [V]
) –- Pandas data frame
To make a pandas data frame from user supplied frequency and spectra use py.mhkit_python_utils.pandas_dataframe.spectra_to_pandas(time,voltage)
OR
- structure of form:
voltage.voltage : matrix or vector
voltage.time : time vector
current (
Time series of current [A]
) –- Pandas data frame
To make a pandas data frame from user supplied frequency and spectra use py.mhkit_python_utils.pandas_dataframe.spectra_to_pandas(time,current)
OR
- structure of form:
current.current : matrix or vector
current.time : time vector
- Returns
P (Structure)
P.power [W]
P.gross: gross power from all lines [W]
P.time
- mhkit.power.characteristics.instantaneous_frequency(voltage)
Calcultes the instantaneous frequency of a measured voltage
- Parameters
um (
structure with handles- um.voltage and um.time
) – measured voltage source (V) with each timeseries in its own column- Returns
frequency (structure) – frequency of the measured voltage with handles frequency.time and frequency.frequency
Quality
The quality submodule functions assess power quality, including harmonics, interharmonics, and distortion. Calculations are based on IEC TS 62600-30:2018 ED1 and IEC TS 61000-4-7:2008 ED2.
Functions |
Description |
---|---|
|
Calculates the harmonics from time series of voltage or current based on IEC 61000-4-7. |
|
Calculates the harmonic subgroups based on IEC 61000-4-7 |
|
Calculates the total harmonic current distortion (THC) based on IEC/TS 62600-30 |
|
Calculates the interharmonics from the harmonics of current |
- mhkit.power.quality.harmonics(x, freq, grid_freq)
Calculates the harmonics from time series of voltage or current based on IEC 61000-4-7.
- Parameters
x (
structure with x.time and x.current or x.voltage as values
) – Time-series of voltage [V] or current [A]freq (
double
) – Frequency of the time-series data [Hz]grid_freq (
int
) – Value indicating if the power supply is 50 or 60 Hz. Options = 50 or 60
- Returns
harmonics (structure) – harmonic amplitude and frequency of the time-series data
- mhkit.power.quality.total_harmonic_current_distortion(harmonic_subgroups, rated_current)
Calculates the total harmonic current distortion (THC) based on IEC/TS 62600-30
- Parameters
harmonic_subgroups (
structure with handles- harmonic_subgroups.amplitude and harmonic_subgroups.harmonic
) – Subgrouped current harmonics amplitude indexed by harmonic orderrated_current (
double
) – Rated current of the energy device in Amps
- Returns
THCD (double) – Total harmonic current distortion
- mhkit.power.quality.harmonic_subgroups(harmonics, grid_freq)
Calculates the harmonic subgroups from the harmonics of current
- Parameters
harmonics (
structure with handles- harmonics.amplitude and harmonics.harmonic
) – harmonic amplitude with each timeseries in its own columngrid_freq (
int
) – value indicating if the power supply is 50 or 60 Hz. Valid input are 50 and 60
- Returns
harmonic_subgroups (structure with handles harmonic_subgroups.amplitude and) – harmonic_subgroups.harmonic
- mhkit.power.quality.interharmonics(harmonics, grid_freq)
Calculates the interharmonics from the harmonics of current based on IEC 61000-4-7.
- Parameters
harmonics (
structure with handles- harmonics.amplitude and harmonics.harmonic
) – Harmonic amplitude with each timeseries in its own columngrid_freq (
int
) – Value indicating if the power supply is 50 or 60 Hz. Options = 50 or 60
- Returns
interharmonics (structure with handles interharmonics.amplitude and) – interharmonics.harmonic