Public Interface for the Proportional-Integral-Derivative (PID) Controller. More...
#include <linux/aquosa/qos_types.h>
Go to the source code of this file.
Defines | |
#define | PID_DEF_TARGET_SE 0 |
Default target scheduling error for PID controller. | |
#define | PID_DEF_Z1 0.01 |
Default first pole (Z1) for PID controller. | |
#define | PID_DEF_Z2 0.4 |
Default second pole (Z2) for PID controller. | |
Functions | |
qos_rv | pid_set_defaults () |
Configures a Proportional-Integral-Derivative controller with default parameters. | |
qos_rv | pid_set_target_se (qres_time_t target_se) |
Sets the target scheduling error value. | |
qos_rv | pid_set_poles (double z1, double z2) |
Sets the two control poles. | |
qos_rv | pid_register_lib (void) |
Registration of the submodule with the library. |
Public Interface for the Proportional-Integral-Derivative (PID) Controller.
The PID controller aims at choosing the next bandwidth assignment such that the expected next-step scheduling error, conditioned to the current system state, be equal to a prefixed target value
, i.e. such that
. In the discrete-time, state-continuous model for the system evolution this corresponds to setting:
Requires a predictor that only provides the get_exp_value() statistic.
Definition in file pid_lib.h.
qos_rv pid_register_lib | ( | void | ) |
Registration of the submodule with the library.