Issue 
A&A
Volume 684, April 2024



Article Number  A184  
Number of page(s)  16  
Section  Astronomical instrumentation  
DOI  https://doi.org/10.1051/00046361/202348771  
Published online  23 April 2024 
Upgrading the GRAVITY fringe tracker for GRAVITY+
Tracking the whitelight fringe in the nonobservable optical path length statespace
^{1}
Institute of Astronomy, University of Cambridge,
Madingley Road,
Cambridge
CB3 0HA, UK
email: mcn35@cam.ac.uk
^{2}
Kavli Institute for Cosmology, University of Cambridge,
Madingley Road,
Cambridge
CB3 0HA, UK
^{3}
LESIA, Observatoire de Paris, Université PSL, CNRS, Sorbonne Université, Univ. Paris Diderot,
Sorbonne Paris Cité, 5 place Jules Janssen,
92195
Meudon, France
^{4}
European Southern Observatory,
KarlSchwarzschildStraße 2,
85748
Garching, Germany
^{5}
Max Planck Institute for extraterrestrial Physics,
Giessenbachstraße 1,
85748
Garching, Germany
^{6}
Research School of Astronomy & Astrophysics, Australian National University,
ACT 2611
Australia
^{7}
Department of Physics & Astronomy, University of Southampton,
Hampshire
SO17 1BJ
Southampton, UK
^{8}
Max Planck Institute for Astronomy,
Konigstuhl 17,
69117
Heidelberg, Germany
^{9}
Univ. Grenoble Alpes, CNRS, IPAG,
38000
Grenoble, France
^{10}
Institute of Astronomy, KU Leuven,
Celestijnenlaan 200D,
3001
Leuven, Belgium
^{11}
Laboratoire Lagrange, Observatoire de la Cote d’Azur, CNRS, Boulevard de l’Observatoire,
CS 34229,
06304
Nice, France
^{12}
Universite de Lyon, CNRS, Centre de Recherche Astrophysique de Lyon UMR 5574,
69230
SaintGenisLaval, France
^{13}
Universidade do Porto, Faculdade de Engenharia,
Rua Dr. Roberto Frias,
4200465
Porto, Portugal
^{14}
CENTRA  Centro de Astrofisica e Gravitaçâo, IST, Universidade de Lisboa,
1049001
Lisboa, Portugal
^{15}
1st Institute of Physics, University of Cologne,
Zülpicher Straße 77,
50937
Cologne, Germany
Received:
28
November
2023
Accepted:
5
February
2024
Context. The GRAVITY beamcombiner at the Very Large Telescope Interferometer has recently made important contributions to many different fields of astronomy, from observations of the Galactic centre to the study of massive stars, young stellar objects, exoplanet atmospheres, and active galactic nuclei. These achievements were only made possible by the development of several key technologies, including the development of reliable and highperformance fringe trackers. These systems compensate for disturbances ranging from atmospheric turbulence to vibrations in the optical system, enabling long exposures and ensuring the stability of interferometric measurements.
Aims. As part of the ongoing GRAVITY+ upgrade of the Very Large Telescope Interferometer infrastructure, we aim to improve the performance of the GRAVITY fringe tracker, and to enable its use by other instruments.
Methods. We modified the groupdelay controller to consistently maintain tracking in the whitelight fringe, which is characterised by a minimum group delay. Additionally, we introduced a novel approach in which fringetracking is performed in the nonobservable optical path length statespace using a covarianceweighted Kalman filter and an autoregressive model of the disturbance. We outline this new statespace representation and the formalism we used to propagate the state vector and generate the control signal. While our approach is presented specifically in the context of GRAVITY/GRAVITY+, it can easily be adapted to other instruments or interferometric facilities.
Results. We successfully demonstrate phasedelay tracking within a single fringe, with any spurious phase jumps detected and corrected in less than 100 ms. We also report a significant performance improvement, as shown by a reduction of ~30 to 40% in phase residuals, and a much better behaviour under suboptimal atmospheric conditions. Compared to what was observed in 2019, the median residuals have decreased from 150 nm to 100 nm on the Auxiliary Telescopes and from 250 nm to 150 nm on the Unit Telescopes.
Conclusions. The improved phasedelay tracking combined with whitelight fringe tracking means that from now on, the GRAVITY fringe tracker can be used by other instruments operating in different wavebands. The only limitation remains the need for an adjustment of the optical path dispersion.
Key words: instrumentation: high angular resolution / instrumentation: interferometers / techniques: interferometric
© The Authors 2024
Open Access article, published by EDP Sciences, under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
This article is published in open access under the Subscribe to Open model. Subscribe to A&A to support open access publication.
1 Introduction
By combining the light from multiple telescopes, longbaseline optical interferometry can achieve a much higher angular resolution than is possible with a singledish telescope. Even in the upcoming era of telescopes exceeding 30 m, the Very Large Telescope Interferometer (VLTI) will continue to outperform singledish observations in terms of angular resolution (for an uptodate overview, see Eisenhauer et al. 2023). This is particularly useful for many applications, as shown by the broad range of subjects to which it has been applied with groundbreaking results (GRAVITY Collaboration 2018a,b,c, GRAVITY Collaboration 2019a,b,c, GRAVITY Collaboration 2020a,b,c,d,e,2020f, 2021, 2022).
One of the challenges that arise at this high angular resolution is the need to manage disturbances, which can include atmospheric turbulence, telescope vibrations, and other noise sources, and which remain the primary limitations to the precision of interferometric measurements. These disturbances lead to variations in the optical path length (OPL) of light travelling through each telescope to the beam combiner, resulting in an unstable interference pattern (unstable fringes).
To obtain stable interferometric measurements, these fringes need to be controlled in real time, and any OPL fluctuations need to be compensated for. In modern instruments, this is the role of a specific subsystem: the fringe tracker. The crucial role of fringetracking in optical interferometry has justified the extensive development efforts made over the past decades (Shao et al. 1988; Sorrente et al. 2001; Delplancke et al. 2006; Le Bouquin et al. 2008; Cassaing et al. 2008; Houairi et al. 2008; Colavita et al. 2010; Lozi et al. 2011; Menu et al. 2012; Choquet et al. 2014; Lacour et al. 2019). Various techniques have been proposed, based either on hardware or software solutions, but they all share a common objective: to measure and stabilise the fringes, thereby maximising the signaltonoise ratio (S/N) of interferometric measurements.
For the GRAVITY instrument, the fringetracker was initially designed to perform control in the sixdimensional optical path delay (OPD) statespace, where measurements are available. The algorithm, described in Lacour et al. (2019, subsequently Paper I), was based on the use of an autoregressive (AR) model to model the disturbance in OPD space and on a Kalman filter to propagate an OPD statevector using an asymptotic approximation of the optimal gain.
Deviating from this initial concept, we hereafter introduce a novel approach in which fringetracking is performed in the fourdimensional nonobservable OPL statespace. The reduction in dimensionality alleviates the need for an asymptotic approximation of the Kalman gain, whose optimal value is now dynamically calculated at each iteration. This work is part of a general upgrade of the GRAVITY FringeTracker that was made in late 2022 and 2023, and it can be considered as a followup to Paper I.
The paper is divided as follows. Section 2 gives a general description of how measurements are made within the fringe tracker, and which quantities are observable. Section 3 describes the details of the implementation of the upgraded fringe tracker, in particular, the statespace model, and the two control loops (phase and group delay). Section 4 reports the first onsky results obtained with this upgraded fringe tracker, with an emphasis on the behaviour of the groupdelay control loop. Finally, Sect. 5 gives some prospects and avenues for future work, and Sect. 6 gives our final conclusions.
2 Observables
2.1 From pixels to fluxes
In GRAVITY, the fringetracking beam combiner, like the science combiner, is a silicaonsilicium integrated optics component that uses an ABCD beamcombining scheme. This means that for any given baseline j, k linking telescopes T_{j} to T_{k}, the beam combiner registers a set of four outputs, corresponding to four values of additional phase shifts introduced between the beams (0, π/2, π, and 3π/2), (1) (2) (3) (4)
where E is the complex amplitude of the electric field at the input of the combiner, 〈.〉 denotes the average over the integration time, and the asterisk denotes the complex conjugate.
In principle, both the coherent flux and the incoherent flux F_{j} + F_{k} = 〈E_{j}^{2}〉 + 〈E_{k}^{2}〉 can be recovered by linear combinations of these four outputs, (5) (6)
Each individual F_{j} for j ∈ [1…4] can subsequently be recovered by a second linear combination of the different baselines, (7)
In the GRAVITY fringe tracker, the 24 outputs (4 outputs for each of the six ABCD combiners) are dispersed over six wavelength channels in the K band and are recorded on a SAPHIRA detector (Finger et al. 2014). We refer to Fig. 1 in Paper I for an overview of the pixel arrangement on the detector real time display (RTD). As shown by Eqs. (1)–(7), for a given wavelength channel, the column vector (q_{i},…, q_{24})^{T} containing the 24 different intensity outputs and the column vector (F_{j}, Γ_{j,k})^{T} containing the ten incoherent and coherent flux values are related by a multiplication by a single matrix: the P2VM (pixel to visibility matrix), (8)
The incoherent and coherent fluxes are computed in real time for each of the wavelength channels, which are treated independently. Similarly, when the polarisation is split, the two polarisations are treated independently.
In practice, the ABCD combiners are not perfectly balanced, and the phase offsets can be different from their fiducial values, which means that the coefficients linking the ABCD outputs to the complex amplitudes of the electric field in Eqs. (1)–(4) can vary. Therefore, the P2VM must be calibrated, which in GRAVITY is done during daytime using an internal source. This P2VM formalism was initially introduced by Tatulli et al. (2007) for the AMBER instrument (Petrov et al. 2007). It was then adapted to ABCD combiners by Lacour et al. (2008), and more details about its implementation can be found in these papers, along with Paper I.
Fig. 1 Openloop response of the piezo control chain. This corresponds to the response of the piezo in micrometers per volt as a function of time (bottom axis) when submitted to an impulse command. Equivalently, this also gives the values of the coefficients of the fifthorder model used in Eq. (20) (top axis). Each colour represents a distinct actuator. 
2.2 From fluxes to phase/group delays and closures
After the P2VM calculation, the resulting wavelengthdependent coherent fluxes are still affected by dispersion (atmospheric dispersion, and dispersion in the fibre delay lines, FDDL), which at first order introduces a phase curvature of the form , where λ_{0} = 2.2 μm. This is corrected for by using an empirical value for D that depends on the position of the star in the sky and on the position of the FDDLs. This correction was calibrated during the first year of onsky observations.
From this dispersioncorrected coherent flux measurement, the OPD ϕ_{j,k} is calculated for baseline (j, k) using (9)
These values are concatenated to form the OPD vector Φ, using the convention Φ = (ϕ_{21}, ϕ_{31}, ϕ_{41}, ϕ_{32}, ϕ_{42}, ϕ_{43})^{T}. The closure phase over the triangle linking telescopes T_{j}, T_{k}, and T_{l} is calculated in units of length using (10)
where the incoherent flux is first averaged over 350 detector integration times (DITs, i.e., bout 385 ms at 909 Hz) to boost the S/N, the phase closure being a notoriously noisy quantity.
The group delay ψ_{j},_{k} and group closure are obtained from the coherent flux, which is first corrected for any phase offset constant in wavelength by subtracting the phase delay, and then averaged over 150 DITs (about 165 ms at 909 Hz), again to boost S/N, (11)
The group delay is then given by (12)
where Δλ is the difference between the effective wavelength of two pixel bins. From this, we also constructed another vector in OPD space: Ψ = (ψ_{21}, ψ_{31}, ψ_{41}, ψ_{32}, ψ_{42}, ψ_{43})^{T}. The closure of the group delay can be written as (13)
The last quantity of interest for the control algorithm is the uncertainty on the OPD estimate, σ_{j,k}. This uncertainty can be computed by first introducing the interferometric S/N, defined as the ratio of the modulus of the coherent flux and the square root of its variance. This variance is approximated as the half sum of the variance of the real and imaginary parts of the coherent flux, and the S/N is averaged over three DITs^{1}, (14)
The uncertainty on the phase can then be computed using a similar approach as in the appendix of Shao et al. (1988), (15)
In Eq. (14), the variance of the real and imaginary parts of the coherent flux are estimated for each frame from the background, detector, and photon noises. Using these OPD noise estimators, and under the assumption that each baseline noise is uncorrelated, we also write the covariance matrix W on Φ, (16)
The variance of Γ is estimated from the variance on the individual pixels q_{j}, multiplied by the P2VM and P2VM^{T} matrix, as described in Sect. 3.4 of Paper I. Compared to Paper I, where the were computed coherently on five DITs, the new uncertainties are now computed on individual DITs and then averaged over only three DITs. This change was motivated by the use of an adaptive gain in the new control algorithm, which strongly benefits from a better estimate of the instantaneous S/N.
3 Control loop
3.1 Three challenges of building a fringe tracker
A first challenge that needs to be solved in the implementation of a fringe tracker is the dichotomy between two distinct spaces. The fringe tracker uses a set of four piezoelectric delay lines (Pfuhl et al. 2014) to change the OPL of the four beams (one per telescope). The feedback is provided by measurements of the coherent fluxes (see Sect. 2), however, which are transformed into a set of six measurements of OPD ϕ (one per baseline) and group delay ψ. The OPL space itself is not observable, and this mismatch between the control space and the measurement space creates a paradox that needs to be solved by the system.
A second challenge arises from the need to regularly update the model that is used to represent and predict the disturbance. To do this, we chose to use a set of AR models, whose parameters are updated every few seconds via a modelfitting routine performed on a separate computer (see the hardware description in Sect. 4.1). In order to perform the model fitting, this computer needs to be fed with measurements that only represent the disturbance, excluding the additional piezo command. The control must therefore work with a state model that explicitly separates the OPL into two components: a disturbance component L that represents both atmospheric and mechanical turbulence, and the OPL introduced by the piezo actuators X. Only the total OPD, which derives from the total OPL L + X, can be observed by the fringe tracker. In order to be able to update the disturbance model, however, the two components must be kept separated.
A third challenge comes from the fact that the main phase control loop is fed by phase measurements, which are only known to a modulo 2π (or λ_{0}, in terms of OPD). Thus, this loop is blind to any potential fringe shift, and we therefore need the additional group delay loop. In Paper I, the controller consisted of two completely independent loops running in parallel, with the potential of issuing conflicting commands. The algorithm developed at the time ensured that the integrator of the two controllers would not diverge too widely, but it did not strictly constrain the absolute group delay. The consequence was a tendency of the fringe tracker to jump between fringes during a single observation. The updated architecture detailed in this work provides a much more unified approach to controlling both the group and phase delays, thereby avoiding conflicting commands, mitigating phase jumps, and maintaining tracking of the whitelight fringe.
3.2 State model
To solve these challenges, we adopted a state model in OPL space that explicitly separates the disturbance and the OPL introduced by the actuators. We used a set of two state vectors that both have the unit of length and that we denote X_{n} and L_{n}. For simplicity, these state vectors can be broken down into four independent vectors, corresponding to each telescope. For a given telescope T_{k}, the vector of the last N values of OPL introduced by the piezo actuators (X_{n,k}) and by the disturbance (L_{n,k}) can be expressed by (17) (18)
where x_{k}(t_{j}) and l_{k}(t_{j}) denote the OPL introduced by the piezo actuator and the disturbance on telescope T_{k} at time t_{j}, respectively. These vectors have a total length of 150, which matches the smoothing length of the group delay. The four telescopes can be concatenated to give our two final state vectors X_{n} and L_{n} of dimension 4 × 150 = 600, (19)
Each of the piezo control chains (which include the actuator response as well as the pure delay introduced by the processing) has a response function that we modelled as a fifth order, where the position of the piezo at time t_{n} was derived from the command sent at the five last time steps, (20)
The c coefficients can be empirically measured by sending an impulse command (in Volts) through the control chain and measuring how the response evolves with time (Fig. 1).
The command vectors U_{n,k} = [u_{k}(t_{n}),…, u_{k}(t_{n−4})] are then defined such that (21)
Again, the four telescopes can be concatenated to give U_{n} of dimension 4 × 5 = 20, (22)
With these notations, the propagation of the piezo state vector X_{n} takes the form (23)
where A_{X} is a 600 × 600 blockdiagonal matrix that just shifts the xs for each telescope, (24)
and C is also a blockdiagonal matrix, butofsize 600×20, which contains the coefficients of the piezo responses, (26)
For the disturbance state vector L_{n}, we used a model similar to what was already in use on the GRAVITY fringe tracker (see Paper I), which gave satisfactory results, and which consisted of a set of six AR models in OPD space (see Appendix A). Since the upgraded version of the fringe tracker now uses a state model in OPL rather than in OPD space, this AR model needed to be converted into OPL space. To do this, we first note that for a fourtelescope (sixbaseline) interferometer such as GRAVITY, an OPD vector Φ = (φ_{1,2}, φ_{1,3}, φ_{1,4}, φ_{2,3}, φ_{2,4}, φ_{3,4})^{T} and an OPL vector (l_{1} , l2, l3, l4)^{T} are linked by the matrix equation (28)
where M is a 6 × 4 matrix, defined as (29)
Therefore, computing an OPL vector from the knowledge of the OPD vector is underconstrained and yields multiple solutions. A solution entails using the MoorePenrose pseudoinverse of M, (30)
For reference, the value of M^{+} is (31)
This particular choice ensures that the mean value of the OPLs on each telescope is 0, which is beneficial for a fringe tracker. It helps to avoid runaway situations in which all the actuators move toward a large offset and saturate the system.
These equations can be extendedto ourOPL statespace vector L_{n} as defined in Eq. (19), and a similarly defined OPD vector Φ_{n} = (Φ_{n,1,2,}…, Φ_{n,3,4})_{T} using similar matrices in which the 1s are replaced by identity matrices of size 150, (32) (33)
With these matrices, the relations remain (34) (35)
Our AR model fitting provides a set of six matrices A_{j,k} that can be used to propagate the individual Φ_{n,j,k}. These can be combined into a blockdiagonal matrix to propagate Φ_{n} itself, (36)
Switching to OPL space, we have (37)
At this point, we can note that (38)
which means that as long as our OPL vectors L_{n+1} contain values where the average on all telescopes is 0, we can consider that ℳ·ℳ is the identity matrix. In other words, as long as (39)
Assuming temporarily that L_{n+1} fulfils the condition given by Eq. (39), we can leftmultiply Eq. (37) by ℳ^{+} to obtain (41)
A block matrix multiplication inside the brackets gives the final form of our model in OPL statespace, (42)
We can formulate two important remarks on the propagation model given by Eq. (42). Firstly, since (44)
our propagation model always guarantees that the condition given by Eq. (39) is fulfilled. Physically, this stems from the fact that our propagation model really is the conversion of an OPD model into OPL space, where we used the freedom given by the underconstrained nature of the conversion to explicitly guarantee that the average piston is always 0,through the definition of M+ in Eq. (31). Secondly, the presence of with a hat in Eq. (42) emphasises the fact that this is only a modelpropagated estimate of L. There is no hat for X in Eq. (23), since we consider our piezo model to be perfect (or at least much better than our atmospheric model).
Equation (42) is linear, and the covariance matrix on L_{n} is propagated accordingly, using an additional 600 × 600 matrix Q, which represents the process noise, (45)
The process noise Q is derived from a set of 150 × 150 matrices Q_{j,k} using a similar block construction, (46)
The matrices A_{j,k} and Q_{j,k} are recalculated every 5 s by an asynchronous machine (wgvkalm described in Sect. 4.1) based on OPD measurements. This computation makes use of the Python toolbox timeseries analysis (Seabold & Perktold 2010). A detailed explanation of its implementation is provided in Appendix A.
3.3 Phase control
Without any feedback, that is, without any additional information about the state of the system, the internal model of the fringe tracker would simply continue to indefinitely propagate the state vector L using Eq. (42) and to dispatch commands to the piezo actuators to respond to its own predictions. This behaviour would probably be acceptable over a few iterations, but given the uncertainties on the predictions of the disturbance, the internal state vector L_{n} would quickly diverge from the real values. The internal model is aware of this, as Eq. (45) shows that in this scenario, the covariance matrix would slowly inflate due to the accumulating process noise Q.
To properly track the fringes over long periods, the fringe tracker therefore needs to integrate measurements into the loop. These measurements should not be taken at face value either, however, as they are also affected by varying levels of uncertainties. Integrating noisy measurements into the loop without careful consideration will create additional noise in the system, thereby reducing its overall performance. The main task of the Kalman controller in phasedelay loop is to determine how to best balance the information from the state model propagation and from the additional measurements performed on the system. In Paper I, this was done using a fixed asymptotic Kalman gain, which could not react in real time to the quality of the model and measurements. This new version of the Kalman provides an optimal gain, calculated at each iteration to combine the two sources of information in the best possible way.
At each time step t_{n}, a set of six measurements of the phase (or OPD) are obtained on each baseline, with an estimate of their error bars. The measurement process is detailed in Sect. 2, and for the context of this section, we simply denote Φ_{n} = (φ_{j,k}(t_{n})) the column vector of size 6 containing the individual phase measurements (see Eq. (9)), and W_{n} the associated 6 × 6 diagonal covariance matrix, as defined from Eq. (15) in Eq. (16).
These measurements are related to our state vectors L_{n} and X_{n} through the measurement equations, (47)
This means that although our state vectors have a length of 600 to accommodate for the groupdelay measurements, which are averaged over 150 DITs, the OPD measurement itself only relies on the first values (at time t_{n}) for each telescope. In matrix form, this can be written as (48)
where v_{1} = (1, 0,…,0)^{T} is the first basis vector with a length of 150.
Given our assumption that the piezo statevector X_{n} is perfectly known, the difference between the actual measurement and the expected measurement is directly related to the difference between the actual state of the disturbance L_{n} and its estimate , (50)
and ignoring the modulo, it is therefore tempting to simply update the state vector according to . This would reinject all the noise from the measurement into the control loop, however, without any consideration for the respective levels of confidence of the measurement and the prediction from the model propagation.
These levels of confidence are represented by the matrices and W_{n}, which can therefore be used to calculate a Kalman gain that properly weights the model prediction and the measurement (Nowak 2019, Sect. 4.3, for a proper derivation of this gain), (51)
The update state vector and its covariance matrix are then given by (52) (53)
which indeed reduces to in the regime and also to in the regime.
The introduction of Φ_{CP} in this equation ensures a zero closurephase on the measurement error. It is crucial to understand that because the model is in OPL space, it cannot account for any nonzero closure phase. This closurephase issue was already present in the first version of the fringe tracker, and we refer to Sect. 4.2 of Paper I for a detailed explanation. We simply recall here that Φ_{CP} is constructed by setting three of the four closure phases to the appropriate baselines, ignoring the closure phase on the triangle of the lowest S/N, (54)
It is also important to note with this definition, two fundamentally different types of variations of Φ_{CP} can occur: (1) Φ_{CP} can change because of slowly varying closures phases in the measurements, in which case it simply tracks actual variations. (2) Φ_{CP} can switch between options given in Eq. (54), which occurs when the triangle of the lowest S/N changes. The second case corresponds to a change in the configuration, leading to an abrupt variation of Φ_{CP}, and it is therefore banned while the science detector is integrating. This behaviour is controlled by an internal Boolean parameter, called the mobility flag, which is “False” during science integrations.
3.4 Groupdelay control
The initial version of the fringe tracker described in Paper I was designed for an instrument performing prolonged exposures at a consistent wavelength of 2.2 μm. As long as it stayed in the coherence envelope of the fringes, the fringe tracker had the freedom to transition from one fringe to the next. This is unacceptable if the GRAVITY fringe tracker is to be used to feed a different science instrument operating at a different wavelength, as this would blur the fringes on the science detector. In an effort to make the GRAVITY fringe tracker compatible with the Lband combiner MATISSE (Lopez et al. 2022), the groupdelay controller was modified to consistently track the same fringe during a scientific exposure. This new MATISSE mode is called GRA4MAT (Woillez et al., in prep.), and is now routinely offered to the community.
For this to work, the groupdelay control loop must determine in real time which fringe is being tracked by the phasecontrol loop, and it updates the state vector L_{n} by integer multiple of λ_{0} if required, depending on which fringe it wishes to track. These changes are completely transparent to the phasecontrol loop due to the modulo λ_{0} in Eq. (50).
To implement this behaviour, we used a formalism similar to the phasedelay loop. We first introduced the 6 × 600 measurement matrix H_{ψ} to relate the group delay Ψ to the state vectors L_{n} and X_{n}, (55)
and where 1 = (1, 1, … , 1) is a row vector with a length of l50 full of 1s. This is similar to the definition of H_{ϕ}, but includes an averaging of the past 150 DITs.
We also introduced Ψ_{CΡ}, an analogue of Φ_{CΡ}, which is calculated using instead of in Eq. (54), and an additional vector Ψ_{ZeroGD}. This additional setpoint is used to select which specific fringe is set at a group delay of 0, to be tracked by the fringe tracker. Again, to avoid fringe jumps during a science integration, a mobility flag is used to freeze Ψ_{ZeroGD} during integrations on the science detector. When the mobility flag allows changes, the Ψ_{Zero GD} setpoint is estimated so that (57)
This condition is valid modulo λ_{0}, which means that Eq. (57) does not exactly determine which fringe is tracked. To lift this uncertainty, two requirements must be added:
R1: Vector Ψ_{ZeroGD} must be as small as possible.
R2: Vector Ψ_{ZeroGD} must not have a closure phase.
The first requirement is to ensure that the system tracks the whitelight fringe. The second requirement is needed because the closure phase has already been nulled by the Psi_{CP} term.
Therefore, the zero groupdelay setpoint is estimated by the realtime computer as (58)
where M was introduced in Eq. (29), and M^{†} is a pseudoinverse weighted by the covariance matrix W_{n}, that is, the matrix that solves the linear system Y = MX in the leastsquare sense, considering that W_{n} from by Eq. (16) is the covariance matrix of X. This matrix M^{†} can be calculated using (59)
The controller ensures that the group delay never deviates by more than λ_{0}/2 from this setpoint. To do this, the controller calculates at each cycle an error in the form of . It converts this groupdelay error into OPL space using M^{†} from Eq. (59). When this error exceeds λ_{0}/2 on any telescope, the controller subtracts λ_{0} to all the 150 values corresponding to this telescope in the state vector L. Similarly, when an OPL value falls below −λ/2, the elements of L corresponding to this telescope are increased by λ_{0}. These adjustments by integer multiples of λ_{0} never disturb the phase controller due to the presence of a modulo λ_{0} in Eq. 52, and because the propagation model is stationary (more details in Appendix A).
3.5 Commands to the actuators
The command for the actuators is obtained from (60)
In this equation, U_{setpoint} is used to modulate the position of the fringes in a process detailed in Paper I^{2}. This setpoint can now also be controlled externally by another machine, for example, to correct noncommon OPD, as described in Sect. 4.1.
The term U_{search} is used to search for the fringes when they are lost by one or more telescopes. This is made to ensure that the fringe tracker continues to track the fringes on the baselines where they remain visible, while searching on the others.
The term F · L_{n} cancels out the disturbance calculated by the fringe tracker. More precisely, this term is used to negate the influence of the disturbance within a given number of future DITs. This number of DITs, d, is made to be adjusted to the mean response speed of the fringe tracker. Practically, it is d = 2 at 909 Hz, and d = 1 at lower frequencies. Hence, F is calculated such that (61)
This is obtained to the best of our capabilities by taking (62)
with representing the integrated impulse response of the piezo actuator at telescope k, (63)
where the c coefficients are the same as in Eq. (20).
3.6 Summary of the new control loop
The architecture of the new control loop is illustrated in Fig. 2. In this updated architecture, the two control loops no longer run in parallel, as was the case in Paper I. To some extent, the phase loop can now be seen as the main control loop and the groupdelay control as an auxiliary loop that provides an additional update of the state parameters to ensure proper tracking of the group delay. The phase tracking is performed using a Kalman filter that no longer relies on asymptotic gain, but uses a realtime covarianceweighted combination of a model prediction (in OPL space) and a measurement update (in OPD space). The control algorithm consists of the following steps:
 1.
