Avren
Mechanical
- Feb 22, 2012
- 2
Hey all, I'm trying to create a method of analysis of the optical properties of layered materials, but I've encountered some difficulty. We are using the Fresnel equation for Reflectance to calculate the n value, k value, and thickness (d) of a certain material on a substrate. The formula is thus:
a = n0 - (n1 - ik1)
b = n0 + (n1 - ik1)
c = (n1 - ik1) - (n2 - ik2)
d = (n1 - ik1) + (n2 - ik2)
f = (2(pi)/y)*(n1 - ik1)*(d1)
R = [(a/b) + (c/d)*e^-2i(f)]/[1 + (a/b)*(c/d)*e^-2i(f)]
In this formula, the subscript (0) refers to air, (1) refers to the material being analyzed, and (2) is the substrate, silicon. We can disregard any polarization in the equation, because we are using light that is normal to the surface.
is wavelength in nanometers, and (i) is imaginary. (e) is 2.181...
The goal of this analysis is to use measured values of reflectance to calculate n1, k1, and d1 simultaneously. To generate a system of equations for solution, we assume the values of n1, k1, and d1 are very similar between different wavelengths, and let all other values (which are known) also vary with wavelength. After tabulating the data for 850 wavelengths, I set up a Matlab program thus:
--Import the data.
--Assert that data fits specific parameters
Define relevant terms.
--Create a loop that analyzes the data 3 rows at a time (to create the system of equations).
--Call a function file and apply loop to input argument.
--fsolve system of equations.
--End loop.
--Output results for n, k, and d in a new file.
The function file includes the above equation for reflectance, and creates equations with relevant data for the loop.
The problem I am having with this analysis is the resulting data. None of the values of n, k, or d are appropriate. As a test, we used materials in which all valued were known, including n1, k1, and d1. My big question right now is this: Is there a better way to feed Matlab this data? Did we make a mistake somewhere? Would you create a different method?
I appreciate all of your help in this matter, I've been working on the problem for a few weeks now with no improved results. I am attaching the relevant file, which references both the program and the function file.
a = n0 - (n1 - ik1)
b = n0 + (n1 - ik1)
c = (n1 - ik1) - (n2 - ik2)
d = (n1 - ik1) + (n2 - ik2)
f = (2(pi)/y)*(n1 - ik1)*(d1)
R = [(a/b) + (c/d)*e^-2i(f)]/[1 + (a/b)*(c/d)*e^-2i(f)]
In this formula, the subscript (0) refers to air, (1) refers to the material being analyzed, and (2) is the substrate, silicon. We can disregard any polarization in the equation, because we are using light that is normal to the surface.
The goal of this analysis is to use measured values of reflectance to calculate n1, k1, and d1 simultaneously. To generate a system of equations for solution, we assume the values of n1, k1, and d1 are very similar between different wavelengths, and let all other values (which are known) also vary with wavelength. After tabulating the data for 850 wavelengths, I set up a Matlab program thus:
--Import the data.
--Assert that data fits specific parameters
Define relevant terms.
--Create a loop that analyzes the data 3 rows at a time (to create the system of equations).
--Call a function file and apply loop to input argument.
--fsolve system of equations.
--End loop.
--Output results for n, k, and d in a new file.
The function file includes the above equation for reflectance, and creates equations with relevant data for the loop.
The problem I am having with this analysis is the resulting data. None of the values of n, k, or d are appropriate. As a test, we used materials in which all valued were known, including n1, k1, and d1. My big question right now is this: Is there a better way to feed Matlab this data? Did we make a mistake somewhere? Would you create a different method?
I appreciate all of your help in this matter, I've been working on the problem for a few weeks now with no improved results. I am attaching the relevant file, which references both the program and the function file.