Troubleshooting the CONSTPOUT block

The CONSTPOUT block u= ses optimization to servo the input power (starting with the input power le= vel specified in the schematic) to find the specified output power

There are three common issues that users find with the CONSTPOUT block:<= /p>

- It is important to not sweep input power when using the CONSTPOUT= block. The CONSTPOUT block will automatically servo th= e input power to find the specified output power. Thus, the extra sweep poi= nts all have the same answers but cause the simulation to take extra time.<= br>
- During the optimization, the input power is limited by the CONSTP=
OUT block MAX parameter which specifies that the maximum input sourc=
e scale factor (in W or V depending on the specified source).
- For example, if the input power level specified on the schematic is 0 d=
Bm and MAX=3D100 then the input power level is limited to 20 dBm when searc=
hing for the specified output power (0 dBm =E2=86=92 1 mW, 1 mW * 100 =3D 1=
00 mW, 100 mW =E2=86=92 20 dBm).

- For example, if the input power level specified on the schematic is 0 d=
Bm and MAX=3D100 then the input power level is limited to 20 dBm when searc=
hing for the specified output power (0 dBm =E2=86=92 1 mW, 1 mW * 100 =3D 1=
00 mW, 100 mW =E2=86=92 20 dBm).
- The optimization does not find the desired output power before hitting =
the XDB block MAX_ITER number of iterations
- This can be caused by the optimization getting limited by MAX as discus= sed above, or, like any optimization, simply not having enough iterations t= o converge on the specified answer, or, because the specified output power = is not achievable.

The good news is that all of these are easy to diagnose by inspecting th= e simulation output file link in the Status Window.

First, find the link to the output file in the Status Window (the Output= - file link below) and click on it which will open the output file in AWRD= E.

=20

Simulation - NLN:CONSTPOUT.AP_HB.$FDOC 1:49:10 PM Begin Simulate 1:49:10 PM Freq - 3 points 1:49:10 PM Netlist - file://C:\My Dropbox\awr\appdata\jomoore\13.0\temp\C= urtice_model_gain_expansion\NLN_CONSTPOUT.AP_HB.$FDOC\mwo_aplac_netlist.i 1:49:10 PM Output - file://C:\My Dropbox\awr\appdata\jomoore\13.0\temp\Cu= rtice_model_gain_expansion\NLN_CONSTPOUT.AP_HB.$FDOC\mwo_aplac_output.txt 1:49:11 PM End Simulate (0.50s)=20

The file shows the specified output power optimization results for each = sweep point. The final output power and input power scaling are = shown on the last ITER line of each sweep point.

=20

SWPVAL 1, INITIAL SCALE =3D 1.000=20 ITER =3D 1, POUT =3D-18.648 dBm, SCALE =3D 1.210=20 ITER =3D 2, POUT =3D-17.181 dBm, SCALE =3D 1.688=20 . . . ITER =3D 10, POUT =3D 7.998 dBm, SCALE =3D 181.185=20 SWPVAL 2, INITIAL SCALE =3D 181.185=20 ITER =3D 1, POUT =3D 7.953 dBm, SCALE =3D 170.233=20 ITER =3D 2, POUT =3D 7.895 dBm, SCALE =3D 168.880=20 ITER =3D 3, POUT =3D 8.000 dBm, SCALE =3D 171.342=20 SWPVAL 3, INITIAL SCALE =3D 171.342=20 ITER =3D 1, POUT =3D 8.259 dBm, SCALE =3D 167.006=20 ITER =3D 2, POUT =3D 8.005 dBm, SCALE =3D 161.251=20=20

If the CONSTPOUT block fails to converge one of the likely causes is tha= t the input power scaling is limited. This is easy to see in the simu= lation output file as the optimizer will get "stuck" trying to raise the sc= ale value higher than allowed by the CONSTPOUT block MAX param= eter value. In the example below POUT =3D 8 dBm and MAX =3D 100. As c= an be seen in the data, the output power search "gives up" because of the s= cale limit.

=20

SWPVAL 1, INITIAL SCALE =3D 1.000=20 ITER =3D 1, POUT =3D-18.656 dBm, SCALE =3D 1.208=20 ITER =3D 2, POUT =3D-17.241 dBm, SCALE =3D 1.665=20 . . . ITER =3D 100, POUT =3D 3.785 dBm, SCALE =3D 100.000=20 ITER =3D 101, POUT =3D 3.785 dBm, SCALE =3D 100.000=20 ITER =3D 102, POUT =3D 3.785 dBm, SCALE =3D 100.000=20 APLAC 9.10 WARNING: MinMax optimization terminated due to=20 maximum number of cycles (OPT_CYCLES) at sweep point 1 (Freq=3D2.2 GHz)=20