At iteration n, we start with an estimate of the state vector , propagated from the previous iteration. Our state vector L contains the path length at each telescope over a given number N = l50 previous iterations. This estimate, which also comes with a covariance matrix , represents our best knowledge of the state parameters. We also have a state vector X_{n} that stores the position of the piezo actuators over the last 150 iterations.
 2.
From these state vectors, we construct the total OPL at each telescope, which is simply , and then calculate the expected values for the phase and group delay ( and ) using a set of measurement matrices H_{ϕ} and Η_{ψ}, given in Eqs. (49) and (56), respectively, and which convert our OPLbased vectors into our OPDbased measurements, (64) (65)
 3.
A measurement Φ of the OPDs is performed, which comes with an estimate of its uncertainties, in the process described in Sect. 2. The difference between this measurement and the expected value encodes some information on the state of the disturbance. This information is combined with the a priori knowledge of the state vector to give an updated a posterori estimate L_{n}. This is a form of optimal data fusion that uses the Kaiman gain K_{n}, defined in Eq. (51) (66)
The use of Φ_{CP} arises from fact that the controller, which works in OPL, cannot account for a nonzero phase closure. At this step, the covariance P_{n} on L_{n} is propagated from , using Eq. (53).
 4.
The measured and expected group delays Ψ and are used to determine whether L_{n} needs to be further modified by an increment of integer multiples of λ_{0}. This is the groupdelay tracking explained in Sect. 3.4.
 5.
