Set

Optimization sets for parameters and Figures of Merit

The “optimization set” is the index of a specific optimizer (random, simplex, etc.); in the following example there are three sets of optimizers; the first set is “random”, the second set is “simplex”, and the third set is “simplex”.

Every parameter that has an <opt> tag can belong to either all sets of optimizers (by using a set=”0” tag), a single set (e.g., set=”1”), or several sets (e.g., set=”1 2”). The same is true for optimization goals.

For the following example, the first goal (Figure of Merit) is used for all three optimizers (set=”0”). The second goal is used for the random and first simplex. The third goal is used for the random and second simplex. The resistor value is optimized for all three optimizers. The microstrip width is optimized during the random and first simplex. The microstrip length is optimized for the random and second simplex.

Below is a picture of a four step optimization, broken into two pairs of sets. The first two sets (1000 random and 2 simplex) correspond to sets 1 and 2, and have three goals associated with them (making sure the matches are good). The second two sets (0 random and 2 simplex) correspond to sets 3 and 4, and have four goals associated with them (making sure the phases are matched). This is for a circuit which has line extensions which do not significantly effect the match or isolation, whose lengths are only variable for the third and fourth sets.

Optimization with seven goals split between four optimizer sets:

Some of the variables corresponding to the above optimization.

The following is an example of using sets in a Mason file (text inputs).

<freq start="0.1" stop="10" step="0.1"></freq>

<optimization>

<random iterations="100"> This is set 1 </random>

<simplex iterations="1" tolerance="0.001"> This is set 2 </simplex>

<simplex iterations="1" tolerance="0.001"> This is set 3 </simplex>

<goal calculation="if(frequency==1, 20*log10(abs(S_1_1)),-3.01)"

min="-3.02" max="-3" weight="1000" set="0">

This goal is used for all sets

</goal>

<goal calculation="if(frequency>2, 20*log10(abs(S_2_1)),-21)"

min="-200" max="-20" weight="1" set="1 2">

This goal is used for set 1 and set 2

</goal>

<goal calculation="if(frequency<0.5, 20*log10(abs(S_2_1)),0)"

min="-1" max="0" weight="1" set="1 3">

This goal is used for set 1 and set 3

</goal>

</optimization>

<microstrip node_list=”2 6”>

<width value=”30”>

<opt min=”15” max=”60” step=”3” set=”1 2”>

This variable is free for set 1 and set 2

</opt>

<stat std_dev=”10 %”></stat>

</width>

<length value=”120”>

<opt min=”100” max=”200” set=”1 3”>

This variable is free for set 1 and set 3

</opt>

<stat std_dev=”2”></stat>

</length>

</microstrip>

Copyright 2010, Gregory Kiesel