Periodic Systems#
A Periodic system has a representation
in which there exists a period \(h\) such that
A periodic system is a switched system restricted to switching in a ring graph.
System#
The algorithmic interconnection for a periodic system is
- class system.periodic.opt_system_periodic#
Bases:
system.switched.opt_system_switchedOPT_SYSTEM_PERIODIC interconnection of periodic network and operators
- Constructor Summary
- opt_system_periodic(op, P, K, bind, tracking)#
OPT_SYSTEM_PERIODIC constructor
- Method Summary
- get_tracked_opt(param)#
GET_TRACKED_OPT get the tracked position of the optimal solution. allow for time-varying exosystems (periodic), represented by a cell
- get_type()#
get the type of the switched system is periodic.
- next_mode(mode)#
next mode in the switching sequence
- periodic_lift()#
PERIODIC_LIFT form a periodic LTI lift of the system
- Returns:
sys_lift (opt_system) – an LTI system
Regulator#
An open periodic system with disturbance \(d\) and regulated error \(e\) is
The one-step regulator equations for this system are to find \(h\)-periodic matrices \((\Pi_h, \Gamma_h, \Phi_h)_{h\in \N}\) satisfying
If these regulator equations fail, then there does not exist a well-posed and convergent optimization algorithm for this network.
- class system.periodic.regulator_periodic#
Bases:
system.switched.regulator_switchedREGULATOR_PERIODIC Regulator for periodic systems. This is an alias for the regulator_switched()
- Constructor Summary
- regulator_periodic(sys)#
REGULATOR_PERIODIC constructor
LMI Analysis#
- class system.periodic.lmi_analysis_periodic#
Bases:
system.generic.lmi_analysis_interfaceLMI_ANALYSIS_PERIODIC analysis LMIs for algorithmic interconnections involving periodic linear networks and controllers
- Constructor Summary
- lmi_analysis_periodic(sys, config)#
LMI_DISPATCH_LTI Constructor
- Method Summary
- Nss()#
NSS: Number of subsystems
- cons_dynamic(vars, cons, diss)#
CONS form the dissipation and sign constraints
- Parameters:
vars – variables of the problem
cons – accumulated constraints
diss (
diss_data) – structure describing the dissipation constraint
- Returns:
cons – accumulated constraints
objective – term to be minimized
- create_vars_spec(cons, specs)#
CREATE_VARS_SPEC declare variables for the specifications :param cons: accumulated constraints :param specs: performance specifications
- Returns:
vars_spec – variables for performance specification cons: accumulated constraints
- create_vars_storage(cons, alg_psi, name)#
create_vars_storage create variables for the dissipation constraints. One for each subsystem
- Parameters:
cons – accumulated constraints
alg_psi – the filtered algorithmic interconnection
name – a name for the variable
- Returns:
vars_diss – variables of the problem in the dissipation constraints
cons – accumulated constraints
- h2(vars, cons, diss)#
H2: certificate of stochastic performance
- Parameters:
vars – variables of the problem
cons – accumulated constraints
diss (
diss_data) – structure describing the dissipation constraint
- Returns:
cons – accumulated constraints
objective – term to be minimized
con_M – PSD blocks for the dynamics constraint
- quad(vars, cons, diss)#
QUAD: certificate of quadratic performance
- Parameters:
vars – variables of the problem
cons – accumulated constraints
diss (
diss_data) – structure describing the dissipation constraint
- Returns:
cons – accumulated constraints
objective – term to be minimized
LMI Synthesis#
- class system.periodic.lmi_synthesis_periodic#
Bases:
system.switched.lmi_synthesis_switchedLMI_SYNTHESIS_PERIODIC synthesis LMIs for algorithmic interconnections involving periodic linear networks and controllers
- Constructor Summary
- lmi_synthesis_periodic(sys, config)#
LMI_SYNTHESIS_PERIODIC constructor
- Method Summary
- cons_dynamic(vars, cons, diss)#
CONS form the dissipation and sign constraints
- Parameters:
vars – variables of the problem
cons – accumulated constraints
diss (
diss_data) – structure describing the dissipation constraint
- Returns:
cons – accumulated constraints
objective – term to be minimized
- create_vars_storage(cons, alg_psi, name)#
create_vars_storage create variables for the dissipation constraints. One for each subsystem :param cons: accumulated constraints :param specs: performance specifications
- Returns:
vars_spec – variables for performance specification cons: accumulated constraints
- get_vars_involved(vars, ind)#
GET_VARS_INVOLVED get variables involved in the current mode :param vars: variables of the problem :param ind: index of subsystem/mode
- Returns:
vars_inv – variables (diss, reg) at subsystem ind
- h2(vars, cons, diss)#
H2: certificate of stochastic performance
- Parameters:
vars – variables of the problem
cons – accumulated constraints
diss (
diss_data) – structure describing the dissipation constraint
- Returns:
cons – accumulated constraints
objective – term to be minimized
con_M – PSD blocks for the dynamics constraint
- quad(vars, cons, diss)#
QUAD: certificate of infinite-horizon quadratic performance
- Parameters:
cons – accumulated constraints
specs – performance specifications
- Returns:
vars_spec – variables for performance specification cons: accumulated constraints
- recover_subcontroller(alg_psi, P_trans, sol)#
RECOVER_SUBCONTROLLER recover the subcontroller of the current mode/control
- Parameters:
alg_psi – the filtered algorithmic interconnection
P_trans – the transformed generalized plant before IQC
sol – solution structure
- Returns:
sol – solution structure
- recover_subcontroller_warp(P_trans, vars_rec)#
RECOVER_SUBCONTROLLER_WARP recover the nonlinearly warped controller dynamics and indexers :param alg_psi: the filtered algorithmic interconnection :param P_trans: the transformed generalized plant before IQC :param sol: solution structure
- Output:
K_nofeed: subcontroller without direct feedthrough Gcl: closed-loop storage matrix (original) Ycl: similarity transformation/nonlinear warping
- validate_recovery_gain(alg_trans, iqc_op_all)#
VALIDATE_RECOVERY validate that the system obeys the stability :param alg_trans: the plant with confirmed performance by LMIs :param iqc_op_all: all IQCs
- Return:
gain – [Passivity index, H-infinity index].