decompose_phasescreen

ska_sdp_func_python.calibration.ionosphere_utils.decompose_phasescreen(x, y, r_0, beta=1.6666666666666667)[source]

Generate eigenvectors for phase-screen pierce points.

Generation and eigen-decomposition of pierce-point covariance matrix with Kolmogorov statistics. Used for generation of turbulent phase shifts and phase screens. Based on the algorithm from “Fast simulation of a Kolmogorov phase screen,” Harding, Johnston & Lane (1999) Applied Optics, 38 (11).

This can be used to generate random phase shifts for pierce points between stations and radio sources, however the processing time increases rapidly as the number of pierce points increases. For many pierce points it is recommended to use this function to generate phase shifts for vertices of a coarse 2D grid, and functions interpolate_phasescreen and displace_phasescreen to extend the Kolmogorov statistics to higher resolutions. Such grids also allow for sidereal motion of pierce points across them, resulting in time variation of the phases.

Parameters:
  • x – coordinates of 1st pierce-point dimension

  • y – coordinates of 2nd pierce-point dimension

  • r_0 – diffractive scale [m]

  • beta – exponent of the power spectrum (defaults to 5/3)

Returns:

eigenvector matrix

Returns:

sqrt(eigenvalues) vector