A publishing partnership

Timing Calibration of the NuSTAR X-Ray Telescope

, , , , , , , , , , , , , , , and

Published 2021 February 23 © 2021. The American Astronomical Society. All rights reserved.
, , Citation Matteo Bachetti et al 2021 ApJ 908 184 DOI 10.3847/1538-4357/abd1d6

Download Article PDF
DownloadArticle ePub

You need an eReader or compatible software to experience the benefits of the ePub3 file format.

0004-637X/908/2/184

Abstract

The Nuclear Spectroscopic Telescope Array (NuSTAR) mission is the first focusing X-ray telescope in the hard X-ray (3–79 keV) band. Among the phenomena that can be studied in this energy band, some require high time resolution and stability: rotation-powered and accreting millisecond pulsars, fast variability from black holes and neutron stars, X-ray bursts, and more. Moreover, a good alignment of the timestamps of X-ray photons to UTC is key for multi-instrument studies of fast astrophysical processes. In this paper, we describe the timing calibration of the NuSTAR mission. In particular, we present a method to correct the temperature-dependent frequency response of the on-board temperature-compensated crystal oscillator. Together with measurements of the spacecraft clock offsets obtained during downlinks passes, this allows a precise characterization of the behavior of the oscillator. The calibrated NuSTAR event timestamps for a typical observation are shown to be accurate to a precision of ∼65 μs.

Export citation and abstract BibTeX RIS

1. Introduction

The Nuclear Spectroscopic Telescope ARray (NuSTAR; Harrison et al. 2013) is the first focusing hard (3–79 keV) X-ray mission. Compared to other missions covering the same energy range, NuSTAR provided a 10-fold improvement in angular resolution (58''HPD), while also granting good spectral resolution (0.4 keV at 6 keV), and high effective area (∼1000 cm2 at 10 keV). NuSTAR was designed with an absolute timing accuracy requirement of 100 ms (Harrison et al. 2013). Typically, the uncertainties in the time-stamping of NuSTAR data are much smaller than this requirement (Madsen et al. 2015): most electronic and propagation delays can be tracked down to ∼100 μs precision. The largest unmodeled issue in the NuSTAR timing calibration has been, until now, a ∼2 ms drift of the spacecraft clock which is only tracked accurately between ground passes, spaced by a few hours. Gotthelf & Bogdanov (2017) showed that the drift could be tracked by using fast millisecond pulsars with very sharp pulse profiles, and that on short timescales the time measurement was stable enough to show ∼15 μs-thin pulsar peaks. However, the actual process creating the drift remained unknown, limiting the range of timing capabilities of NuSTAR.

In this paper, we show that this drift is largely due to a temperature-dependent frequency drift of the spacecraft temperature-compensated quartz oscillator (TCXO). Our detailed modeling of this behavior and the clock aging allows the timing calibration of NuSTAR to be improved by almost two orders of magnitude. This opens up NuSTAR to a wide range of new applications involving rapid variability, like rotation- and accretion-powered millisecond pulsars, X-ray bursts, and kHz quasiperiodic oscillations (van der Klis 2006; Lorimer 2008), or precise synchronization with other satellites for multi-instrument and/or multiwavelength studies.

We describe the NuSTAR time tagging procedure in Section 2. Then, we model the temperature dependence of the TCXO in Section 3. We discuss the improved timing calibration in Section 4.

2. NuSTAR Time Tagging Details

The method used to assign photon arrival times on the spacecraft for NuSTAR detector events is described in detail in Madsen et al. (2015), Bachetti et al. (2015). Photon arrival timestamps are assigned to received photons using the on-board spacecraft oscillator. The spacecraft oscillator itself is calibrated to UT using ground station ranging measurements. Converting photon arrival times to UT requires an accurate model of the uncertainties in the on-board electronics, the stability of the spacecraft reference clock, the propagation delays during the downlink of the data, and the precision of the reference clock in the ground station.

The systematic electronic delays on board are modeled to a few μs; the propagation delay to the ground station is on the order of 300 ms and is modeled accurately (<100 μs) thanks to frequent tracking of NuSTAR's geographic location11 ; the Malindi ground station, nominally used to measure NuSTAR's clock offsets, is synchronized to UTC via GPS with a precision of a few nanoseconds. This is not true of the less frequently used USN Hawaii and Singapore ground stations, that guarantee only 1 ms precision (see below).

