Nulling interferometry

How to optimally design a nulling interferometer's beam combiner ?

Home


Show content only (no menu, header)


Optimal beam combiner design for nulling interferometers

Software module used for this work is interfnull_geom (C code, written as a module of Cfits).
All source code is in Cfits module interfull_geom which you can download here . The source code is in C, and is quite short (< 1200 lines).

A numerical code is used to test and quantify the predictions made in section 4.4., and to evaluate what is the optimal nulling interferometer design (as a function of maximum baseline and number of subapertures) and sensitivity in a range of observing conditions (stellar angular size, contrast, angular separation). A function which builds the optimal interferometer instrument (matrix U) for a given interferometer geometry was programmed using the algebra described in section 4.2.
In Cfits, this function is INTERFNULLGEOM_TestPt. Before running it, NBaper must be set to the number of subapertures, and the array of Vpt must be intialized by:
int INTERFNULLGEOM_InitTestPt(double SSize);
Then, the array geometry is intialized by:
int INTERFNULLGEOM_InitGeometry();
This function writes the array geometry in global variables:
double *Xaper; /* X coordinate of subapertures (unit = B/2) */
double *Yaper; /* Y coordinate of subapertures (unit = B/2) */
double *Aaper; /* subaperture radius (= Amplitude) */
The computation of the optimal matrix U is then done by:
 
int INTERFNULLGEOM_TestPt(double Contrast);
Finally, memory allocated in INTERFNULLGEOM_InitTestPt is freed by:
int INTERFNULLGEOM_FreeTestPt();
The INTERFNULLGEOM_InitGeometry() + INTERFNULLGEOM_TestPt(double Contrast) operations can be looped to test several interferometer geometries without having to rerun INTERFNULLGEOM_InitTestPt. The code described above constructs, for a given interferometer geometry (number of subapertures, their positions and sizes), the optimal interferometric combinations. For each interferometer architecture, three metrics for the interferometer's sensitivity are computed for a given source/planet contrast:
  • (1) Quadratic average of the SNRfactor within a 2 l/B radius. This quantity is a single number.
  • (2) For each angular separation, peak SNRfactor (measured at the position angle where SNRfactor is maximum). This quantity is a function of angular separation.
  • (3) For each angular separation, quadratic average of the SNRfactor (along a circle of constant angular separation).
The routine INTERFNULLGEOM_run() varies the interferometer geometry and keeps a record of the best SNRfactor encountered and the corresponding interferometer geometry. The output is stored in text files:
  • File Aper[NBaper]_SSize[SSizeindex]_C[logContrast]_AVERAGE.txt: best SNRfactor quadratically averaged over 2 l/B radius and corresponding inteferometer geometry
  • File Aper[NBaper]_SSize[SSizeindex]_C[logContrast]_ave.txt: best azimutally quadratically averaged SNRfactor and corresponding interferometer geometry. Each line of the file corresponds to an angular separation.
  • File Aper[NBaper]_SSize[SSizeindex]_C[logContrast].txt: best peak SNRfactor and corresponding interferometer geometry. Each line of the file corresponds to an angular separation.
The stellar radius is pow(10,-0.1*SSizeindex) in λ/B unit. The files listed above are computed in 4 interferometer geometry famillies, and placed in the corresponding directory:
  • full 2D geometry, equal aperture diameters -> RESULTS_FIXEDDIAM
  • full 2D, free aperture diameters -> RESULTS_DIFFDIAM
  • linear, equal aperture diameters -> RESULTS_1DFIXEDDIAM
  • linear, free aperture diameters -> RESULTS_1DDIFFDIAM
  • for circle, equal aperture diameters -> RESULTS_CIFIXEDDIAM
  • circle, free aperture diameters -> RESULTS_CIDIFFDIAM

How to view / display results ?

All results are contained in the ASCII files described above. To visualize a solution (display results in human-readable format + produce a jpeg figure of the array), the script plotaper.gnu can be used. For example, to view the solution for a 5-aperture nulling interferometer with a full 2D geometry and equal aperture diameters working at 1e-8 contrast and a 0.7 λ/D separation around a star of stellar radius equal to 0.01 the diffraction limit:
cp ./RESULTS_FIXEDDIAM/Aper5_SSize20_C8_ave.txt f1.txt
./plotgeom f1.txt 7
Note that the script is called with 7 as an argument for 0.7 λ/D. The output on the screen should be :
5 Apertures
Stellar size = 0.01
Contrast = 1e+08
SNR factor = 0.411727
Separation = 0.7
Aperture 0 : (-0.0270397 -0.999634) 0.447214
Aperture 1 : (0.00604292 0.999982) 0.447214
Aperture 2 : (-0.999386 0.0350467) 0.447214
Aperture 3 : (0.00626631 0.00253198) 0.447214
Aperture 4 : (0.999788 -0.0205409) 0.447214
and the file apergeom.jpg contains a picture of the array geometry.
NOTE: for the _AVERAGE.txt files, put 0 as the second argument to the command plotgeom (this is required since the file has only one line - plotgoem will then read the first line of the file).
Page content last updated: 27/06/2023 06:35:52 HST
html file generated 27/06/2023 06:34:39 HST