The Timing & Noise Model

The pulsar timing & noise model (a.k.a. pulsar ephemeris) is a generative mathematical model for the TOA measurements and uncertainties (and the DM measurements & uncertainties in the wideband paradigm). The timing residuals are the differences between measured TOAs and the TOAs predicted by the timing model. See Hobbs+ 2006 and Edwards+ 2006 for details.

The physical and instrumental effects that affect one TOA at a time are represented as Components, and the effects that are correlated across multiple TOAs are modeled as a Kernel.

Vela.ComponentType
Component

Abstract base type of all timing & noise model components which affect one TOA at a time.

source

Each component has a correct_toa() method which produces a TOA correction.

Vela.correct_toaFunction
correct_toa(::Component, ::TOABase, ::TOACorrectionBase, ::NamedTuple)

Correct the TOA using a delay, phase, observing frequency shift, uncertainty scaling, doppler factor, etc.

source

Kernels will be discussed in its own section.

TOA corrections

A TOA correction as mentioned above can be one or more of the following:

  1. A delay that modifies the TOA value
  2. A phase correction that modifies the TOA phase
  3. A Doppler correction that modifies the observing frequency and the pulsar spin frequency
  4. An EFAC or EQUAD that modifies the TOA uncertainty
  5. A DM correction that modifies the wideband DM measurement
  6. A DMEFAC or DMEQUAD that modifies the wideband DM uncertainty

The accumlated TOA corrections are represented by the TOACorrection and WidebandTOACorrection types, which are derived from TOACorrectionBase.

Vela.TOACorrectionBaseType
TOACorrectionBase

An abstract base class representing accumulated timing & noise model corrections applied to a TOA.

source
Vela.TOACorrectionType
TOACorrection

The accumulated timing & noise model corrections applied to a narrowband TOA.

source

The following methods extract some of the corrected quantities of interest.

Vela.doppler_shifted_spin_frequencyFunction
doppler_shifted_spin_frequency(::TOACorrection)

Spin frequency in topocentric or barycentric frame, depending on the correction level. The spin_frequency is originally in the pulsar frame.

source
Vela.dm_residualFunction
dm_residual(::DMInfo, ::DMInfoCorrection)

Compute DM residual corresponding to a wideband TOA.

source

There are three types of Components as shown below based on what type of corrections they provide.

Component
├─ DelayComponent
│  ⋮
│  
├─ PhaseComponent
│  ⋮
│  
└─ WhiteNoiseComponent
   ⋮
   

Delay components

DelayComponents correct the measured TOA by subtracting certain delays.

Vela.DelayComponentType
DelayComponent

Abstract base type of all timing model components which contribute a time delay correction to a TOA.

source

DelayComponent has further subtypes which represent different physical processes producing delays.

DelayComponent
├─ BinaryComponent
│  ⋮
│  
├─ ChromaticComponent
│  ⋮
│  
├─ DispersionComponent
│  ⋮
│  
├─ FrequencyDependentBase
│  ⋮
│  
├─ RedNoiseBase
│  ⋮
│  
└─ SolarSystem

Solar system delays

Vela.SolarSystemType

Solar system Rømer delay, Parallax delay, and Shapiro delay.

Corresponds to AstrometryEquatorial, AstrometryEcliptic, and SolarSystemShapiro in PINT.

Reference: Edwards+ 2006

source

In addition to a delay, SolarSystem also producess a Doppler correction which applies to the observing frequency and the pulsar spin frequency.

This component barycenters the TOA. It will skip TOAs that are already barycentered, e.g., TOAs measured using space-based telescopes. The is_barycentered() function checks whether a TOA has been barycentered.

Dispersion delays

DispersionComponents represent the dispersion of the radio waves due to the free electrons present along the line of sight to the pulsar. This may include the ionized interstellar medium as well as solar wind.

Vela.DispersionComponentType
DispersionComponent

Abstrct base type of all timing model components which provide a dispersion measure correction.

source

DispersionComponents provide a delay and a DM correction (for wideband TOAs), which are related by the equation $\Delta_{\text{DM}} = K * \text{DM} / \nu^2$. The dispersion correction is computed via the dispersion_slope() function.

Vela.dispersion_slopeFunction
dispersion_slope(::DispersionComponent, ::TOA, ::TOACorrection, ::NamedTuple)

Compute the dispersion slope corresponding to a TOA.

source

The DispersionComponents available in Vela.jl are