However, the largest source of uncertainty in the NuSTAR clock modeling is the stability of the spacecraft's oscillator. The mission does not carry on board a GPS-synchronized clock. Event timestamps are referred to the pulse-per second (PPS) signal coming from an MC623X2 TCXO. The nominal frequency (or divisor) of this oscillator is ∼24 MHz, meaning that the oscillator ticks ∼24 million times before sending the next PPS, a number that can be adjusted remotely through a command to the spacecraft. However, this frequency changes by ∼1 ppm with the change of the oscillator temperature during an orbit. This produces an accumulated delay between the recorded time and the reference UTC time from the ground station.

Every time NuSTAR connects to a ground station for the downlink of the data, the ground station measures the relative departure of the clock time from UT. If the clock has drifted more than an acceptable limit (chosen to be about 100 ms), the divisor of the spacecraft TCXO is adjusted in order to change the direction of the drift. This is done to satisfy the mission requirement of 100 ms timing precision. The clock offset measurements and divisor changes are used by the NuSTAR Science Operations Center (hereafter SOC) to produce the clock-correction files, which are distributed as part of the NuSTAR CALDB from HEASARC and usable with the FTOOL barycorr needed to convert spacecraft UT time to the solar system barycenter.

However, the temperature changes rapidly during each of the ∼97 minutes of a NuSTAR orbit, which is found to effect the TCXO frequency with a similar ∼97 m modulation. Because of the relatively infrequent ground contacts, the time offset measurements do not accurately reflect the instantaneous arrival times of the events as registered by the spacecraft. As a consequence, the clock correction file produced at the NuSTAR SOC is only able to model the drift to the ∼2 ms level.

In the following sections, we characterize the frequency-temperature relation in detail, allowing a much better approximation of the clock drift.

3. Temperature and Aging Characterization of the TCXO

3.1. Basic Modeling Framework

The observable we want to measure here is the real TCXO frequency f0, which is the reference for time tagging.

The clock divisor D(t) is a commanded value, and can be changed as needed by the ground station. The spacecraft 1-PPS tick count rolls over when D clock cycles have occurred. The "spacecraft time" can be thus obtained:

Equation (1)

Periodic measurements from the ground station return the difference between the spacecraft time ${{ \mathcal T }}_{i}$ and UT time ti:

Equation (2)

where epsilon is an error term that we need to estimate. The mission operations center (MOC) removes known biases and delays, which we exclude from the formula above (but whose uncertainty we include in the error term).

Let us for a moment assume that we know the function d(t) continuously and that we can ignore the error term. Using Equations (1) and (2), we get an estimate of the instantaneous spacecraft clock frequency

Equation (3)

where the dotted variables indicate time derivatives. Considering that $\dot{d}(t)$ is measured in discrete intervals, the Equation (3) can be approximated as

Equation (4)

Equation (5)

where ${\bar{f}}_{0}(t)$ in this case is the average frequency between subsequent clock offset measurements d(t2) and d(t1). Therefore, by measuring the clock offsets and using the known commanded divisor, we can estimate the frequency change of the clock over a given interval. The right-hand side of Equation (4) is only based on measured and commanded quantities. The left-hand side can be regressed against other quantities averaged over the same time intervals.

For convenience, from now on we will make the calculations not directly using f0, but rather its deviation from the nominal TCXO frequency of 24 MHz

Equation (6)

Now let us suppose that the TCXO frequency is a function of temperature (an imperfect temperature compensation) and time (clock aging, which makes the quartz crystals less "elastic"; see, e.g., Vig & Meeker 1991). We seek a relation of the form

Equation (7)

where ${ \mathcal A }$ is only a function of temperature, ${ \mathcal B }$ an aging law, unrelated to temperature, and ${ \mathcal C }$ is a constant.

We model ${ \mathcal B }$ with a function of the kind:

Equation (8)

This particular form is motivated by the typical aging behaviors of crystal oscillators, with logarithmic changes of the frequency due to absorption of contaminants and desorption of crystal particles (Vig & Meeker 1991; Landsberg 1955). In reality, we do not know if these exact processes are driving the aging curve in Figure 1, or if there are other processes involved. But this is the simplest physically motivated model that is able to reproduce the full aging curve, as we will see later. We favor this approach with respect to other approaches that are able to fit the data but need many more logarithmic components and are based on even weaker physical motivation (e.g., Su 1996).

