 Complex number calculation

## questex13.in : Complex number calculation

Requires: QUEST Minimum Versions: QUEST 2.0.2.R

This example demonstrates the use of JavaScript analysis of QUEST to perform calculations using complex numbers.

Introduction:

It is sometimes interesting to compare simulation and experimental results on quantities that are not extracted by default with QUEST. It could be a quantity like Qdiff defined as a function of S-param:

Sd_dut=0.5*(S11+S22-S12-S21)
Zd_in=100*(1+Sd_dut)/(1-Sd_dut)
Ldiff = Im(Zd_in)*1/w
Qdiff = I(Zd_in)/R(Zd_in)

It could also be interesting to transform the measured S-param to the measured Y-param also for comparison purpose in QUEST.

In all cases calculation with complex numbers are needed.

Running the Example

To load and run this example, select the Load example button in DeckBuild. This will copy the input file, GDSII file and results to your current working directory. Select the run button to execute the example.

Results analysis

This example illustrates the complex number calculation syntax used in the JavaScript analysis of QUEST:

1. Creation of scalar S-param table (CSV) from simulation (questex13_S_simu.js). Note that this file format (CSV) can also be used with measurement data.

2. From the previous S-param table, calculation of Y11-param (questex13_Y11.js).

3. General transformation of S to Y-param can be done by using the Macro function convert_S_to_Y (quest13_Y.js).

2 and 3 can typically be used to convert measured S-Param to Y-param. Y11 real and imaginary are of course identical if we compare them from the 3 different calculations described above.

4. Calculation of L and Q from Y-param calculated from 2 above. (questex13_L_Q.js)

Note that:

A. Q can be directly compared to Q calculted in QUEST.

B. This is not the case for L since here L is calculated from Y11 and not from Y21 as it is done by default in QUEST. It thus shows that quantities that are not calculated by default in QUEST can easily be created using QUEST JavaScript analysis.

TO RUN all the scripts, use the RUNJAVASCRIPT command or just run

quest -v -b javascript_name.js