DispersionComponent
├─ DispersionNoiseBase
│  ├─ DMWaveX
│  └─ PowerlawDispersionNoiseGP
├─ DispersionPiecewise
├─ DispersionTaylor
├─ SolarWind
│  └─ SolarWindDispersion
├─ DispersionJumpBase
│  ├─ DispersionJump
│  └─ ExclusiveDispersionJump
└─ DispersionOffsetBase
   ├─ DispersionOffset
   └─ ExclusiveDispersionOffset

The most basic DispersionComponent is DispersionTaylor.

DMWaveX and PowerlawDispersionNoiseGP provide two representations of the dispersion noise / stochastic DM variations.

Vela.DMWaveXType
DMWaveX

An unconstrained Fourier series representation of the dispersion noise. Corresponds to the DMWaveX component in PINT.

Reference: Susobhanan+ 2024

source
Vela.PowerlawDispersionNoiseGPType
PowerlawDispersionNoiseGP

A Fourier series Gaussian process representation of the dispersion noise where the power spectral density is assumed to be a power law. Corresponds to PLDMNoise in PINT.

Reference: Lentati+ 2014

source

See also Red noise models.

SolarWindDispersion is a simple model for solar wind dispersion.

Vela.SolarWindDispersionType
SolarWindDispersion

Solar wind model assuming a spherically symmetric distribution of electrons which falls off as an inverse-square function of the distance from the Sun. Corresponds to the SolarWindDispersion model in PINT.

Reference: Edwards+ 2006

source

Alternatively, DM variations can be modeled as a simple piecewise-constant function using DMX parameters. This is available through the DispersionPiecewise component.

DispersionJump and DispersionOffset represent two types of system-dependent dispersion offsets.

Vela.DispersionJumpType
DispersionJump

System-dependent wideband DM offsets (DMJUMP) with non-exclusive selection masks.

Unlike an FDJUMPDM, a DMJUMP only provides a DM correction and no delay. Corresponds to DispersionJump in PINT.

Reference: Alam+ 2021

source

Chromatic delays

Chromatic delays are similar to dispersion delays, but have a different powerlaw dependence on the observing frequency. Such delays can occur due to interstellar scattering or frequency-dependent dispersion. A chromatic delay is given by $\Delta_{\text{CM}} = K * \text{CM} / \nu^\alpha$ where CM is called the chromatic measure, and $\alpha$ is called the chromatic index. The effect of chromatic effects on wideband TOAs is not well-understood.

ChromaticComponent
├─ ChromaticPiecewise
├─ ChromaticTaylor
└─ ChromaticNoiseBase
   ├─ CMWaveX
   └─ PowerlawChromaticNoiseGP
Vela.ChromaticTaylorType
ChromaticTaylor

Taylor series representation of the chromatic measure.

Corresponds to ChromaticCM in PINT.

source
Vela.CMWaveXType
CMWaveX

A Fourier series representation of the variable-index chromatic red noise. Corresponds to the CMWaveX component in PINT.

Reference: Susobhanan+ 2024

source
Vela.PowerlawChromaticNoiseGPType
PowerlawDispersionNoiseGP

A Fourier series Gaussian process representation of the chromatic noise where the power spectral density is assumed to be a power law. Corresponds to PLChromNoise in PINT.

Reference: Lentati+ 2014

source

See also Red noise models.

Chromatic variations can also be modeled as a simple piecewise-constant function using CMX parameters. This is available through the ChromaticPiecewise component.

Vela.ChromaticPiecewiseType

Piecewise-constant representation of the chromatic measure with a constant chromatic index.

Corresponds to ChromaticCMX in PINT. Does not support overlapping ranges.

source

Binary delays

Similar to solar system delays, the binary motion of the pulsar also introduces various delays to the TOAs, including Rømer delay, Shapiro delay, and Einstein delay.

Different binary models are used based on the properties of the binary orbit.

BinaryComponent
├─ BinaryDDBase
│  ├─ BinaryDD
│  ├─ BinaryDDH
│  ├─ BinaryDDK
│  └─ BinaryDDS
└─ BinaryELL1Base
   ├─ BinaryELL1
   ├─ BinaryELL1H
   └─ BinaryELL1k

Vela.jl has two families of binary models. The ELL1 family is used for nearly circular binaries and the DD family is used for eccentric orbits. The different models are characterized by their treatment of Shapiro delay, Kopeikin corrections, etc.

Vela.BinaryELL1HType
BinaryELL1H