Figure 1.

Figure 1. Correction (in parts per billion, ppb) for the long-term degradation of the spacecraft's crystal oscillator clock over time. (Left) a quadratic fit to the clock frequency in the f0-T plane after correcting for aging effects as described in the text. The blue line shows the quadratic fit to Equation (9), while the green line shows the linear component of the model to guide the eye; (right) the aging of the crystal oscillator corrected for temperature effects; bottom panels show the residuals from the above models, whose scatter is less than 10 parts per billion.

Standard image High-resolution image

For ${ \mathcal A }$, we use a quadratic function of the temperature:

Equation (9)

where ai are the fit coefficients.

In practice, we split the constant ${ \mathcal C }$ into two parameters c and e that we used to fit separately for ${ \mathcal A }$ and ${ \mathcal B }$.

To calculate the expected clock offsets (Equation (2)) we iterate the best-fit values for parameters ai and bi, above, eliminating the effects of the aging law from the temperature law and vice versa.

The temperature of the TCXO is measured every ∼10 s and recorded as part of the mission housekeeping information, so there are typically thousands of temperature measurements between ground segment passes. Given a set of temperature measurements Tk for times tk, the numerical integral becomes

Equation (10)

where Dk is the value of the divisor at time tk. We can then model these offsets with a continuous function (e.g., a spline fit or a more robust interpolation) and compare them with the measured offsets.

The comparison between the measured offsets and the ones obtained in Equation (10) shows two very distinct problems with the clock offset measurements from the ground stations (see Figures 2 and 3):

  • 1.  
    Only the Malindi station has a symmetric scatter around the best solution, while the Singapore and USN Hawaii ones are systematically overestimating the offset. This is a known effect, due to the fact that the latter two stations truncate their reference clock to 1 ms precision.
  • 2.  
    A large number of measurements, regardless of the ground station, underestimate the offset (the effect is so large that these bad measurements are often easy to flag just by comparing them with nearby measurements). This is most likely due to processing delays within the spacecraft computer during the measurement, probably due to high CPU utilization. Mission operations staff make a best effort to perform clock calibration during periods of expected low CPU utilization, but this goal is not always achieved.

These outlier clock measurements of both kinds can be easily flagged. After these measurements have been removed, we can go back to the beginning and fit Equations (9) and (8) to the cleaned data.

Figure 2.

Figure 2. Time history of the drift of the spacecraft clock. Offsets are color-coded to indicate different ground stations, as shown in the legend. (Top) spacecraft clock offsets measured during ground passes, compared to the offset calculated with Equation (10) (in black; the inset shows MJDs 57100–57200); (middle) residuals after correcting for the temperature model and adjusting for major trends. Note the large number of outlier measurements below a smooth long-term trend; (bottom) residuals after eliminating the long-term trend with a robust spline fit.

Standard image High-resolution image
Figure 3.

Figure 3. Histogram showing the scatter of detrended residuals for the three ground stations. Note the much better performance of Malindi with respect to the other ground stations, with a scatter of σ ≈ 65 μs and an additional "tail" of outlier measurements. The "flat" distribution of Singapore and Hawaii offsets is due to the way these ground stations provide clock offset measurements, truncated to 1 ms precision. Since values are truncated and not rounded, the offset is systematically shifted in one direction.

Standard image High-resolution image

In summary, the fit procedure is iterative, as follows:

  • 1.  
    Fit the offset data to Equation (9) with an initial value of the offset constant c;
  • 2.  
    Fit Equation (8) plus an offset e a first time to the data after subtracting the results of 1;
  • 3.  
    Flag all points at more than 0.02 parts-per-million (ppm) from the solution as outliers;
  • 4.  
    Fit only the linear term of Equation (9) to the data after subtracting the aging solution;
  • 5.  
    Fit only the quadratic term of Equation (9) to the data after subtracting the aging solution and the linear term. This allows one to constrain precisely T0 thanks to the symmetry of the quadratic term;
  • 6.  
    Fit the full model A to the data one last time after subtracting the aging solution and fixing T0;
  • 7.  
    Fit Equation (8) one last time on the temperature-detrended data;
  • 8.  
    Calculate the clock offset history using Equation (10); flag outlier clock offset measurements;
  • 9.  
    Go back to point 1 and use the cleaned clock offset history to get more meaningful estimates of the local oscillator frequency. This time, calculate confidence intervals for the free parameters in Equations (9) and (8).