Another likely cause is that the optimizer stopped before finding the sp= ecified answer due to the CONSTPOUT block MAX_ITER parameter limiting the n= umber of iterations such that the optimizer has not yet had time to find th= e user specified output power. In the example below POUT =3D 8 dBm, MAX =3D= 10000, and MAX_ITER =3D 4. As can be seen in the data, 4 iterations were n= ot sufficient for the optimizer to find the specified output power so the a= nalysis failed.

=20

SWPVAL 1, INITIAL SCALE =3D 1.000=20 ITER =3D 1, POUT =3D-1.179 dBm, SCALE =3D 3.120k ITER =3D 2, POUT =3D-5.655 dBm, SCALE =3D 2.381k ITER =3D 3, POUT =3D-4.807 dBm, SCALE =3D 23.691=20 ITER =3D 4, POUT =3D-4.520 dBm, SCALE =3D 25.017=20 APLAC 9.10 WARNING: Random optimization terminated due to=20 maximum number of cycles (OPT_CYCLES) at sweep point 1 (Freq=3D2.2 GHz)=20

The last likely cause is that optimizer stopped before finding the speci= fied answer because the specified output power is not achievable for one of= the sweep points. In the example below POUT =3D 20 dBm but the DUT has a P= SAT =3D 17.2 dBm. As can be seen in the data, the optimizer tried until it = reached the maximum number of iterations and scaled the input power to a hi= gh value but could not reach the specified output power.

=20

SWPVAL 1, INITIAL SCALE =3D 1.000=20 ITER =3D 1, POUT =3D-18.649 dBm, SCALE =3D 1.210=20 ITER =3D 2, POUT =3D-17.188 dBm, SCALE =3D 1.685=20 ITER =3D 3, POUT =3D-14.845 dBm, SCALE =3D 2.857=20 . . . ITER =3D 101, POUT =3D 17.195 dBm, SCALE =3D 747.433=20 ITER =3D 102, POUT =3D 17.200 dBm, SCALE =3D 742.745=20 APLAC 9.10 WARNING: MinMax optimization terminated due to=20 maximum number of cycles (OPT_CYCLES) at sweep point 1 (Freq=3D2.2 GHz)=20

Troubleshooting the XDB block

The XDB block performs seve= ral different analyses. The first analysis subtracts the specified XD= B block GAIN_BACKOFF parameter from the input power level to compute the li= near gain at every sweep point. If compression is defined from maximu= m gain rather than linear gain then the next analysis uses optimization to = find the maximum gain. During the optimization, the input power start= s at the input power level specified on the schematic and ramps up to find = the maximum gain. The last analysis uses optimization to find the spe= cified compression. During the optimization, the input power ramps up= from the input power level specified on the schematic when compression is = relative to linear gain and ramps up from the maximum gain point when compr= ession is defined relative to the maximum gain.

There are three common issues that users find with the XDB block:

- It is important to not sweep input power when using the XDB block. The =
XDB block will automatically servo the input power to find the linear gain,=
max gain, and specified compression points. Thus, extra sweep points=
that all have the same answers is the best possible result when swe=
eping input power with an XDB block. Setting up a simulation that converges=
poorly (due to the initial input power level - see the Implementation Details of the XDB help page for a=
dditional details) at some power levels is likely to result when sweeping i=
nput power with an XDB block.

- During each optimization, the input power is limited by the XDB block M=
AX parameter which specifies that the maximum input source scale factor (in=
W or V depending on the specified source).
- For example, if the input power level specified on the schematic is 0 d=
Bm and MAX=3D100 then the input power level is limited to 20 dBm when searc=
hing for the maximum gain or specified compression point (0 dBm =E2=86=92 1=
mW, 1 mW * 100 =3D 100 mW, 100 mW =E2=86=92 20 dBm).

- For example, if the input power level specified on the schematic is 0 d=
Bm and MAX=3D100 then the input power level is limited to 20 dBm when searc=
hing for the maximum gain or specified compression point (0 dBm =E2=86=92 1=
mW, 1 mW * 100 =3D 100 mW, 100 mW =E2=86=92 20 dBm).
- The second is that the optimization does not find the desired compressi=
on point before hitting the XDB block MAX_ITER number of iterations
- This can be caused by the optimization getting limited by MAX as discus= sed above; or, like any optimization, simply not having enough iterations t= o converge on the specified answer.