The vector L_{n} contains our best estimate of the disturbance and is used to generate a command U_{n+1} in the process described by Eq. (60).
 6.
The state vectors are propagated according to their respective model, (67) (68)
The covariance matrix P_{n} on L_{n} is also propagated into using (69)
After this propagation, the next iteration can start.
Fig. 2 Block diagram of the GRAVITY fringetracking controller within a single integration time, denoted n. The parameter states, illustrated in green, are central to the fringe tracker. They represent the disturbance conditions (L_{n}) and actuator positions (X_{n}). The blue segment indicates the groupdelay feedback applied to the disturbance state, the red segment denotes the phasedelay feedback on L_{n}, and the black segments represent the command send to the actuators. 
Fig. 3 Hardware architecture of the GRAVITY fringe tracker. The realtime controller operates within the wgvfft Linux workstation. Another Linux workstation, wgvkalm, is dedicated to calculating the Kaiman filter parameters based on the observed OPDs. A Motorola CPU in the lgvttp workstation integrates the piston information with tiptilt sensor data to accurately adjust the mirrors mounted on piezoelectric actuators in the tiptilt piston (TTP). Additionally, an external workstation can provide the fringe tracker with piston setpoints and a mobility flag, which influences the controller behaviour. 
4 Onsky performances
4.1 Hardware implementation
In November 2022, a substantial upgrade of the GRAVITY fringetracker hardware was carried out to increase the computing power, as outlined by Abuter et al. (2016). As a result, the computing time was markedly reduced, opening up the possibility of implementing the updated and more complicated control algorithm. This new hardware setup is depicted in Fig. 3.
The upgraded realtime hardware of the controller, termed wgvf ft, is now based on a Linux workstation. The application cycle is initiated by the arrival of detector data frames from the ESO New General detector Control (NGC) workstation, facilitated through an sFPDP communication link. This application is executed on dedicated cores, with a portion of the RAM isolated from the Linux kernel, ensuring efficient access by the reflective memory (PCIE5565PIORC) via direct memory access (DMA).
The Kalman filter parameters (A_{L}, Q, and F) are recalculated every 5 s by another Linux workstation (wgvkalm). This workstation is also fitted with a PCIE reflective memory card, which allows it to record the OPDs calculated by wgvfft through the VLTI reflective memory network (RMN) ring. This RMN ring is also used to transfer the Kalman filter parameters back to wgvfft.
An optional external machine, also connected to the RMN ring, can be used by another instrument to control the fringe tracker in real time. A workstation like this would have the possibility to send to wgvfft fringetracking setpoints (the U_{setpoint}). It can also be used to send the mobility flag introduced after Eq. (54).
The pistoncorrection values calculated by the wgvfft workstation are transmitted to another workstation named lgvttp using the RMN ring network. The lgvttp workstation operates with a Motorola CPU and is built around an mv6100 singleboard computer, incorporating a VME bus for system communication. There, they are combined with external measurements of tiptilt to form a comprehensive correction signal. This signal in analog form is then sent out to control four active mirrors mounted on piezoelectric tiptilt platforms provided by Physik Instrumente.
The commissioning of the updated hardware was conducted in late 2022 as part of the GRAVITY+ upgrade (Eisenhauer 2019; GRAVITY+ Collaboration 2022) and was promptly made available to the scientific community. We could enable the whitelight fringe tracking a few months later, allowing the GRA4MAT mode of MATISSE (Woillez et al., in prep.). Similarly, the new Kalman filter state model, introduced in June 2023, was immediately offered to the community upon commissioning.
Fig. 4 Observation of star HR 8799 using GRAVITY. The data are taken from a single DIT exposure on the spectrometer, spanning 100 s. The black curves denote the OPD, derived from the phase delay (Φ – Φ_{CP}). The blue curves illustrate observations from the group delay (Ψ – Ψ_{CP} – Ψ_{ZeroGD}). Each panel represents a different baseline. At t_{1} = 76.81 s, a noticeable fringe jump occurred on UT2. The effect of this jump across all baselines is depicted in the right panels. Impressively, the group delay identified and corrected the jump within 100 ms. The lower panel offers a magnified perspective of the baseline between UT2 and UT4, and the predictions from the controller state and are overlaid. Notably, at t_{2} = 76.9 s, all predictions shifted by 2200 nm, marking the detection of the jump. To shift the OPD by one λ, the phase delay took 3 DITs (3.3 ms), while the group delay took 150 DITs (165 ms), which is attributed to the smoothing length of the observable. 
4.2 Performance of the groupdelay control loop: Analysis of a fringe jump
On 2 July 2023, we observed the exoplanet HR 8799 e during a scientific run of the ExoGRAVITY large programme (ESO LP 1104.C0651). The atmospheric conditions were average, with a coherence time of 4 ms and a seeing of 0.8 . The planet was at a separation of 440 mas, and we observed using the offaxis dualfield mode of the fringe tracker. We used the roof mirror to split the field, so that all the flux from the star was injected in the fringe tracker fibre and all the flux of the planet in the science fibre.
Because the exoplanets are faint, these observations require extended integration times on the science channel, specifically, DITs of 100 s in this example. To optimise contrast, the fringe tracker was instructed to remain on the same fringe for the entire 100 s duration. Figure 4 shows that the fringe tracker was able to properly track the fringes on all six baselines. The residual OPD of this constant tracking is plotted in the upper left panel of Fig. 4. HR 8799 is a bright star with a magnitude of 5.24 in Κ band and is no challenging target for the fringe tracker, which easily tracks these fringes at an interferometric S/N of ~45. The power spectrum of the OPD residuals is shown in Fig. 5 and in Appendix B.
Over a 100second integration period, the phasedelay controller consistently tracked constant OPD values, maintaining a standard deviation of 150 nm in the residual OPDs. Intriguingly, the groupdelay residuals are notably higher, but they manifest at lower frequencies and vary over timescales of several seconds. The peaktopeak amplitude of these variations remains below 1000 nm. As a result, the groupdelay controller perceived no need for fringe adjustment and avoids any false triggers for a phasejump detection. Consequently, the phasedelay fringe tracker operated smoothly and successfully maintained its tracking in the same phase.
Nonetheless, sporadic events can sometimes prompt the fringe tracker to transition abruptly from tracking one fringe to the next a full wavelength, λ_{0}, apart. This phenomenon, unnoticed by the phase delay, is referred to as a fringe jump. A quintessential instance of this can be observed in Fig. 4. This fringe jump manifested itself at t_{1} = 76.81 s across all baselines related to UT2. The lower panel of the figure gives the phase delay (Φ – Φ_{CP}), represented by solid black curves. This phase delay has already accounted for the closure phase vector, as outlined in Eq. (10). The dashed black curve displays the estimation Φ derived from the state parameters. Surrounding t_{1}, the OPD fluctuates, but the Kaiman filter overlooks the phase jump, and the λ_{0} deviation in the OPD is not registered by .
This jump manifests itself in the group delay, represented by the solid blue curve in the figure. Owing to its smoothing over 150 DITs, the group delay gradually moves to a value close to −λ/2 at t_{2} = 76.9. At this point, all the UT2related OPL state parameters of the phase control loop undergo a shift by λ_{0}, induced by the groupdelay controller. This is evidenced in the figure by the abrupt λ_{0} shift of the phase and groupdelay state predictions ( and ).
This example perfectly illustrates the behaviour of the groupdelay controller and shows that it required a span of 90 ms to detect the fringe jump. This interval represents the response time of the groupdelay control loop and is dictated by the groupdelay smoothing length (the 150 DITs). This setting represents a balance between responsiveness and the potential for false positives due to noise^{3}. As illustrated in the top right panels of Fig. 4, it is challenging to predict this noise because it does not appear to be purely random. The value of 150 retained in the algorithm has a mostly empirical basis.
Fig. 5 Spectra of the residual OPD (shown in black) and the reconstructed perturbation (Η_{φ} · L, depicted in red) for two observations. The upper panels present data on HR 8799 for one baseline from the UTs, corresponding to the data shown in Fig. 4. The standard deviation of the OPD is 151 nm. The panel below shows a dataset from the ATs for HR 7672 with an OPD standard deviation of 86 nm. The cumulative spectrum for these two dataset are also shown. The data for all baselines are presented in Appendix B. 
4.3 Performance of the phasedelay control loop: OPD residuals
In Paper I, we discussed the OPD residuals observed in 2019, noting a significant dependence on the coherence time, τ_{0}. During unfavourable conditions (τ_{0} < 3 mas), the values typically exceeded 380 nm. Under average conditions (3 mas < τ_{0} < 7 mas), these values ranged around 150 nm (ATs) or 250 nm (UTs), and under optimal conditions (τ_{0} > 7 mas), the UTs observed values down to 220 nm. We hypothesised that the inability of the UTs to reach residuals below 220 nm even in the best atmospheric conditions was due to vibrations.
Over the past 4 ye, significant efforts have been made to mitigate these vibrations. Alongside the upgraded fringe tracker, these efforts have resulted in notable improvements. Figure 5 displays the spectrum of the OPD residuals for two targets, HR 8799 and HR 7672, over a single representative baseline. The description of the dataset and spectrum for all baselines is presented in Appendix B.
For the UTs, vibrations are predominant, exhibiting significant components at high frequencies, such as 20 nm vibrations at 300 Hz and 40 nm at 150 Hz. The control system strives to cancel these out, achieving partial success. However, it inadvertently reintroduces noise at other frequencies, resulting in no substantial improvement in the OPD residuals down to 50 Hz. This is evident in the cumulative spectrum, where the red and black curves exhibit similar amplitudes from 50 Hz upwards. Below 50 Hz, the fringe tracker is highly effective, cancelling even broadfrequency vibrations around 40 Hz. For the UTs, the most detrimental range is between 50 and 100 Hz, where a forest of spectral lines challenges the controller’s ability to correct them, contributing to the observed ≈150 nm of residual. Potentially, a faster response time in the control loop could further reduce residuals within this range.
On the ATs, vibrations are not the dominant factor in the residuals, which are characterised by a whitenoise pattern that aligns with the theoretically expected S/N. For HR 7672, the dataset presented in Fig. 5, the interferometric S/N is around 8, equating to a whitenoise level of 60 nm. The residuals for different baselines range between 71 and 93 nm, which means that the system OPD residuals are close to the photonand backgroundnoise limitation. In this scenario, we observed minimal vibrations that did not degrade the interferometric S/N.
This behaviour of the ATs is also substantiated statistically, as demonstrated by the dataset present in the ESO archive on datasets with a low S/N (S/N below 3). Figure 6 shows the OPD residuals for all calibrators observed from June to August 2023. To expand the dataset, additional observations within the ExoGRAVITY large programme during this period were included. The upper panel of Fig. 6 indicates that at lower fluxes for the ATs, the GRAVITY fringe tracker closely aligns with the theoretical phase error that arises from noise alone, indicating a reach towards the theoretical limit of the S/N. However, when the S/N surpasses 3 for both UTs and ATs, the performance begins to diverge from this limit, potentially due to piston noise from external factors such as the atmosphere.
In conclusion, the AT residuals at the 20%, 50%, and 80% percentiles are 95 nm, 120 nm, and 170 nm (1σ), respectively, and for the UTs, the corresponding values are 135 nm, 150 nm, and 185 nm. These values are derived from the histograms in the lower panels of Fig. 6. The dependence on the coherence time for the performance is reduced. An optimal performance can now be achieved even at a low τ_{0} of 2 ms.
Fig. 6 OPD residuals. Top panel: OPD residuals plotted against the S/N per baseline for all data collected from June to August 2023. The orange dots represent AT observations, and the blue dots denote UT observations. The dotted curve represents the theoretical limitation imposed by the measurement noise (λ/2πσ_{j,k}). The vertical dashed lines indicate the S/N observed with the UTs of a star at a given star magnitude. It should be shifted by about 2.5 magnitude for the ATs. Bottom panels: histogram of the same OPD residuals as in the upper panel for the ATs (left) and UTs (right). 
5 Future prospects
5.1 Areas of improvement
At least three key areas require further attention to enhance the capabilities of fringe tracking:
Reducing the OPD residuals at high S/N;
Enhancing the S/N for a given photon count;
Boosting the sensitivity by operating at slower speeds.
OPD residuals. The critical question is whether OPD residuals can be further reduced at high S/N. There appears to be potential for improvement on the UTs, as their performance despite notable advances still lags that of the ATs. If we ignore injectionrelated issues, the atmospheric piston impact on an 8 m telescope should in theory be lower than on a 1.8 meter telescope (Conan et al. 1995). Because the baselines in the astrometric configuration used in our AT observations of HR 7672 are very similar to the UT baselines, the fringe tracker should have achieved better results on the UTs and it should be possible to reduce the OPD residuals below 80 nm on the UTs, with an ultimate atmospheric limitation of 5 nm according to CourtneyBarrer et al. (2022). The discrepancy in performance might be attributed to instrumental vibrations, which are particularly high above 50 Hz (Fig. 5). The control loop struggle to correct for this although they seem to be properly captured by the model. Amplitude fluctuations induced by the performance of the adaptive optics (AO), with lower Strehl ratios observed on the UTs, are another major factor to take into account. A better control of the vibrations, as well as a better AO correction, will certainly help us to further decrease the OPD residuals on the UTs.
The signaltonoise ratio. Another question worthy of interest is whether the measured interferometric S/N matches the expectations given the magnitude of our targets. The observations of the bright target HR 8799 in July 2023 yielded an event rate of photons per telescope per second, suggesting a combined transmission for GRAVITY and VLTI of about 1%. The photometric S/N can be calculated as (70)
Here, the factor of 4 arises from the use of four telescopes, and γ represents the efficiency of the recombination architecture, with lower values being more desirable. At minimum, γ is inherently limited by the number of degrees of freedom in the system. Given the 16 degrees of freedom of our architecture (four real fluxes and six complex coherent fluxes), an optimised beam combiner could theoretically achieve a γ as low as 16. Assuming γ = 16, δt = 0.00085^{4} and given the fact that the visibility is close to one for this unresolved target, the interferometric S/N for HR 8799 should be around 46, which indeed matches our measured value of ~45. This implies that the γ value for GRAVITY is indeed close to 16, which is indicative of a welldesigned combiner. Further improvements will require innovative approaches such as the hierarchical fringe tracker, which might also decrease the γ value by reducing the system degrees of freedom (Petrov et al. 2022).
The ultimate sensitivity. During the June commissioning run, the exact sensitivity limit of the fringe tracker on the UTs remained undetermined because the AO performance started to degrade at magnitudes below 10 (see the UT data in Fig. 6). The introduction of laser guide stars in GRAVITY+ is anticipated to extend the AO limiting magnitude, potentially allowing us to ascertain the true sensitivity of the enhanced GRAVITY fringe tracker. When the S/N limit at 1 kHz is achieved, exploring a 100 Hz mode becomes a viable option for further boosting sensitivity by mitigating the detector readout noise. In theory, as previously discussed, the theoretical atmospheric piston on an 8meter telescope should be minimal, which could even enable an operation as slow as 10 Hz. However, achieving this would necessitate a reduction in the instrumental piston caused by vibrations. Mechanical solutions, such as directly removing vibrations or compensating for them using accelerometers (as in the ongoing MANHATTANII project, Lieto et al. 2008; Woillez et al. 2018), offer one approach. Alternatively, as these vibrations are intrinsic to the VLTI infrastructure, the optical path could be monitored and adjusted with a dedicated metrology system, as proposed in the nowabandoned VibMET project (Woillez et al. 2018).
5.2 Unexplored possibilities
The use of the GRAVITY fringe tracker alongside other instruments introduces a number of challenges in maintaining the fringetracking accuracy across different wavelengths. At a basic level, this requires the fringe tracker to avoid fringe jumps, a critical improvement implemented by the new algorithm described in this paper. A notable observation also pertains to the issue of varying atmospheric dispersion, however. The blue curves in Fig. 4 display slowly changing dispersion patterns. While the GD smoothing is approximately 150 ms, the blue curves exhibit correlations over significantly longer durations, up to 10 s. This can be attributed to fluctuations in water vapour, as investigated by Colavita et al. (2013) and Müller et al. (2014). These signals are relevant for infrared instruments, such as ELT/METIS (Absil et al. 2022), but might also be addressed at the fringetracker level to adjust the setpoint, ensuring stable fringes at another wavelength despite the changing dispersion.
Machinelearning algorithms represent another unexplored avenue in the realm of fringe tracking. These algorithms have the potential to integrate a broader spectrum of information compared to our current Kalman filterbased loop. Data from AO wavefront sensors and/or telescope vibration sensors, for instance, could substantially enhance the fringetracking capabilities (Perera et al. 2022). A model trained on a comprehensive dataset could leverage this additional information for a more accurate performance. The success observed in AO, particularly with reinforcement learning (Pou et al. 2022), indicates the potential advancements that machine learning could bring to fringe tracking.
6 Conclusion
We have introduced a new approach to fringe tracking that is based on a Kalman filter working in OPL statespace. This statespace is nonobservable, which makes the integration of measurements harder than in OPD space. In particular, this leads to a somewhat cumbersome transformation of the AR model that is used to predict the evolution of the OPD disturbances to OPL space. The reward is a reduced dimensionality of the statespace from six (the number of baselines, or OPDs) to four (the number of telescopes, or OPLs), however. In the case of the new GRAVITY fringe tracker, this allows us to propagate covariance matrices on the state vector and hence to use an optimal Kalman gain that is dynamically calculated at each iteration.
We described this new algorithm specifically in the context of GRAVITY, but the conceptual framework can seamlessly be extended to various other instruments. As opposed to the number of OPDs, which grows quadratically with the number of telescopes in the array, the number of OPLs only grows linearly. Therefore, the gain offered by this novel approach increases with the size of the array, thereby offering a compelling solution for future concepts such as the Planet Formation Imager (Monnier et al. 2018).
In the meantime, with this new version of the GRAVITY fringe tracker, ESO is now able to offer the interferometric community a facility fringe tracker that not only delivers a competitive performance, but also ensures seamless integration within the VLTI environment. This new fringe tracker is already in use with MATISSE (the GRA4MAT mode, described in Woillez et al., in prep.). Beyond this, it could also accommodate visitor instruments, becoming a useful tool for a much larger community.
Acknowledgements
The authors wish to express their gratitude to the referee, F. Cassaing for an excellent report, which contained both useful suggestions to improve the paper, corrections of important mistakes, and ideas for future work. GRAVITY was developed in a collaboration of the Max Planck Institute for Extraterrestrial Physics, LESIA of Paris Observatory, IPAG of Université Grenoble Alpes / CNRS, the Max Planck Institute for Astronomy, the University of Cologne, the Centro Multidisciplinar de Astrofisica from Lisbon and Porto, and the European Southern Observatory. This work used observations collected at the European Southern Observatory under ESO programme 1104.C0651 and 109.238N.003. S.L., J.B.L., and F.M. acknowledge the support of the French Agence Nationale de la Recherche (ANR), under grant ANR21CE310017 (project ExoVLTI). D.D. and R.L. have received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation program (grant agreement CoG  866070). P.G. acknowledges the financial support provided by FCT/Portugal through grants PTDC/FISAST/7002/2020 and UIDB/00099/2020. S.L. would like to warmly thank Sylvain Rousseau for spotting many typographical errors in the equations of Paper I.
Appendix A Determination of the propagation matrix A_{j,k} and process noise Q_{j,k}
The goal of this appendix is to derive the A_{j,k} and Q_{j,k} representing the AR models in OPD space that are used in Equation 43 and 46. The A_{j,k} and Q_{j,k} matrices were both obtained using the statsmodels Python library (Seabold & Perktold 2010) from a sequence of 10,000 vectors (≈ 10 s at 909 Hz). The challenge in estimating the propagation matrix lies in its need to be resilient to unwrapping errors. It should also not produce aberrant values in situations where the fringes are undetected or lost.
To address this, the matrices are determined based on phase differences rather than the phases themselves. Explicitly, for each baseline, a quantity is computed. To ensure reliable default operation during low signaltonoise ratios on this baseline (e.g. when fringes are absent or lost), we set Δϕ_{j,k,n} = 0.
The statsmodel timeseries analysis is then employed to fit an AR model to the 9,999 Δϕ_{j,k,n} values, one baseline at a time. The statsmodels.tsa.ar_model.AutoReg class is used to fit an AR model of order 22 using conditional maximum likelihood. The AR(22) model was chosen as it strikes a balance between computational efficiency and its ability to fit low frequencies. With 22 samples at 909 Hz, the minimum frequency and resolution of the predictor can be expected to be around 40 Hz. In practice, however, we find that the resolution is much better, and we are able to fit for frequencies as low as ~ 10 Hz, which is in line with the fact that AR models are notoriously better in terms of resolution than Fouriertransform based algorithm (Quirk & Liu 1983; Tary et al. 2014).
The statsmodels.tsa.ar_model.AutoReg class fit gives six vectors of 22 values for the AR model, g_{l,j.k}, along with six scale parameters g_{l,j.k}. The AR(22) model of the phase difference is then integrated to give an AR(23) model g′ of the phase itself, using (A.1) (A.2) (A.3)
This ensures the stationnarity of our model since . The propagation matrices representing the AR model are then (A.4)
These matrices have a dimension of 150 × 150, but only the first 23 values and the subdiagonal are nonzero. The AR(23) could be represented by a 23 × 23 matrix, but the additional dimensions are required by our statespace model, which also needs to account for the group delay.
The matrix Q_{j,k} also has the dimension 150 × 150. It is more straightforwardly generated from the scale parameter q_{0,jk}, which corresponds to the variance of the residuals in the statsmodels fit, (A.5)
Appendix B Power spectrum density
In Figs. B.1 and B.2, we present the Fourier transforms of 100 seconds of fringetracking OPD, Φ, acquired with the UTs and ATs, respectively. The first dataset was obtained using the UTs to observe HR 8799 (Kmag= 5.44) on July 2, with an effective K magnitude of 4.4. The second dataset was captured using the ATs in the astrometric configuration (A0G1J2K0) to observe HR 7672 (Kmag= 4.4) on 21 July. The exact file IDs for these observations are GRAVI.20230702T09:52:22.630 and GRAVI.20230721T06:16:19.030. The atmospheric conditions were good during the HR 8799 observations with a seeing of 0.8″ and a wind speed of 3.9–4.6 m s^{−1}, and excellent during the HR 7672 observations with a seeing of 0.4″ and wind speed of ~ 2.8 m s^{−1}. We used Welch’s method from the scipy library to compute the spectrum and cumulative spectrum of the OPD. The overall standard deviations of the OPDs are provided in the figure captions.
Fig. B.1 Power spectrum density (PSD) and cumulative sum of the PSD of phase residuals (Φ_{n}) for target HR 8799. The back curves represent the closeloop values. The red curves represent the pseudoopenloop values, signifying the scenario without a fringe tracker (Η_{φ} · L). The six lower plots show the reverse cumulative sum of the power spectrum. Over 100 s of a single scientific DIT, the residual standard deviation is 158 nm (UT3UT4), 150 nm (UT2UT4), 133 nm (UT1UT4), 152 nm (UT2UT3), 138 nm (UT1UT3), and 124 nm (UT1UT2). 
Fig. B.2 Power spectrum density and cumulative sum of the PSD of phase residuals (Φ_{n}) for target HR 7672. The back curves represent the closeloop values. The red curves represent the pseudoopenloop values, signifying the scenario without a fringe tracker (H_{ϕ} · L). The six lower plots show the reverse cumulative sum of the power spectrum. Over 100 s of a single scientific DIT, the residual standard deviation is 71 nm (UT3UT4), 86 nm (AT2AT4), 86 nm (AT1AT4), 93 nm (AT2AT3), 93 nm (AT1AT3), and 80 nm (AT1AT2). 
References
 Absil, O., Delacroix, C., Orban de Xivry, G., et al. 2022, SPIE Conf. Ser., 12185, 1218511 [Google Scholar]
 Abuter, R., Dembet, R., Lacour, S., et al. 2016, SPIE Conf. Ser., 9907, 990721 [Google Scholar]
 Cassaing, F., Le Duigou, J.M., Houairi, K., et al. 2008, in Optical and Infrared Interferometry, eds. W. C. Danchi, F. Delplancke, & M. Schöller, Proc. Soc. PhotoOpt. Instrum. Eng., 7013 [Google Scholar]
 Choquet, É., Menu, J., Perrin, G., et al. 2014, A&A, 569, A2 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 Colavita, M. M., Booth, A. J., GarciaGathright, J. I., et al. 2010, PASP, 122, 795 [Google Scholar]
 Colavita, M. M., Wizinowich, P. L., Akeson, R. L., et al. 2013, PASP, 125, 1226 [Google Scholar]
 Conan, J. M., Rousset, G., & Madec, P.Y. 1995, J. Opt. Soc. Am. A, 12, 1559 [Google Scholar]
 CourtneyBarrer, B., Woillez, J., Laugier, R., et al. 2022, SPIE Conf. Ser., 12183, 1218328 [Google Scholar]
 Delplancke, F., Derie, F., Lévêque, S., et al. 2006, Proc. SPIE, 6268, 62680U [Google Scholar]
 Eisenhauer, F. 2019, in The Very Large Telescope in 2030 (Astronomy Australia Ltd) [Google Scholar]
 Eisenhauer, F., Monnier, J. D., & Pfuhl, O. 2023, ARA&A, 61, 237 [Google Scholar]
 Finger, G., Baker, I., Alvarez, D., et al. 2014, SPIE Conf. Ser., 9148, 914817 [Google Scholar]
 GRAVITY Collaboration (Abuter, R., et al.) 2018a, A&A, 615, A15 [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Abuter, R., et al.) 2018b, A&A, 618, A10 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Sturm, E., et al.) 2018c, Nature, 563, 657 [Google Scholar]
 GRAVITY Collaboration (Abuter, R., et al.) 2019a, A&A, 625, L10 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Lacour, S., et al.) 2019b, A&A, 623, L11 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Perraut, K., et al.) 2019c, A&A, 632, A53 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Abuter, R., et al.) 2020a, A&A, 636, L5 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Amorim, A., et al.) 2020b, A&A, 643, A154 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Bauböck, M., et al.) 2020c, A&A, 635, A143 [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Dexter, J., et al.) 2020d, A&A, 635, A92 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Nowak, M., et al.) 2020e, A&A, 633, A110 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Pfuhl, O., et al.) 2020f, A&A, 634, A1 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Abuter, R., et al.) 2021, A&A, 647, A59 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 GRAVITY Collaboration (Abuter, R., et al.) 2022, A&A, 657, L12 [NASA ADS] [CrossRef] [Google Scholar]
 GRAVITY+ Collaboration (Abuter, R., et al.) 2022, The Messenger, 189, 17 [Google Scholar]
 Houairi, K., Cassaing, F., Perrin, G., et al. 2008, in Optical and Infrared Interferometry, eds. W. C. Danchi, F. Delplancke, & M. Schöller, Proc. Soc. PhotoOpt. Instrum. Eng., 7013 [Google Scholar]
 Lacour, S., Jocou, L., Moulin, T., et al. 2008, Proc. SPIE, 7013, 701316 [Google Scholar]
 Lacour, S., Dembet, R., Abuter, R., et al. 2019, A&A, 624, A99 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 Le Bouquin, J.B., Bauvir, B., Haguenauer, P., et al. 2008, A&A, 481, 553 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 Lieto, N., Haguenauer, P., Sahlmann, J., & Vasisht, G. 2008, Proc. SPIE, 7013, 193 [Google Scholar]
 Lopez, B., Lagarde, S., Petrov, R. G., et al. 2022, A&A, 659, A192 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 Lozi, J., Cassaing, F., Le Duigou, J.M., et al. 2011, in Techniques and Instrumentation for Detection of Exoplanets V, ed. S. Shaklan, Proc. Soc. PhotoOpt. Instrum. Eng., 8151 [Google Scholar]
 Menu, J., Perrin, G., Choquet, E., & Lacour, S. 2012, A&A, 541, A81 [Google Scholar]
 Monnier, J. D., Kraus, S., Ireland, M. J., et al. 2018, Exp. Astron., 46, 517 [NASA ADS] [CrossRef] [Google Scholar]
 Müller, A., Pott, J. U., Mérand, A., et al. 2014, A&A, 567, A98 [Google Scholar]
 Nowak, M. 2019, Ph.D. Thesis, Université Paris sciences et lettres, France [Google Scholar]
 Perera, S., Pott, J.U., Woillez, J., et al. 2022, MNRAS, 511, 5709 [Google Scholar]
 Petrov, R. G., Malbet, F., Weigelt, G., et al. 2007, A&A, 464, 1 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 Petrov, R. G., Allouche, F., Boskri, A., et al. 2022, SPIE Conf. Ser., 12183, 121830I [Google Scholar]
 Pfuhl, O., Haug, M., Eisenhauer, F., et al. 2014, Proc. SPIE, 9146, 914623 [Google Scholar]
 Pou, B., Ferreira, F., Quinones, E., Gratadour, D., & Martin, M. 2022, Opt. Express, 30, 2991 [Google Scholar]
 Quirk, M., & Liu, B. 1983, ICASSP ′83. IEEE International Conference on Acoustics, Speech, and Signal Processing, 8, 1095 [Google Scholar]
 Seabold, S., & Perktold, J. 2010, in 9th Python in Science Conference [Google Scholar]
 Shao, M., Colavita, M. M., Hines, B. E., et al. 1988, A&A, 193, 357 [NASA ADS] [Google Scholar]
 Sorrente, B., Cassaing, F., Rousset, G., RobbeDubois, S., & Rabbia, Y. 2001, A&A, 365, 301 [Google Scholar]
 Tary, J. B., Herrera, R. H., & van der Baan, M. 2014, Geophys. J. Int., 196, 600 [Google Scholar]
 Tatulli, E., Millour, F., Chelli, A., et al. 2007, A&A, 464, 29 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
 Woillez, J., Darré, P., Egner, S., et al. 2018, SPIE Conf. Ser., 10701, 1070103 [NASA ADS] [Google Scholar]
