pid_lib.h File Reference

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.

Detailed Description

Public Interface for the Proportional-Integral-Derivative (PID) Controller.

The PID controller aims at choosing the next bandwidth assignment $ b_k $ such that the expected next-step scheduling error, conditioned to the current system state, be equal to a prefixed target value $\hat{\epsilon}$, i.e. such that $ E \big[ \mathcal{E}_{k+1} | \mathcal{E}_k = \epsilon_k \big] =\hat{\epsilon}$. 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.


Function Documentation

qos_rv pid_register_lib ( void   ) 

Registration of the submodule with the library.

Generated on Mon Aug 2 22:38:48 2010 for qosmgr by  doxygen 1.6.3