| změnit na češtinu
Please switch off AdBlock for this webside to display it correctly (there are no ads here).

newAD2 - optical characterization software

Tutorial 3 - combining multiple types of measurement

In this tutorial we will show how to combine different types of measurement (specifically ellipsometry and reflectance). We will present a unique algorithm that allows automatic weighting of the individual sets of experimental data, so that each has an optimal contribution to the sum of squares.
  1. Create a new directory and download the input data files for reflectance and ellipsometry (sample X2551).
  2. For the modelfile we will start from tutorial 2; it only needs to be extended with the definition of the ellipsometric measurement. We will, however, still use the semi-infinite substrate approximation. The ellipsometric data are expressed as the combined ellipsometric parameters \(I_{\rm s}\), \(I_{\rm c}\) and \(I_{\rm n}\); this corresponds to the function IsIcIn, which returns the corresponding three terms of the measurement's Mueller matrix. Download modelfile
  3. With this modelfile, load both measurements and fit the data using the procedure described in the previous tutorial. Check the result in the Grapher.
  4. Open a text terminal and, within it, the newAD2 text interface. Type the command informations (it can be abbreviated to as few as three letters, inf), which, among other things, gives us information about the course of the last fit.

    You can see that the program found the result over the course of 17 iterations.
  5. When combining data from different measurements, newAD2 uses the following formula to calculate the sum of squares: $$S = \sum_m S^m f^m\text{,}$$ where \(S^m\) is the partial sum of squares for the individual measurements (in this case ellipsometry and reflectance in the visible and near-ultraviolet region) and \(f^m\) is a weighting factor. The partial sums of squares are calculated as $$S^m = \sum_{i=1}^{N^m} (X_i^\mathrm{exp} - X_i^\mathrm{th})^2 w_i^m \text{,}$$ where \(X_i^\mathrm{exp}\) and \(X_i^\mathrm{th}\) are the measured and theoretical values, \(w_i^m\) is the inverse of the squared estimated error of the measured quantities, and \(N^m\) is the number of experimental data points obtained for the given measurement. Then $$\chi = \sqrt \frac{S}{\sum_m N^m f^m} \mathrm{,}$$ where \(\chi\) is a parameter expressing the overall agreement of the fit with the experimental data — essentially a normalized sum of squares. Similarly, we can express \(\chi_m\) for an individual measurement as $$\chi_m = \sqrt \frac{S^m}{f^m N^m} \mathrm{.}$$ The Levenberg-Marquardt algorithm is used to minimize the sum of squares. newAD2 implements two ways of fitting that combine several types of data at once. The first mode uses a fixed factor \(f^m\) for each measurement type (1 by default). This is not advantageous, however, if we have, for example, two measurement types with very different numbers of points (e.g. due to a different measurement step), where the contribution of the measurement with the larger step would be smaller. The second fitting mode changes the factors dynamically during the fit and chooses them so that the partial sums of squares for the individual measurements \(S^m\) remain constant. This ensures that every measurement type is given the intended weight in the overall sum. In text mode, the various settings can be inspected using the settings command. By default, the second mode with dynamic factors is active (S equalization: on). Unfortunately, newAD2 currently does not implement an option to switch between modes in the graphical interface. To turn it off, use the command let Sequalization = off in text mode (it can be abbreviated as long as this does not conflict with other identifiers).

  6. The current values of the partial sums of squares \(S^m\), the factors \(f^m\), and the values \(\chi_m\) can be displayed with the info command (all these quantities are also written to the output files). The factors \(f^m\) can also be changed manually using the factor command, which affects the result of the combined fit.

    Note that between setting the factors and running the info command, the Fit command was run in the graphical interface. Likewise, in the text interface we could type the command fit, or in interactive mode the command .fit, which starts fitting in the background and lets us communicate with the program while it iterates.
  7. Set different factors and see how much influence this has on the resulting parameter values. Switch the fitting mode back to dynamic weighting of the factors of the individual experimental data sets using the command let Sequalization = on. Then try out the effect of the target values of the partial sums, which you can change using the target command, on the fit result.
  8. You can repeat the whole procedure for another SiO2 layer. Reflectance and ellipsometry (sample A51).