We thank the referee for pointing out that calculating this S/N as the ratio between the average of the numerator and the average of the denominator (as opposed to the average of the ratio) would likely result in a better estimate. We plan on testing this and implementing it in a future version of the fringe tracker.
In principle, this could be a tunable parameter that could be adjusted on a per target basis. In the case of HR 8799, given the brightness of the star and the high interferometric S/N obtained, decreasing this value would likely result in better performances. However, in the framework in which the GRAVITY fringe tracker is implemented, this change is hard, and this value remains currently fixed at 150 DITs.
All Figures
Fig. 1 Openloop response of the piezo control chain. This corresponds to the response of the piezo in micrometers per volt as a function of time (bottom axis) when submitted to an impulse command. Equivalently, this also gives the values of the coefficients of the fifthorder model used in Eq. (20) (top axis). Each colour represents a distinct actuator. 

In the text 
Fig. 2 Block diagram of the GRAVITY fringetracking controller within a single integration time, denoted n. The parameter states, illustrated in green, are central to the fringe tracker. They represent the disturbance conditions (L_{n}) and actuator positions (X_{n}). The blue segment indicates the groupdelay feedback applied to the disturbance state, the red segment denotes the phasedelay feedback on L_{n}, and the black segments represent the command send to the actuators. 

In the text 
Fig. 3 Hardware architecture of the GRAVITY fringe tracker. The realtime controller operates within the wgvfft Linux workstation. Another Linux workstation, wgvkalm, is dedicated to calculating the Kaiman filter parameters based on the observed OPDs. A Motorola CPU in the lgvttp workstation integrates the piston information with tiptilt sensor data to accurately adjust the mirrors mounted on piezoelectric actuators in the tiptilt piston (TTP). Additionally, an external workstation can provide the fringe tracker with piston setpoints and a mobility flag, which influences the controller behaviour. 

