comnum.PointingError#

class comnum.PointingError(beam_radius_m, aperture_radius_m, jitter_m)#

The misalignment of a Gaussian beam on a circular aperture, a Rayleigh radial displacement (Farid & Hranilovic 2007).

Parameters:
  • beam_radius_m (float) – the beam radius at the receiver (m).

  • aperture_radius_m (float) – the radius of the aperture (m).

  • jitter_m (float) – the standard deviation of the displacement per direction (m).

Raises:

ValueError – for an invalid parameter (the message names it).

a0()#

The fraction A₀ = erf²(v) collected without displacement.

Returns:

A₀.

Return type:

float

collected(r_m)#

The fraction of the power collected at a radial displacement.

Parameters:

r_m (float | array_like) – the displacements (m).

Returns:

the fraction, of the shape of r_m.

Return type:

float | numpy.ndarray

Raises:

ValueError – for values that are not real numbers.

draw(n, rng)#

Independent draws of the collected fraction (a Rayleigh displacement).

Parameters:
  • rng (Rng) – the generator.

  • n (int) – the number of draws.

Returns:

(n,) (float64).

Return type:

numpy.ndarray

Raises:

ValueError – for a negative count.

equivalent_radius_m()#

The equivalent beam radius (m).

Returns:

the radius (m).

Return type:

float

pdf(h)#

The density of the collected fraction.

Parameters:

h (float | array_like) – the fractions, in (0, A₀].

Returns:

the density, of the shape of h.

Return type:

float | numpy.ndarray

Raises:

ValueError – for values that are not real numbers.