The results of the fit are presented in Table 1 and Figures 14. We executed the fit with lmfit (Newville et al. 2014). The confidence intervals on model A were calculated through a Monte Carlo Markov Chain using the emcee library (Foreman-Mackey et al. 2013), with uniform, unbounded priors, and the recommended burn-in and chain-length. The high correlation of the parameters of model B (all but e) did not allow for meaningful confidence intervals with this method.

Figure 4.

Figure 4. Modeling the imperfect temperature compensation of the spacecraft clock. Confidence intervals for the parameters of Equation (9), plotted using the corner library (Foreman-Mackey 2016).

Standard image High-resolution image

Table 1.  Best-fit Coefficients in the Clock Correction Model (Equations (7)–(9))

Coefficient Unit Value
T0 C 13.440(25)
t0 MET 77509250 (fixed)
c ppm 13.91877(8)
a0 ppm K−1 −0.07413(7)
a1 ppm K−2 0.00158(4)
b0 ppm 0.00829a
b1 1 yr−1 100.26a
b2 ppm −0.2518a
b3 1/yr−1 0.0335a
e ppm −0.0202(1)

Note.

aUncertainties on the quantity bi are unreliable, due to the very high correlations between parameters. Therefore, we fixed them to the best fit in order to get a meaningful confidence interval on the offset parameter e, which is important to set the offset to the full model in Equation (7).

Download table as:  ASCIITypeset image

3.2. Comparison with Clock Offsets

The results of the fitting procedure described above are shown in Figure 2. The offsets are extremely well modeled throughout the full lifespan of NuSTAR. The difference between the calculated and observed offset is very small and produces an accumulated drift of ∼200 ms in six years, which accounts for an error on f0 of a part in a billion. This long-term trend can be removed easily and is not shown in the figures. Shorter-term trends remain, a slow drift of ≲ 10 ms yr−1. The results are so precise that we can single out most of the points where the ground stations had a slow response, and we can easily take them out (see also Figure 3). The remaining trends do not show any obvious correlation with temperature or other observables, but they can be interpolated with a spline. We can now track the clock offsets on timescales of seconds instead of hours, and this allows a correction of the event arrival times to an unprecedented precision. The comparison of the performance of the method without using the clock correction file, with the legacy clock correction, and with the new method, are shown in Figure 5.

Figure 5.

Figure 5. Comparison of the timing performance obtained using the pre-v096 clock correction file (left) and that corrected with the technique described in this paper (right). Shown is the time history of the pulse pulse profile of the rotation-powered millisecond pulsar B1937+21, folded on the ephemeris of Arzoumanian et al. (2018).

Standard image High-resolution image

4. Discussion: Clock Stability and Precision

4.1. Relative Clock Stability

Figure 6 shows the clock stability during an observation. When we compare the width of the pulse profiles with those tabulated in the literature, they are within 20 μs of the previously published values.

Figure 6.

Figure 6. Relative stability of the clock, shown through the phaseogram of three observations of PSR B1821-24A and one of PSR B1937+21. To guide the eye, we plot in red a 40 μs interval around the peak of the pulsar. The peak of PSR B1821-24A is ∼20 μs wide, and the additional wandering of the peak in timescales of ∼1 day is comparable to it. The peak of PSR B1937+21 is thinner, and it stays inside the ± 20 μs interval during a 1 day long observation. In longer observation, the effect of the uncertainty on ground station offset measurements becomes visible, and the pulse phase shifts by a larger amount, compatible with the ∼60 μs measured in Figure 3.

Standard image High-resolution image