In the text 
Fig. 4 Observation of star HR 8799 using GRAVITY. The data are taken from a single DIT exposure on the spectrometer, spanning 100 s. The black curves denote the OPD, derived from the phase delay (Φ – Φ_{CP}). The blue curves illustrate observations from the group delay (Ψ – Ψ_{CP} – Ψ_{ZeroGD}). Each panel represents a different baseline. At t_{1} = 76.81 s, a noticeable fringe jump occurred on UT2. The effect of this jump across all baselines is depicted in the right panels. Impressively, the group delay identified and corrected the jump within 100 ms. The lower panel offers a magnified perspective of the baseline between UT2 and UT4, and the predictions from the controller state and are overlaid. Notably, at t_{2} = 76.9 s, all predictions shifted by 2200 nm, marking the detection of the jump. To shift the OPD by one λ, the phase delay took 3 DITs (3.3 ms), while the group delay took 150 DITs (165 ms), which is attributed to the smoothing length of the observable. 

In the text 
Fig. 5 Spectra of the residual OPD (shown in black) and the reconstructed perturbation (Η_{φ} · L, depicted in red) for two observations. The upper panels present data on HR 8799 for one baseline from the UTs, corresponding to the data shown in Fig. 4. The standard deviation of the OPD is 151 nm. The panel below shows a dataset from the ATs for HR 7672 with an OPD standard deviation of 86 nm. The cumulative spectrum for these two dataset are also shown. The data for all baselines are presented in Appendix B. 