The good news is that all of these are easy to diagnose by inspecting th= e simulation output file link in the Status Window.

First, find the link to the output file in the Status Window (the Output= - file link below) and click on it which will open the output file in AWRD= E.

=20

Simulation - NLN:XDB.AP_HB.$FDOC 10:41:19 AM Begin Simulate 10:41:19 AM Freq - 11 points 10:41:19 AM Netlist - file://C:\My Dropbox\awr\appdata\jomoore\13.0\temp\= Curtice_model_gain_expansion\NLN_XDB.AP_HB.$FDOC\mwo_aplac_netlist.i 10:41:19 AM Output - file://C:\My Dropbox\awr\appdata\jomoore\13.0\temp\C= urtice_model_gain_expansion\NLN_XDB.AP_HB.$FDOC\mwo_aplac_output.txt 10:41:20 AM End Simulate (0.87s)=20

The first section of the file shows the input power used to find the lin= ear gain and the linear gain values computed for each sweep point. An= y simulation warnings will appear only under the first sweep point.

=20

FIND SMALL SIGNAL GAIN POWER IN=3D-80.000 dBm SWPVAL 1 LINEAR GAIN =3D 472.011mdB SWPVAL 2 LINEAR GAIN =3D 943.270mdB SWPVAL 3 LINEAR GAIN =3D 1.393 dB=20

The next section of the file shows the maximum gain optimization results= if the XDB block is calculating compression from maximum gain. If th= e XDB block is set up to calculate compression from linear gain that this s= ection will not be in the output file. Note that the maximum gain poi= nt and input power scaling (from the input power defined on the schematic) = that generates the maximum gain are shown on the last ITER line of each swe= ep point.

=20

FIND MAX GAIN SWPVAL 1 ITER =3D1, MAX GAIN =3D 739.169mdB, DELTA =3D 267.158mdB, POWER IN =3D-12.0= 93 dBm, SCALE =3D 6.175=20 ITER =3D2, MAX GAIN =3D 978.818mdB, DELTA =3D 506.807mdB, POWER IN =3D-9.24= 2 dBm, SCALE =3D 11.906=20 . . . ITER =3D42, MAX GAIN =3D 9.031 dB, DELTA =3D 8.559 dB, POWER IN =3D 7.263 d= Bm, SCALE =3D 532.436=20 SWPVAL 2 ITER =3D1, MAX GAIN =3D 1.203 dB, DELTA =3D 259.453mdB, POWER IN =3D-12.093= dBm, SCALE =3D 6.175=20 ITER =3D2, MAX GAIN =3D 1.436 dB, DELTA =3D 493.117mdB, POWER IN =3D-9.242 = dBm, SCALE =3D 11.906=20 . . . ITER =3D48, MAX GAIN =3D 9.311 dB, DELTA =3D 8.368 dB, POWER IN =3D 7.086 d= Bm, SCALE =3D 511.178=20 SWPVAL 3 ITER =3D1, MAX GAIN =3D 1.648 dB, DELTA =3D 254.644mdB, POWER IN =3D-12.093= dBm, SCALE =3D 6.175=20 ITER =3D2, MAX GAIN =3D 1.878 dB, DELTA =3D 485.021mdB, POWER IN =3D-9.242 = dBm, SCALE =3D 11.906=20 . . . ITER =3D46, MAX GAIN =3D 9.626 dB, DELTA =3D 8.233 dB, POWER IN =3D 6.886 d= Bm, SCALE =3D 488.194=20

The last section of the file shows the specified gain compression optimi= zation results. If the XDB block is set up to calculate compression f= rom linear gain then the linear gain for each sweep point will be displayed= on the SWPVAL line. Similarly, If the XDB block is setup to calculat= e gain compression from maximum gain then the maximum gain for each sweep p= oint will be displayed on the SWPVAL line. The DELTA value on each IT= ER line shows the difference between the maximum gain or linear gain for th= e current input power (i.e. the amount of compression). As with the m= aximum gain optimization results above the final gain, amount of compressio= n and input are shown on the last ITER line of each sweep point.

=20

