| 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

Cvičení 3 - kombinace více druhů měření

V tomto cvičení si ukážeme jak kombinovat různé druhy měření (konkrétně elipsometrii a odrazivost). Bude prezentován unkátní algoritmus umožňující automatické vážení jednotlivých experimentálních dat, tak aby měla optimální příspěvek do sumy čtverců.
  1. Vytvořte nový adresář a stáhněte si vstupní datové soubory pro odrazivost a elispometrii (vzorek X2551).
  2. Pro modelfile vyjdeme ze cvičení 2, pouze je nutné ho rozšířit o definici elipsometrického měření. Stále budeme nicméně používat aproximaci polonekonečného substrátu. Elipsometrická data jsou vyjádřena jako sdružené elipsometrické parametry \(I_{\rm s}\), \(I_{\rm c}\) a \(I_{\rm n}\) tomu odpovídá funkce IsIcIn která vrací odpovídající tři členy z Müllerovy matice měření. Stáhnout modelfile
  3. S tímto modelfilem načtěte obě měření a pomocí postupu popsaném v předchozím návodě nafitujte data. V grapheru prohlédněte výsledek.
  4. Spusťte si textový terminál a v něm textové rozhraní newAD. Napište příkaz informations (možné zkrátit až na tři písmena inf), který nám poskytne mimo jiné informace o průběhu posledního fitu.

    Je vidět, že program našel výsledek v průběhu 17 iterací.
  5. Při kombinování dat z různých výpočtů používá newAD2 pro výpočet sumy čtverců následující vzorec $$S = \sum_m S^m f^m\text{,}$$ kde \(S^m\) je parciální suma čtverců pro jednotlivá měření (v tomto případě elipsometrie a odrazivost ve viditelné a blízké ultrafialové oblasti) a \(f^m\) je váhový faktor. Parciální sumy čtverců se spočítají jako $$S^m = \sum_{i=1}^{N^m} (X_i^\mathrm{exp} - X_i^\mathrm{th})^2 w_i^m \text{,}$$ kde \(X_i^\mathrm{exp}\) a \(X^\mathrm{th}\) jsou měřené a teoretické hodnoty, \(w_i^m\) je inverzní hodnota čtverce odhadované chyby měřených veličin a \(N^m\) je zde počet získaných experimentálních hodnot pro dané měření. Potom platí $$\chi = \sqrt \frac{S}{\sum_m N^m f^m} \mathrm{,}$$ kde \(\chi\) je parametr určující celkovou shodu fitu s experimentálními daty, jedná se vlastně o normovanou sumu čtverců. Podobně můžeme vyjádřit \(\chi_m\) pro jednotlivé měření jako $$\chi_m = \sqrt \frac{S^m}{f^m N^m} \mathrm{.}$$ Pro minimalizaci sumy čtverců je používán Levenberg-Marquardtův algoritmus. newAD2 implementuje dva způsoby fitování kombinující více druhů dat zároveň. První model uvažuje pro každý typ měření pevný faktor \(f^m\) (ve výchozím stavu 1). Toto nicméně není výhodné, pokud máme například dva typy měření s velmi rozdílným počtem bodů (třeba daného rozdílným krokem při měření), kdy vliv měření měřeného s větším krokem bude menší. Druhý způsob fitování mění faktory dynamicky v průběhu fitu a volí je tak aby parciální sumy čtverců pro jednotlivá měření \(S^m\) byly konstantní. Tímto je zaručeno, že všem typům měření bude přikládána předem cílená váha v celkové sumě. V textovém režimu je možné zjistit různá nastavení pomocí příkazu settings. Ve výchozím stavu je aktivován druhý způsob s dynamickými faktory (S equalization: on). newAD bohužel ve stávajícím stavu neimplementuje možnost přepínat mezi módy v grafickém rozhraní. Pro vypnutí je potřeba v textovém režimu použít příkaz let Sequalization = off (lze zkracovat, pokud to není v konfliku s jinými idetifikátory).

  6. Příkazem info je možné zobrazit aktuální hodnoty parciálních sum čtverců faktorů \(S^m\), \(f^m\) a \(\chi_m\) (všechny tyto veličiny se také zapisují do výstupních souborů v outputu). Ručně je možné faktory \(f^m\) měnit pomocí příkazu factor což má vliv na výsledek společného fitu.

    Poznamenejme, že mezi nastavením faktorů a příkazem info byl spuštěn v grafickém rozhraní příkaz Fit. Stejně tak bychom v textovém rozhraní mohli napsat příkaz fit, respektive v interaktivním módu příkaz .fit, který nám spustí fitování na pozadí a v průběhu iterací nám umožní s programem komunikovat.
  7. Nastavte rozdílné faktory a podívejte se, jak moc velký vliv to hraje na výsledné hodnoty parametrů. Přepněte si zpět mód fitování do dynamického vážení faktorů jednotlivých experimentálních dat pomocí příkazu let Sequalization = on. Poté si vyzkoušejte vliv cílových hodnot parciálních sum, které můžete změnit pomocí příkazu target, na výsledek fitu.
  8. Celý postup si můžete zopakovat také pro další SiO2 vrstvu. Odrazivost a elipsometrie (vzorek A51).