In the text 
Fig. 6 OPD residuals. Top panel: OPD residuals plotted against the S/N per baseline for all data collected from June to August 2023. The orange dots represent AT observations, and the blue dots denote UT observations. The dotted curve represents the theoretical limitation imposed by the measurement noise (λ/2πσ_{j,k}). The vertical dashed lines indicate the S/N observed with the UTs of a star at a given star magnitude. It should be shifted by about 2.5 magnitude for the ATs. Bottom panels: histogram of the same OPD residuals as in the upper panel for the ATs (left) and UTs (right). 

In the text 
Fig. B.1 Power spectrum density (PSD) and cumulative sum of the PSD of phase residuals (Φ_{n}) for target HR 8799. The back curves represent the closeloop values. The red curves represent the pseudoopenloop values, signifying the scenario without a fringe tracker (Η_{φ} · L). The six lower plots show the reverse cumulative sum of the power spectrum. Over 100 s of a single scientific DIT, the residual standard deviation is 158 nm (UT3UT4), 150 nm (UT2UT4), 133 nm (UT1UT4), 152 nm (UT2UT3), 138 nm (UT1UT3), and 124 nm (UT1UT2). 

In the text 
Fig. B.2 Power spectrum density and cumulative sum of the PSD of phase residuals (Φ_{n}) for target HR 7672. The back curves represent the closeloop values. The red curves represent the pseudoopenloop values, signifying the scenario without a fringe tracker (H_{ϕ} · L). The six lower plots show the reverse cumulative sum of the power spectrum. Over 100 s of a single scientific DIT, the residual standard deviation is 71 nm (UT3UT4), 86 nm (AT2AT4), 86 nm (AT1AT4), 93 nm (AT2AT3), 93 nm (AT1AT3), and 80 nm (AT1AT2). 

In the text 
Current usage metrics show cumulative count of Article Views (fulltext article views including HTML views, PDF and ePub downloads, according to the available data) and Abstracts Views on Vision4Press platform.
Data correspond to usage on the plateform after 2015. The current usage metrics is available 4896 hours after online publication and is updated daily on week days.
Initial download of the metrics may take a while.