FIND 1 dB GAIN COMPRESSION SWPVAL 1, MAX GAIN =3D 9.031 dB, MINIMUM SCALE =3D 532.436 , INITIAL SCALE = =3D 1.198k ITER =3D 1, GAIN =3D 6.496 dB, DELTA =3D 2.535 dB, POWER IN =3D 10.145 dBm,= SCALE =3D 1.034k ITER =3D 2, GAIN =3D 7.146 dB, DELTA =3D 1.886 dB, POWER IN =3D 9.634 dBm, = SCALE =3D 919.261=20 ITER =3D 3, GAIN =3D 8.091 dB, DELTA =3D 940.480mdB, POWER IN =3D 8.983 dBm= , SCALE =3D 791.282=20 ITER =3D 4, GAIN =3D 8.158 dB, DELTA =3D 873.343mdB, POWER IN =3D 8.938 dBm= , SCALE =3D 783.114=20 ITER =3D 5, GAIN =3D 8.031 dB, DELTA =3D 1.000 dB, POWER IN =3D 9.023 dBm, = SCALE =3D 798.634=20 SWPVAL 2, MAX GAIN =3D 9.311 dB, MINIMUM SCALE =3D 511.178 , INITIAL SCALE = =3D 798.634=20 ITER =3D 1, GAIN =3D 8.274 dB, DELTA =3D 1.037 dB, POWER IN =3D 8.946 dBm, = SCALE =3D 784.515=20 ITER =3D 2, GAIN =3D 8.311 dB, DELTA =3D 1.000 dB, POWER IN =3D 8.922 dBm, = SCALE =3D 780.160=20 SWPVAL 3, MAX GAIN =3D 9.626 dB, MINIMUM SCALE =3D 488.194 , INITIAL SCALE = =3D 780.160=20 ITER =3D 1, GAIN =3D 8.567 dB, DELTA =3D 1.059 dB, POWER IN =3D 8.822 dBm, = SCALE =3D 762.452=20 ITER =3D 2, GAIN =3D 8.626 dB, DELTA =3D 1.000 dB, POWER IN =3D 8.785 dBm, = SCALE =3D 755.884=20

If the XDB results are unrealistic the most likely cause is that the inp= ut power scaling is limited. This is easy to see in the simulation ou= tput file as the optimizer will get "stuck" trying to raise the scale value= higher than allowed by the XDB block MAX parameter value. In the exa= mple below MAX=3D500 and, as can be seen in the data, the max gain search "= gives up" because of the scale limit.

=20

FIND MAX GAIN SWPVAL 1 ITER =3D1, MAX GAIN =3D 728.268mdB, DELTA =3D 256.258mdB, POWER IN =3D-12.2= 77 dBm, SCALE =3D 5.919=20 ITER =3D2, MAX GAIN =3D 933.092mdB, DELTA =3D 461.082mdB, POWER IN =3D-9.66= 7 dBm, SCALE =3D 10.798=20 . . . ITER =3D47, MAX GAIN =3D 8.867 dB, DELTA =3D 8.395 dB, POWER IN =3D 6.990 d= Bm, SCALE =3D 499.999=20 ITER =3D48, MAX GAIN =3D 8.867 dB, DELTA =3D 8.395 dB, POWER IN =3D 6.990 d= Bm, SCALE =3D 499.999=20 ITER =3D49, MAX GAIN =3D 8.867 dB, DELTA =3D 8.395 dB, POWER IN =3D 6.990 d= Bm, SCALE =3D 499.999=20 SWPVAL 2=20

If the XDB simulation gives warnings about optimization terminated due t= o maximum number of cycles then it is important to look at the gain compres= sion optimization section of the output file and see if the maximum number = of cycles has been reached because the XDB block MAX parameter is limiting = the input power scaling or if the optimizer simply needs more iterations to= converge (as shown below). The maximum number of iterations is contr= olled by the XDB block MAX_ITER parameter.

=20

SWPVAL 1, MAX GAIN =3D 9.031 dB, MINIMUM SCALE =3D 532.436 , INITIAL S= CALE =3D 1.198k ITER =3D 1, GAIN =3D 6.496 dB, DELTA =3D 2.535 dB, POWER IN =3D 10.145 dBm,= SCALE =3D 1.034k ITER =3D 2, GAIN =3D 7.146 dB, DELTA =3D 1.886 dB, POWER IN =3D 9.634 dBm, = SCALE =3D 919.261=20 ITER =3D 3, GAIN =3D 8.091 dB, DELTA =3D 940.462mdB, POWER IN =3D 8.983 dBm= , SCALE =3D 791.280=20 ITER =3D 4, GAIN =3D 8.158 dB, DELTA =3D 873.301mdB, POWER IN =3D 8.938 dBm= , SCALE =3D 783.109=20 APLAC 9.10 WARNING: MinMax optimization terminated due to=20 maximum number of cycles (OPT_CYCLES) at sweep point 1 (Freq=3D2.2 GHz)=20

Please contact technical support at `awr.support@ni.com.`