To get a more quantitative estimate of the residual clock drift after the temperature correction, we use the available data from the pulsars PSR B1821-24A and PSR B1937+21, chosen for their fast rotation and sharp X-ray pulse profiles (Saito et al. 1997; Takahashi et al. 2001). We split the data set into 97 min long segments (approximately an orbit), and fold the photons in each segment using the X-ray timing solution from the NICER mission (Arzoumanian et al. 2014), calculated by Deneva et al. (2019). We calculate the position of the peak in each data segment using the fftfit algorithm (Taylor 1992). Finally, we measure the r.m.s. variation of the pulse phase around the median value.12 We find the standard deviation of the pulse phase during each of the long observations of B1821-24A to be between 17.1 and 18.1 μs, compatible with the width of the main peak of the pulse profile as measured by Deneva et al. (2019). Doing the same exercise with B1937+21, we find a much smaller jitter of 9 μs. However, we caution that this observation is much shorter, and the number of points is very small. This can produce deceptively small values of the standard deviation.

4.2. Absolute Timing Alignment

As described in in Section 4, the clock stability over ∼1 day of observations is ∼10 μs. We now estimate the absolute timing calibration, i.e., the precision of the NuSTAR clock with respect to a UTC reference. This number is straightforward to measure by looking again at the clock offsets as measured from the ground station passages, and comparing them to the offsets calculated from the model in Section 3. Figure 5 shows how the additional residuals between the Malindi-measured offsets and the temperature model are easily modeled through a spline. Once we do that, it becomes clear that the bulk of Malindi clock offsets are measured to a precision of ∼60 μs. Additionally, it becomes obvious that a large number of clock offset measurements are anomalous, possibly the result of delays in the processing of the data from the spacecraft. These outliers constitute a small fraction of the total measured offset and are easily separated from the "good" measurements. What remains is a quasi-Gaussian distribution of clock offset measurements around zero, with standard deviation 65 μs, that defines the theoretical long-term reconstructed accuracy of the NuSTAR event timestamps.

However, clock offsets measured by the ground station are not independent of electronic and instrumental delays, and might contain additional unmodeled biases. The ultimate verification of the proper functioning of the NuSTAR clock correction procedures is to compare signals from fast pulsars measured with NuSTAR to those obtained by the NICER mission that has a well-established absolute timing precision of <300 nanosec. We have selected a sample of fast (<70 ms) pulsars with sharp features in their pulse profiles for which there exist (quasi) simultaneous NICER (0.2–12 keV) observations. This sample includes three rotation-powered pulsars, one recycled millisecond pulsar, and four accreting millisecond X-ray pulsars, and is described below. In total, we compared 15 simultaneous NICER–NuSTAR observations obtained between 2017 April and 2020 February.

4.2.1. Source Selection

From the soft gamma-ray pulsar catalog provided in Table 2 and Figure 27 of Kuiper & Hermsen (2015), we selected a set of three rotation-powered pulsars satisfying our requirements: PSR B0531+21 (Crab pulsar; 33.5 ms), PSR J0205+6449 (65.7 ms) and PSR J2022+3842 (48.6 ms). The latter two pulsars are very weak at radio frequencies and are currently being timed by NICER as part of an ongoing monitoring program (see e.g., Section 4.1 of Kuiper & Hermsen 2009, for the method using time-of-arrival (TOA) measurements). Similarly, monthly radio timing ephemerides of the Crab pulsar are available from the Jodrell Bank Centre for Astrophysics (Lyne et al. 1993).13

We also investigated the rotation-powered (recycled) millisecond pulsars, PSR J0218+4232 (binary; P ≃ 2.3 ms), PSR B1937+21 (isolated; P ≃ 1.55 ms) and PSR B1821-24A (isolated; P ≃ 3.05 ms). These pulsars have hard non-thermal emission and (very) narrow pulses in their light curves (see e.g., Kuiper & Hermsen 2003; Kuiper et al. 2004; Gotthelf & Bogdanov 2017), providing excellent timing calibration targets for the NuSTAR X-ray bands. However, concurrent NICER and NuSTAR observations only exist for PSR B1821-24A. We used the NICER observations of this pulsar performed during 2017 to generate an accurate timing model and construct a high-statistics NICER pulse profile to compare with the deep (∼155 ks) NuSTAR observations performed in April and September 2017.

Finally, we searched for suitable sources among the Accreting millisecond X-ray Pulsars (AMXP) (see e.g., Patruno & Watts 2021, for an overview). Among the 19 AMXPs that went into outburst in the last few years, simultaneous NICER and NuSTAR observations exist for the binary systems IGR J17379-3747 (P ≃ 2.1 ms), IGR J17591-2342 (P ≃ 1.9 ms), SAX J1808.4-3658 (P ≃ 2.5 ms) and Swift J1756.9-2508 (P ≃ 5.5 ms; 2 outbursts). Timing models have been constructed for all selected AMXPs from the NICER observations executed during the outburst of each source, which typically lasts a couple of weeks.