A binary model representing a nearly circular orbit with orthometric parametrization of the Shapiro delay. The Shapiro delay computed in this model does not include the Fourier components that are fully covariant with the Rømer delay.

Reference: Lange+ 2001, Freire & Wex 2010

source
Vela.BinaryELL1kType
BinaryELL1k

A binary model representing a nearly circular orbit with large advance of periapsis. The difference between this model and ELL1 is that this model features an exact treatment of advance of periapsis whereas ELL1 uses a linear approximation.

Reference: Susobhanan+ 2018

source

Frequency-dependent delays

Unmodeled frequency-dependent profile evolution can manifest as frequency-dependent delays in narrowband TOAs. These are taken care during timing using certain phenomenological models listed below.

Vela.FrequencyDependentJumpType
FrequencyDependentJump

A system- & frequency-dependent delay to account for frequency-dependent profile evolution. This is useful while combining TOAs generated by different experiments with different TOA measurement procedures. Corresponds to FDJump in PINT.

Reference: Susobhanan+ 2024

source

Spin noise

Rotational irregularities of the pulsar causes stochastic modulations on the TOAs. We represent these modulations as a Fourier series in time.

Vela.WaveXType
WaveX

An unconstrained Fourier series representation of the achromatic red noise. Corresponds to the WaveX component in PINT.

Reference: Susobhanan+ 2024

source
Vela.PowerlawRedNoiseGPType
PowerlawRedNoiseGP

A Fourier series Gaussian process representation of the achromatic red noise where the power spectral density is assumed to be a power law. Corresponds to PLRedNoise in PINT.

Reference: Lentati+ 2014

source

See also Red noise models.

Phase components

A PhaseComponent contributes to the phase computation from a delay-corrected TOA.

Vela.PhaseComponentType
PhaseComponent

Abstract base type of all timing model components which contribute a phase correction to a TOA.

source

The hierarchy of PhaseComponents is given below.

PhaseComponent
├─ Glitch
├─ PhaseOffset
├─ Spindown
└─ PhaseJumpBase
   ├─ ExclusivePhaseJump
   └─ PhaseJump
Vela.PhaseJumpType
PhaseJump

System-dependent phase jumps with non-exclusive selection masks. Corresponds to PhaseJump in PINT.

Reference: Hobbs+ 2006

source

White noise components

These components modify the TOA or DM uncertainty in some manner.

WhiteNoiseComponent
├─ DispersionMeasurementNoise
└─ MeasurementNoise
Vela.MeasurementNoiseType
MeasurementNoise

Modifications to the measured TOA uncertainties: EFACs (error factors) and EQUADs (errors added in quadrature). Assumes that the EFACs & EQUADs are exclusive. Corresponds to ScaleToaErrors in PINT.

Reference: Lentati+ 2014

source
Vela.DispersionMeasurementNoiseType
DispersionMeasurementNoise

Modifications to the measured wideband DM uncertainties: DMEFACs and DMEQUADs. Assumes that the DMEFACs & DMEQUADs are exclusive. Corresponds to ScaleDmErrors in PINT.

Reference: Alam+ 2021

source

Order of components

It should be noted that the action of different Components do not commute in general. Therefore, they must be applied in the correct order to get sensible results. The order followed by Vela.jl is roughly as follows:

  1. Delay corrections a. Solar system effects b. Interstellar medium effects c. Pulsar binary effects
  2. Phase computation a. Pulsar rotational effects
  3. Uncertainty corrections a. Measurement noise corrections

The TZR TOA

The pulse phases are measured with respect to a fictitious fiducial TOA called the TZR TOA (TZR stands for t_zero). This is represented using a TOA object, but is distinguished from physical TOAs using the tzr attribute. The make_tzr_toa() function creates a TZR TOA and the is_tzr() function checks whether a TOA is a TZR TOA. A TZR TOA is always narrowband.

Vela.make_tzr_toaFunction
make_tzr_toa(tzrtdb::GQ{Double64}, tzrfreq::GQ{Float64}, tzrephem::SolarSystemEphemeris)::TOA

Create a TZR TOA object.

source

The TimingModel type

A timing & noise model is represented by the TimingModel type.

It has the following contents:

  1. Pulsar name (PSR), solar system ephemeris name (EPHEM), name of the TT timescale realization (CLOCK), etc.
  2. An ordered collection of Components
  3. A Kernel
  4. A TZR TOA
  5. A ParamHandler containing information about model parameters.
  6. An ordered collection of Priors for each free parameter

These are explained in the following sections.