Visibility Calculations¶
This section assumes a basic understanding on radio interferometry, assuming you know what visibilities and baselines are, and are familiar with the \(u,v,w\) and \(l,m,n\) coordinate systems. I can recommend Thompson, Moran, & Swenson 2017 if you are looking to learn / refresh these concepts. Some of this section is basically a copy/paste from Line et al. 2020.
Note
In Line et al. 2020, I detailed that I was using the atomicAdd functionality in CUDA. This is no longer true, as I’ve found a loop inside my kernels is actually faster than being fully parallel and using atomicAdd. The calculations being made have remained the same.
Measurement Equation and Point Sources¶
WODEN analytically generates a sky model directly in visibility space via the measurement equation (c.f. Thompson, Moran, & Swenson 2017). Ignoring the effects of instrumental polarisation and the primary beam, this can be expressed as:
where \(V_s(u,v,w)\) is the measured visibility in some Stokes polarisation \(s\) at baseline coordinates \(u,v,w\), given the sky intensity \(\mathcal{S}\), which is a function of the direction cosines \(l,m\), and \(n=\sqrt{1-l^2-m^2}\). This can be discretised for point sources such that
where \(u_i,v_i,w_i\) are the visibility co-ordinates of the \(i^{\mathrm{th}}\) baseline, and \(l_j\), \(m_j\), \(n_j\) is the sky position of the \(j^{\mathrm{th}}\) point source.
Stokes parameters \(\mathcal{S}_I, \mathcal{S}_Q, \mathcal{S}_U, \mathcal{S}_V\) are all extrapolated from an input catalogue, along with the position on the sky. \(u,v,w\) are set by a supplied array layout, phase centre, and location on the Earth.
Note
\(u_i,v_i,w_i\) and \(\mathcal{S}\) are also functions of frequency, so must be calculated for each frequency steps as required.
Apply Linear Stokes Polarisations and the Primary Beam¶
WODEN simulates dual-linear polarisation antennas, with each antenna/station having it’s own primary beam shape. I can define the response of a dual polarisation antenna to direction \(l,m\) as
where \(g\) are gain terms, \(D\) are leakage terms, and \(x\) refers to a north-south aligned antenna, and \(y\) an east-west aligned antenna. When calculating the cross-correlation responses from antennas 1 and 2 towards direction \(l,m\) to produce linear polarisation visibilities, these gains and leakages interact with the four Stokes polarisations \(I,Q,U,V\) as
where \(*\) denotes a complex conjugate, and \(\otimes\) an outer product. Explicitly, each visibility is
For each baseline, frequency, and time step, WODEN calculates all four linear polarisations as defined above for all directions \(l_j,m_j\) in the sky model, and then sums over \(j\), to produce four full-sky linear Stokes polarisation visibilities per baseline/frequency/time.
Gaussian and Shapelet sources¶
You can inject morphology into your sources analytically by tranforming a visibility into a Gaussian or Shapelet source. We utilise the RTS methodology of inserting a visibility “envelope” \(\xi\) into the visibility equation:
For a Gaussian, this envelope looks like
where \(\theta_\mathrm{maj}\) and \(\theta_\mathrm{min}\) are the major and minor axes and \(\phi_{\textrm{PA}}\) the position angle of an elliptical Gaussian.
For a shapelet model, the envelope looks like:
where \(u_{i,j},v_{i,j}\) are visibility co-ordinates for baseline \(i\), calculated with a phase-centre \(RA_j,\delta_j\), which corresponds to the central position \(x_0,y_0\) used to fit the shapelet model in image-space. The shapelet basis function values \(\tilde{B}_{p_k,p_l}(u,v)\) can be calculated by interpolating from one dimensional look-up tables of \(\tilde{B}(k_x;1)\), and scaling by the appropriate \(\beta\) (c.f. Equation 1 in Line et al. 2020 - see for a introduction and breakdown of shapelets bais functions).
You can see the difference between the three types of sky model component below. You can generate this plot yourself, checkout the section Grid Component Models.