4.2.2. Data Reduction

We reduced and analyzed the above pulsar sample according to standard procedures for NuSTAR and NICER data. The photon arrival times at the satellite were corrected to the solar system barycenter (in the TDB reference frame) using the same IDL code in order to avoid any potential differences between software tools. We used the most up-to-date location of the pulsars, the JPL DE200 (Crab) or DE405, and the spacecraft orbital ephemerides. For the selected AMXP sample we corrected the arrival times further for the orbital motion of the ms-pulsar in the binary system.

The results were checked against the standard multi-mission barycenter FTOOL barycorr and found to agree at the few microseconds level.

To obtain comparison pulse profiles for each pulsar we selected photons from both instruments in the overlapping 3–10 keV bandpass. Although the different responses of NICER and NuSTAR bias the photons in this interval differently (NICER toward softer photons and NuSTAR toward harder photons), we verified the effect on pulse shapes is negligible for our purposes. We folded the corrected photon arrival times, t, into equal phase bins using same timing model for the both NICER and NuSTAR data, according to the prescription,

Equation (11)

The timing model (ephemeris) in Equation (11) consists of the parameters ($\nu ,\dot{\nu },\ddot{\nu },{t}_{0}$) representing the spin frequency, first order time derivative and second order time derivative of the frequency at epoch t0, respectively.

4.2.3. Results

As shown in Figure 7, NuSTAR data are systematically leading NICER data by ∼5 ms. To accurately measure this time lag and calibrate the absolute arrival time of the NuSTAR photons we cross-correlate the pulse profile for each pulsar against the reference NICER profile to obtain their relative time lags (Figure 8). The weighted average ΔT is −4.92 ms with a 1σ uncertainty of 124 μs, or, after removing the PSR J2022+3842 outlier, −4.91 ms with an uncertainty of 68 μs. The latter is notably compatible with the width of the distribution of the UTC values shown in Figure 5. Apparently, the NuSTAR clock runs about 4.91 ms ahead of the baseline.

Figure 7.

Figure 7. Comparison of arrival times of few selected pulsars quasi-simultaneously observed by NICER and NuSTAR. NuSTAR data are systematically leading by ∼5 ms with respect to NICER. Note that the fastest pulsars need more than one full rotation to complete these 5 ms. Also note the slightly higher shift in PSR J2022+3842, that on closer inspection turns out to be an outlier (see Figure 7).

Standard image High-resolution image
Figure 8.

Figure 8. Distribution of time lags between NuSTAR and NICER folded pulse profiles in the 3–10 keV energy band for a sample of eight pulsars measured over 2017 April and 2020 February. The pulse periods for these pulsars range from 1.9 ms to 65.7 ms. Discarding the single outlier at MJD 58133, the weighted average time lag is −4.91 ms, as indicated by a dashed horizontal line. The one-sided 1σ confidence interval is ∼68 μs (gray area).

Standard image High-resolution image

5. Clock Correction File Production

The standard NuSTAR clock files released by the SOC via the CALDB prior to version v096 were produced using an IDL interactive script to fit a spline through the raw clock offset measurements from the ground stations. As mentioned previously, due to the rapid temperature-driven drifts of the spacecraft TCXO compared to the relatively sparse ground station passes, the clock correction was only reliable to ∼2 ms (Madsen et al. 2015).

Since version v096, the distributed clock correction files are produced using the nustar-clock-utils,14 based on the thermal model discussed in this paper. This procedure is automated and a new clock correction file with updated values is generated every ∼2 weeks. Over the following versions, we improved the algorithm and the treatment of missing temperature measurements, bad ground station clock offset measurements, and so on.

