UI Parameters (ObCD)
This section contains all of the parameters and keys that PyFresco uses to synthesize controllers for the ObCD package. These parameters are UI inputs that should be stored as class attributes. The regulation rate is used to determine some of the UI parameter limits; the regulation rate is defined as:
See FGC.ITER_PERIOD , REG.I.PERIOD_ITERS and REG.B.PERIOD_ITERS for more information on these properties.
ObCD Keys
Control Mode:
- keyword
control_mode
Desired control loop to regulate.
V
: Design controller for damping and voltage loop.
I
: Design RST and ILC controllers for current loop.
B
: Design RST and ILC controllers for field loop.- Type
str
- Default
Not applicable.
- Recommended
Not applicable.
- Feasible values
[
I
,B
,V
]
Current/Field Keys
Test Select:
- keyword
test_select
Property value to set if the user wants to enable RST test parameters.
False
disables the test parameters;True
enables the test parameters.- Type
bool
- Default
False
- Recommended
Not applicable.
- Feasible values
[
True
,False
]
Debug:
- keyword
debug
Property value to set if the user wants to show the ObCD parameters on the console.
False
disables the parameter output;True
enables the parameter output.- Type
bool
- Default
False
- Recommended
Not applicable.
- Feasible values
[
True
,False
]
Bandwidth:
- keyword
des_bw
Desired closed-loop bandwidth \(f_{ib}\) [Hz].
- Type
float
- Default
\(F_s/15\)
- Recommended
\(F_s/25 \leq f_{ib} \leq F_s/8\)
Note that that closed-loop bandwidth is limited by the amount of delay in the open-loop system.
- Feasible values
\((0,10^6]\)
Damping:
- keyword
des_z
Desired closed-loop damping \(\zeta_{ib}\) [-].
- Type
float
- Default
\(0.8\)
- Recommended
\(0.8\)
- Feasible values
\((0,1)\)
Modulus Margin:
- keyword
des_mm
Desired modulus margin \(\Delta M_{ib}\) [-].
- Type
float
- Default
\(0.5\)
- Recommended*
\(0.5\)
A higher value will increase the system robustness to uncertainties, but will degrade the tracking performance. Conversly, a lower value will decrease the system robustness to uncertainties, but will enhance the tracking performance.
- Feasible values
\((0,1)\)
Reference Delay:
- keyword
ref_delay
Value of delay \(d_r\) [s] to add on the desired second-order system.
- Type
float
- Default
\(0\)
- Recommended
In general, \(d_r=0\) is sufficient for the desired performance. For high performance systems, set \(d_r\) equal to the open-loop delay.
- Feasible values
\([0,10]\)
Integrators:
- keyword
n_integrators
Desired number of integrators \(n_I\) in the \(S(z)\) polynomial.
- Type
int
- Default
\(2\)
- Recommended
\(2\)
For systems with large open-loop delays, \(n_I=1\) may be prefered.
- Feasible values
\([1,3]\)
Optimization Method:
- keyword
opt_method
Desired optimization method. The string
Hinf
refers to \(\mathcal{H}_\infty\) control,H2
refers to \(\mathcal{H}_2\) control, andH1
refers to \(\mathcal{H}_1\) control.- Type
str
- Default
Hinf
- Recommended
Depends on the type of desired performance. See Current/Field Control for more information.
- Feasible values
[
Hinf
,H2
,H1
]
Num. Coefficients (R):
- keyword
n_r
Desired number of coefficients \(n_r\) in the \(R(z)\) polynomial.
- Type
int
- Default
\(6\)
- Recommended
\(6\)
A larger value can be used for high performance systems.
- Feasible values
\([4,16]\)
Num. Coefficients (S):
- keyword
n_s
Desired number of coefficients \(n_s\) in the \(S(z)\) polynomial.
- Type
int
- Default
\(6\)
- Recommended
\(6\)
A larger value can be used for high performance systems.
- Feasible values
\([4,16]\)
Num. Coefficients (T):
- keyword
n_t
Desired number of coefficients \(n_t\) in the \(T(z)\) polynomial.
- Type
int
- Default
\(6\)
- Recommended
\(6\)
A larger value can be used for high performance systems. If
opt_method
is set to \(H_1\), set this parameter greater thann_r
andn_s
.- Feasible values
\([4,16]\)
Noise Rejection:
- keyword
noise_rej
A list of lists that contains the desired frequencies and attenuation values for rejecting noise for the sensitivity function \(|\mathcal{S}_{d_v y}|\) (where \(y\) can be the current or field.) The format of the list is as follows: \([[f_1, A_1], [f_2, A_2],\ldots]\) where \(f_i\) [Hz] refers to the frequency to apply the desired attenuation \(A_i\) [dB]. For example, \([[100, -20]]\) signifies that the user desires an attenuation of -20 dB at 100 Hz.
- Type
list of lists
- Default
[ ]
- Recommended
Application dependent. Usually, enabeling noise attenuation will degrade performance and/or can require a higher order RST controller.
- Feasible values
\((0, F_s / 2]\)
L-Filter Order
- keyword
n_ilc
Order \(n_{ilc}\) of the L-filter used for the ILC algorithm.
- Type
int
- Default
\(5\)
- Recommended
Application dependent. In general, a value \(n_{ilc}>4\) is sufficient.
- Feasible values
\([1,12]\)
Q-Filter Order:
- keyword
n_q
Order \(n_{q}\) of the Q-filter (non-causal FIR) used for the ILC algorithm.
- Type
int
- Default
\(5\)
- Recommended
Application dependent. In general, a value \(n_{q}>4\) is sufficient.
- Feasible values
\([1,12]\)
Q-Filter Bandwidth:
- keyword
q_bw
Desired bandwidth \(f_q\) [Hz] of the ILC Q-filter.
- Type
float
- Default
\(0\)
- Recommended
Application dependent. A value \(f_q>0\) will enable the Q-filter optimization. A value of \(f_q = 0\) will set the Q-filter equal to \(1\) (i.e., disable the Q-filter).
- Feasible values
\((0,10^6)\)
ILC Only Flag:
- keyword
ilc_only
Flag which enables the design of an ILC filter without the RST optimization. A
False
boolean will enable both an RST and ILC synthesis. ATrue
boolean will synthesize the ILC filters only. Note that if this flag is enabled, the RST values will be read from the property REG.I.EXTERNAL.OP or REG.B.EXTERNAL.OP . Additionally, ensure that the external RST is working correctly prior to the synthesis by running the converter with REG.I.EXTERNAL_ALG or REG.B.EXTERNAL_ALG set toENABLED
.- Type
bool
- Default
False
- Recommended
N/A
- Feasible values
[
True
,False
]
Voltage Keys
Damping-loop Bandwidth:
- keyword
damp_bw
Desired closed-loop bandwidth \(f_d\) [Hz] for the damping loop.
Note that that closed-loop bandwidth is limited by the amount of delay in the open-loop system.
- Type
float
- Default
\(1.5 f_{bw}^d\), where \(f_{bw}^d\) is the open-loop bandwidth. This is calculated from the FGC properties.
- Recommended
Application dependent.
- Feasible values
\((0,10^6)\)
Damping-loop Damping:
- keyword
damp_z
Desired closed-loop damping \(\zeta_d\) [-] for the damping loop.
- Type
float
- Default
\(0.8\)
- Recommended
\(0.8\)
- Feasible values
\((0,1)\)
Voltage-loop Bandwidth:
- keyword
volt_bw
Desired closed-loop bandwidth \(f_v\) [Hz] for the voltage loop.
Note that that closed-loop bandwidth is limited by the amount of delay in the open-loop system.
- Type
float
- Default
\(f_{bw}^d\), where \(f_{bw}^d\) is the open-loop bandwidth. This is calculated from the FGC properties.
- Recommended
Application dependent.
- Feasible values
\((0,10^6)\)
Voltage-loop Damping:
- keyword
volt_z
Desired closed-loop damping \(\zeta_v\) [-] for the voltage loop.
- Type
float
- Default
\(0.8\)
- Recommended
\(0.8\)
- Feasible values
\((0,1)\)
Damping Modulus Margin:
- keyword
damp_mm
Desired modulus margin \(\Delta M_d\) [-] for the damping loop.
- Type
float
- Default
\(0.4\)
- Recommended
\(0.4\)
A higher value will increase the system robustness to uncertainties, but will degrade the tracking performance. Conversely, a lower value will decrease the system robustness to uncertainties, but will enhance the tracking performance.
- Feasible values
\((0,1)\)
Voltage Modulus Margin:
- keyword
volt_mm
Desired modulus margin \(\Delta M_v\) [-] for the voltage loop.
- Type
float
- Default
\(0.5\)
- Recommended
\(0.5\)
A higher value will increase the system robustness to uncertainties, but will degrade the tracking performance. Conversely, a lower value will decrease the system robustness to uncertainties, but will enhance the tracking performance.
- Feasible values
\((0,1)\)
Reference Delay:
- keyword
ref_delay
Value of delay \(d_r\) [s] to add on the desired second-order system.
- Type
float
- Default
\(0\)
- Recommended
In general, \(d_r=0\) is sufficient for the desired performance. For high performance systems, set \(d_r\) equal to the open-loop delay.
- Feasible values
\([0,10]\)
Optimization Method:
- keyword
opt_method
Desired optimization method. The string
Hinf
refers to \(\mathcal{H}_\infty\) control, andH2
refers to \(\mathcal{H}_2\) control.- Type
str
- Default
Hinf
- Recommended
Depends on the type of desired performance. See Voltage Control for more information
- Feasible values
[
Hinf
,H2
]
Positive Coefficients:
- keyword
positive_coeff
A constraint to enable all voltage loop and damping loop parameters to be positive.
True
will enable the constraint;False
will disable the constraint.- Type
bool
- Default
False
- Recommended
For optimal performance, this constraint should be disabled.
- Feasible values
[
True
,False
]
Remove Kd:
- keyword
kd_0
A constraint to set the damping loop parameter \(k_d=0\).
True
will enable the constraint;False
will disable the constraint.- Type
bool
- Default
False
- Recommended
For optimal performance, this constraint should be disabled.
- Feasible values
[
True
,False
]