Batch Trimming and Linearization
In many applications, the average voltage delivered in response to a certain duty cycle
profile is of interest. Such behavior is studied at time scales several decades larger than
the fundamental sample time of the circuit. These "average models" for the circuit are
derived by analytical considerations based on averaging of power dynamics over certain
time periods. The model BoostConverterExampleModel implements such an average
model of the circuit as its first variant, called "AVG Voltage Model". This variant typically
executes faster than the "Low Level Model" variant.
The average model is not a linear system. It shows nonlinear dependence on the duty
cycle and the load variations. To aid faster simulation and voltage stabilizing controller
design, we can linearize the model at various duty cycle and load values. The inputs and
outputs of the linear system would be the same as those of the original model.
We use the snapshot time based trimming and linearization approach. The scheduling
parameters are the duty cycle value (d) and the resistive load value (R). The model is
trimmed at various values of the scheduling parameters resulting in a grid of linear
models. For this example, we chose a span of 10%-60% for the duty cycle variation and of
4-15 Ohms for the load variation. 5 values in these ranges are picked for each scheduling
variable and linearization obtained at all possible combinations of their values.
Scheduling parameters: d: duty cycle R: resistive load
nD = 5; nR = 5;
dspace = linspace(0.1,0.6,nD); % nD values of "d" in 10%-60% range
Rspace = linspace(4,15,nR); % nR values of "R" in 4-15 Ohms range
[dgrid,Rgrid] = ndgrid(dspace,Rspace); % all possible combinations of "d" and "R" values
Create a parameter structure array.
params(1).Name = 'd';
params(1).Value = dgrid;
params(2).Name = 'R';
params(2).Value = Rgrid;
A simulation of the model under various conditions shows that the model's outputs settle
down to their steady state values before 0.01 s. Hence we use t = 0.01s as the snapshot
time.
Declare number of model inputs, outputs and states.
ny = 3; nu = 1; nx = 2;
ArraySize = size(dgrid);
LPV Approximation of a Boost Converter Model