The procedure to build the clock file works as follows: (a) we update the latest clock offset measurements from all ground stations, the history of commanded divisor changes, and the temperature measurements; (b) we take note of all time intervals where there are no temperature measurements for more than 10 minutes (e.g., because of reboots of the spacecraft software) (c) for each continuous interval with no missing temperature measurements:

  • 1.  
    The thermal model is applied to the data (as in Figure 2) and the residual clock offsets are calculated with respect to this thermal model (as in Figure 2);
  • 2.  
    An initial model of the residual trends in clock offsets is created by making a robust polynomial interpolation with the outliers removed;
  • 3.  
    The remaining residuals are smoothed using a median filter of 11 clock offset measurements;
  • 4.  
    Finally, the end points of the solution are adjusted to go to zero offset;

(d) for each "bad" interval, having no temperature measurements, we use a straight interpolation of the solution between clock offsets and declare a fixed uncertainty of ∼1 ms;

The obtained correction has an overall median absolute deviation of ∼ 100 μs. Finally, (e) we interpolate the correction using the offset and its gradient over a uniform grid of ∼3 points per NuSTAR orbit; (f) we verify that the solution calculates the interpolation far from grid points with adequate accuracy; (g) we apply a constant offset of 4.91 ms, the best-fit cross-match from Section 4.2; (h) we create a clock correction file that contains four columns: the time at grid points, the clock offsets, the clock offset gradient, and the error bar calculated from the scatter of clock offsets in the days around the grid point.

Each new clock correction file is then tested as follows: we barycenter ∼45 test data sets obtained by the same number of NuSTAR observations of the Crab, PSR B1821-24A and PSR 1937+21. As periodic calibration observations of the Crab are executed, or any other good pulsar data are available, we add these to our test bench in order to track possible degradations of the clock performance. We calculate TOAs using standard templates aligned with a standard X-ray observation (a previous verified NICER or NuSTAR profile) and verify that they are consistently within ±100 μs of the expected arrival time throughout the mission time, with the exception of "problematic" intervals with no Malindi passes, missing temperature information, or other technical problems (see Appendix A).

6. Conclusions

Over the years since the mission launch, we have conducted a deep study of NuSTAR's timing performance. We found the reference PPS signal produced by the spacecraft's TCXO oscillator, and used to time tag the events, is temperature-dependent. We characterized this temperature dependence and its change over the course of the mission, probably due to the aging of the TCXO. In this paper, we describe in detail this temperature dependence and how, correcting for it and using pulsar observations for a final alignment to UT time, we can achieve a sub-100 μs timing accuracy. Finally, we describe how this temperature model is used to produce NuSTAR's clock correction files distributed with the NuSTAR Calibration database (CALDB). We report on a 4.91 ms offset of the clock offset measured by the ground stations, now accounted for in the clock correction files.

We conclude that, running the barycentering process with the official FTOOL barycorr using the clock correction files distributed by the NuSTAR SOC with the CALDB, NuSTAR event times can be trusted to the ∼65 μs level (1-σ) throughout the history of the mission, except for a few "bad" intervals whose list is continuously updated in the NuSTAR SOC page. The performance is continuously monitored using an ever-increasing set of test observations of multiple pulsars, in order to single out corner cases where the correction breaks down and/or promptly catch a possible degradation of the timing solution.

M.B. thanks the Fulbright Visiting Scholar Program for supporting a 9 month visit at Caltech. D.J.W. acknowledges financial support from STFC via an Ernest Rutherford fellowship. The authors wish to thank the NuSTAR X-ray Binaries WG, the Magnetars/RPP WG, and the Timing WG, for the hard work and fruitful discussions that led to, and improved, this work; Victoria Kaspi, Jill Burnham, Alessandro Riggio, Andrea Sanna, Paul Ray, Iulia Deneva, Franco Buffa and Alessio Trois for insightful discussions and suggestions. They also wish to thank the referee for their comments, that helped improving the quality of this paper. This research has made use of data and/or software provided by the High Energy Astrophysics Science Archive Research Center (HEASARC), which is a service of the Astrophysics Science Division at NASA/GSFC.

Facilities: NuSTAR - The NuSTAR (Nuclear Spectroscopic Telescope Array) mission, NICER - , HEASARC - .

Software: Nustar Clock Utils,15 Stingray (Huppenkothen et al. 2016, 2019), HENDRICS (Bachetti 2018), astropy (Price-Whelan et al. 2018), PINT (Luo et al. 2019), HEASoft/FTOOLS (Blackburn 1995; Blackburn et al. 1999), ATNF pulsar catalog (Manchester et al. 2005), PRESTO (Ransom 2011), corner (Foreman-Mackey 2016), emcee (Foreman-Mackey et al. 2013), IDL.16 Veusz,17 Holoviews.18

