These files provide simulation outputs and simulation code for a novel interferometer design described in 
'Absolute multilateration between spheres'
Jody E Muelaner, William Wadsworth, Maria Azini, Glen Mullineux, Ben Hughes and Armin Reichold
Measurement Science and Technology
http://iopscience.iop.org/article/10.1088/1361-6501/aa5a37

All of the simulation outputs used in the paper, together with further explainations are given in a single Excel workbook:
amsSimulationOutputs.

The simulation code is available in a number of Matlab Functions and Scripts. These may also require the geom3D toolbox to be installed. The files contained in this dataset are described below.

amsSensitivity.m
Finds output singals (
Uses amsSim.m to find the mean error in optical path distance, the total power and the range in optical path distances at the detector for each input parameter set.

amsAlignTolRuns.m
Finds interferometer alignment tolerances for an array of parameter sets of detector radius and beam splitter position. Uses amsAlignTol.m to find the alignment tolerance for each interferometer design.

amsAlignTol.m
Finds interferometer alignment tolerance. It uses amsSim.m to simulate the signals for each position in the alignment

amsAlign.m
Simulates the automated alignment of the interferometer. It uses amsSim.m to simulate the signals for each position in the alignment

amsSim.m
Performs numerical integration over beam area to determine the mean error in optical path distance, the total power and the range in optical path distances for rays reaching the detector. Uses amsRay.m to simulate individual rays. First performs a search to find the portion of the beam reaching the edges of the detector. This search requires the following objective function files: objFunC.m objFunD.m and objFunF.m Then performs the integration over these limits.

objFunC.m objFunD.m and objFunF.m
Simulates the path of a ray to point C, D or F respectively and returns the distance from the specified limits.

amsRay.m
Function simulates the path of a single ray within the interferometer
It uses ReflectVector.m and rodrigues_rot.m

ReflectVector.m
Reflects vector about surface normal

rodrigues_rot.m
Rotates 3D vector

amsNetwork2D.m
Simulates propagation of uncertainty in simple 2D determinate truss, does not simulate the actual interferometer but just uses a random and a scale depent uncertainty value for each scale bar.
