Telescope geometry (pyoof.telgeometry)

Introduction

To apply the OOF holography first we need to model the antenna and its geometry. These properties include the type of telescope, Cassegrain, Gregorian, etc, and how/where is the sub-reflector located in the aperture plane (if there is any). The type of the telescope will give information about the optical path carried every time OOF observations are performed and the location of the sub-reflector will give a truncation over the aperture plane. Both og them fundamental to achieve a good least squares minimization.

Using telgeometry

Using the telescope geometry functions is straight forward, simply by defining a meshed array and replacing them in the function.

Note

Unfortunately for now there are only pre-made functions for the Effelsberg telescope, plus a manual version of the functions. The user is encouraged to develop their own functions for the telescope geometry. In future versions this will be updated.

Blockage distribution \(B(x, y)\)

The blockage distribution corresponds to the elements that block incoming radiation in the aperture plane [Baars]. This could be the support legs, the sub-reflector and shade effects. And for the Effelsberg telescope, all three of them are present. How to construct the blockage follows,

import numpy as np
import matplotlib.pyplot as plt
from astropy import units as u
from pyoof import telgeometry

pr = 50. * u.m  # primary reflector radius
x = np.linspace(-pr, pr, 1000)
xx, yy = np.meshgrid(x, x)

B = telgeometry.block_effelsberg()(xx, yy)

fig, ax  = plt.subplots()
ax.imshow(B, extent=[-pr.value, pr.value] * 2, cmap='viridis')
ax.set_xlabel('$x$ m')
ax.set_ylabel('$y$ m')
ax.set_title('Blockage distribution Effelsberg telescope')

(Source code, png, hires.png, pdf)

../_images/index-12.png

To construct manually the blockage distribution, using the pre-made function block_manual, basic geometrical aspects from the telescope are required, such as the primary reflector and sub-reflector radii, dimensions of the support legs, etc.

Optical path difference function \(\delta(x, y; d_z)\)

The optical path difference (OPD) function, in Cassegrain and Gregorian geometries is characterized by their primary reflector focus and their effective focal length. No other information is required and it is a purely theoretical formula (ray-tracing). There is also an included manual version for the OPD function and the user is encourage to develop her/his own version of it.

Note

If you are interested in its theoretical derivation send me an email!

Same as before the OPD function for the Effelsberg telescope is already made,

import numpy as np
import matplotlib.pyplot as plt
from astropy import units as u
from pyoof import telgeometry

pr = 50 * u.m  # primary reflector radius
x = np.linspace(-pr, pr, 1000)

delta = []
for d_z in [-2.2, 0, 2.2] * u.cm:
    delta.append(telgeometry.opd_effelsberg(x=x, y=0, d_z=d_z))

fig, ax = plt.subplots()

labels = ['$\\delta(r ;d_z^-)$', '$\\delta(r ;0)$', '$\\delta(r ;d_z^+)$']
for i in range(3):
    ax.plot(x, delta[i], label=labels[i])

ax.grid(True, ls='--')
ax.set_xlabel('$r$ m')
ax.set_ylabel('$\\delta(r; d_z)$')
ax.set_title('OPD function Effelsberg telescope')
ax.legend(loc='upper right')

(Source code, png, hires.png, pdf)

../_images/index-21.png

From the plot, it becomes clear that by adding a radial offset of \(d_z=0\) m the solution becomes flat.

Note

The presented distribution/functions are a good first order approximation that follow ray-tracing optics. In reality light diffraction has a considerable effect in such measurements.

References

Baars

Baars, J. and Kärcher, H., 2018. Radio Telescope Reflectors: Historical Development of Design and Construction. Springer.

See Also

Reference/API

pyoof.telgeometry Package

This sub-package contains the geometrical properties of radio telescopes. There are ready to use specific telescope structures and a block_manual for different set ups.

Functions

block_effelsberg([alpha])

Truncation in the aperture (amplitude) distribution, \(B(x, y)\), given by the telescope’s structure; i.e. support legs, sub-reflector and shade effect as seen from the secondary focus of the Effelsberg telescope.

block_manual(pr, sr, a, L)

Truncation for the aperture (amplitude) distribution, \(B(x, y)\), manual set up for the primary radius (pr), sub-reflector radius (sr), half-width of a support leg (a) and length of the support leg (L) measured from the edge of the sub-reflector radius.

opd_effelsberg(x, y, d_z)

Optical path difference (OPD) function, \(\delta(x,y;d_z)\).

opd_manual(Fp, F)

Optical path difference (OPD) function, \(\delta(x, yd_z)\).