displace_phasescreen

ska_sdp_func_python.calibration.ionosphere_utils.displace_phasescreen(interpolated_screen, res, r_0, beta)[source]

Distort interpolated phasescreen to maintain Kolmogorov statistics.

Add extra random phase shifts to phasescreen elements interpolated with interpolate_phasescreen. This follows the midpoint displacement method described in “Simulation of a Kolmogorov phase screen,” Lane, Glindemann & Dainty (1992) Waves in Random Media, 2, 209–224.

The bilinear interpolation from interpolate_phasescreen results in new points that have a certain amount of extra variance relative to the points being interpolated. And this extra variance will be different from that required to maintain the structure function.

Midpoint Displacement is the technique of adding a little more variation to be consistent with r_0 and beta at the interpolated scale.

For the interpolated centres of squares in interpolate_phasescreen, the four initial points are each assumed to be a gaussian random variable plus a second random variable connecting it to the sample on the other size of the midpoint. # a b # m # c d Midpoint m sees the independent variable of a and half the correlated variable for a and d, along with the independent variable of b and half the correlated variable for b and c. This can all be combined and compared with the required variation given by the structure function: var(separation) = (separation / r_0)**beta.

Parameters:
  • interpolated_screen – input interpolated phase screen

  • res – resolution of phase screen prior to interpolation [m]

  • r_0 – indiffractive scale [m]reen

  • beta – exponent of the power spectrum

Returns:

displaced phase screen