Fitting of Stark Data in Matlab
To fit the stark data the data files should have an extension of “.m” and both the 90 and 55° files should be in one folder. The program will write output files to the same folder that holds the data files.
Overview
There are three main programs to manipulate the Stark data:
· Stark: the general analysis file
· Stark_replacebkg: A file to replace the reference (or background) data with data from another file. Only done when the backgroup used to collect the data is somehow no good.
· Stark_fft: Program to get cell thickness from interfearance fringes of the absorption spectra. Usually used with a file from the HP8453 or the FTIR spectrometer on empty cell.
Stark:
This program is run under MATLAB with the command line Stark. You should “clear all” data in MATLAB before starting it the first time. The program will begin by asking you to choose a 90° data file and them a 55° data file and will plot and show you the data. It will then ask you to truncate the data to the range you want to analysis, Fig 1. In most cases it is best to truncate to a single absorption peak or as close as you can get to a single absorption peak.
You should look at both absorption spectra and make sure they look similar. The hardest part is to get good absorption spectra. After choosing the range for the data the program will compare the two absorption spectra. This is shown in Fig 3. The two absorption spectra should be related by the change in pathlength do to the angles of each sample. Normally the first is at 90° and so has the pathlength of the cell but the second is at 55° (from the surface or 36° from the normal) and will have a longer path length. The ratio of the two spectra should be consistent with the angles. The program calculates a number of items to help you understand how good the spectra are., Figure 2 and will ask questions that allow you to change various parameters. In all cases the item in “[ ]” in the question is the default answer.
First it uses the angles you have assigned to the spectra to calculate the expect ration between the two spectra. This is shown in the column headed by Ratio (55/90). The arrows show that the angels and refractive index of the glass have been used to calculate this number. The next row in the table shows the experimentally observed ratio obtained by comparing the two spectra using only the points with greater the 30% of the peak maxima. It uses this ratio to then calculate the angle that would give this ratio. There are two angles shown because there is the angle of the cell relative to the light path and the angle of the light inside the cell due to the refraction of the light by the medium. The angle to look at is that one not in parenthesis. The next line is the ratio and intercept it gets when it does a linear least squares fit of one spectra to another. It then has both a ratio and an offset that are shown. If things are perfect the offset should be zero or very small. It then uses that ratio to again calculate the angle of the second sample. Almost never are the observed and calculated ratios the same. Hopefully they should be with in 0.01 of each other or better. If the ratio is less then 1.0 you cannot use the data. The next line is the refractive index for the solution that you would need to use to have the original angles and the observed ratio.
The program shows how well the spectra overlap in Figure window 4 show above as Fig 3. The program then asks what angle you want to use. It then also ask the applied voltage, cell thickness and sample concentration. After this it will printout some info and give you the main menu below, Figure 4.
The items in the main menu can be choosen by number or the capital letter in each item. The first 6 items let you change the values you are using for the item listed. You may have to go through the ratio dialogue again after changing the item selected. The other items are discussed below:
7) Smoothing and fitting lets you change how the smoothing is done or if you want to use Gaussians, Lorenzians, of Voights to fit the absorption spectra and them to fit the Stark spectra. When you select this item you get the following dialogue, Fig 5. First it asks if you want the experimental absorption spectra or to use Gaussians etc for the absorptionspectr.
If you choose experimental Abs it then asks for the type of smoothing and the order and frequency cutoff. For the Frequency cutoff small numbers are more smoothing and bigger less. I suggest that you don’t change the order unless you have tried everything else. After then it will ask if you want to smooth to the ends of the data, or other choices. Best to smooth to the ends of the spectra. If the spectra limits are at the end of the data you will likely have some artifacts at the ends since the smoothing is not quite correct at the ends
Then you will be asked if you want to allow negative fits of the derivatives to the Stark data. Negative values are unrealistic since in theory the coefficients of the various derivatives of the abs spectra are squares of real numbers. Normally we don’t allow negative numbers.
Allow offset in Abs lets you fit the derivatives of the absorbance spectra to the Stark spectra and allow there to be a constant offset term in the fitting. Usually better to shift the Stark spectra zero (see below).
Then you are asked if you want to allow offset in the fit. This should only be significant if the Abs spectra does not have a good baseline.
And finally you are back at the main menu.
8) Rflgs, nonegfit; absave are flags that the program uses to control some items. Choosing this you go to another menu that has the following
Offset flag: it allows offset to the stark spectra not normally needed;
Phase angle flag: Gives details about the phase angle used for the lockin
Backgroup spec
Nonengative fits: see above.
Abs ave spectra used: here you can choose to average the Abs spectra and use the averaged values, to use only the 90° or 55° Abs spectra. Sometimes when the ratio of the two spectra is not correct and it looks like one on the spectra is good and the other is not you can use the good one for both and just scale it.
Units flag; Lets you choose if the units of the output are in eÅ and SI units or in Debye and cgs units.
9) reset Params resets some of the Parameters. Often better to quit the Stark program, clear all and start again
10) Open file: open a new set of Stark data files
11) Quit
12) Continue and fit the data
13) absBaseline: change the Abs baseline that you used for the Abs spectra
14) invErt stark: Inverts the Stark spectra, equivalent to changing the phase angle by 180°.
15) starkbaseLine: Lets you set the zero line on the Stark spectra. Sometimes the Stark is offset and you can not fit it so this allows you to fix that.
16) Fix bad pts: Allows you to “delete” bad points in either the Abs or Stark spectra. It can not really delete the points so in just interpolates the spectra to replace the bad points. Useful if this is one or two points way out of line at will distort the fitting.
Hints:
If you want to see the flags used in the program you can look at st_init. This intializes all the flags when the program starts.
If you quit the Stark program (no Matlab) it will allow you to restart exactly where you let off by just starting the Stark program again.
How to use only a few components for Stark fit
Stark_replacebkg
This program will replace the background of the data. It will read a background either from a background only data file or from a full Stark data file and use that to write a new Stark file that has the data from the original Stark file and the new background file.
Stark_fft
This is program is used to read csv data from the HP8453 spectrometer or from the Nicolet FTIR spectrometer. It it used with a empty Stark cell to measure the cell spacing. The program only has one use and is envoked by the Matlab command “Stark_fft” . The program will ask you to find the data file and then it will do a FFT of the data and plot the power spectra that should show you the d´n (cell spacing times refactive index) of the cell. Since you can take n=1 you get d. It asks for an approximate value of d but only to make the plot more resonable.
1