Appendix A: Example Diagnostic Plots for Clock File Testing

To complement the creation of new clock files, we set up a test bed with an ever-increasing number (currently ∼45) of sample data sets containing at the moment:

  • 1.  
    Four observations of PSR B1821-24A.
  • 2.  
    One observation each for PSR B1937+21, PSR J2022+3842, IGR J17379-3747.
  • 3.  
    40 observations of the Crab pulsar.

For the Crab observations, we restricted the number of photons to a manageable level (100,000) for each observation, more then sufficient to precisely measure the alignment with the reference profile. However, dead-time correction would require using all the photons in the observation. Therefore, we created a reference dead-time-affected profile by cross-correlating its dead-time-corrected analogous to the NICER profile once and for all. This allowed us to have a robust dead-time-affected reference profile to be used with fast checks using only 100,000 photons per observation.

Figures 9 and 10 show examples of the diagnostic plots used in the process.

Figure 9.

Figure 9. Application of the absolute timing correction to a sample of four different pulsars with pulse periods 2.1 ms (IGR J17379-3747), 3.05 ms (PSR B1821-24A), 33.5 ms (the Crab), and 48.6 ms (PSR J2022+3842), respectively. NuSTAR data are corrected using clock correction file v105 and v108 All profiles are derived for the 3–10 keV band.

Standard image High-resolution image
Figure 10.

Figure 10. Diagnostic plot from the nustar-clock-utils showing the alignment of the Crab pulse over the history of NuSTAR observations. The pulses are not dead-time corrected (hence the distortion of the profile) for performance reasons, but the template pulse was aligned so that its dead-time-corrected version coincided with the NICER profile ± 100μs.

Standard image High-resolution image

Appendix B: Pulsar Searches with NuSTAR: Known Issues

NuSTAR's detection chain has a high nominal time resolution and, as we demonstrated in this paper, allows an absolute timing precision of better than ∼ 100 μs in most observations. This allows one, in principle, to search for very fast pulsars in NuSTAR data, with frequencies well above the physical limits for NS rotation. However, there are a few known issues that people using NuSTAR for pulsar searches should keep in mind. In this Appendix we will rapidly go through them.

The first, obvious, issue is dead time. For the purpose of this Section, it is sufficient to note that NuSTAR's 2.5 ms dead time produces a frequency-dependent distortion of the PDF response. This means that pulsar searches will have to use a frequency-dependent detection threshold or try to correct the shape of the PDS. The problem is treated extensively in other papers (e.g., van der Klis 1989; Zhang et al. 1995). The presence of two identical detectors in NuSTAR allows one to partly work around the problem (Bachetti et al. 2015; Bachetti & Huppenkothen 2018).

All NuSTAR observations are executed in charge pump mode (CPMODE; Miyasaka et al. 2009). NuSTAR's detectors accumulate charges continuously due to internal (leakage) currents and other sources of electronic noise as well as the charge deposited by incident X-rays. To prevent the saturation of the readout electronics, a clock-synchronized feedback circuit removes this additional charge every 1.123 ms (spacecraft time) in a "CPMODE reset." The instrument experiences 30–40 μs of dead time every time this happens.

A high-frequency pulsation search can often "detect" these resets as a strong oscillation close to ∼1/1.123s = 890.5 Hz and/or possible harmonics and aliases of this frequency. The actual frequency can change slightly based on temperature; also, being in spacecraft time, it sometimes goes undetected after barycentering. It is easy to single out the harmonics, as they are exact multiples of the fundamental. The aliases are just slightly more tricky, as they can represent non-obvious reflections of any harmonics about the Nyquist frequency. They can be ruled out by changing the Nyquist frequency itself by using a light curve sampled at a different rate: if the feature does not change frequency, one can safely rule out that the feature is an alias of the 890 Hz frequency.

In very early observations (prior to 2012 August), there was an additional source of periodic dead time from housekeeping operations being run every 1, 4, and 8 s. A PDS of these early observations will typically show strong features at 0.125, 0.25, and all integer frequencies up to ∼30 Hz.

Footnotes

Please wait… references are loading.
10.3847/1538-4357/abd1d6