AntennaField-HB (AFH), AntennaField-LB (AFL)

The afh == DeviceProxy("STAT/AFH/HBA") device represents a set of antennas or tiles that collectively form a High-Band antenna field.

The afl == DeviceProxy("STAT/AFL/LBA") device represents a set of antennas that collectively form a Low-Band antenna field.

They represent a selection of inputs from one or more RECV devices, mapped onto an SDP device, annotated with metadata such as positional information.

nr_antennas_R:

The number of antennas or tiles in the antenna field.

type:

uint32

It provides many settings that map onto the RECV device directly, serving as a funnel:

ANT_mask_RW:

Which antennas are configured when writing settings.

type:

bool[N_antennas]

Warning

Any antennas in the field that are not connected to any RECV device will return default values (f.e. False or 0).

Observation setup

To use the AntennaField for an observation, it and its downstream RECV and SDP devices must be configured correctly. We provide the following functionality:

Frequency_Band_RW:

Which frequency band to select for each antenna, f.e. LBA_10_90. Must be compatible with the antenna type of the field. Writing to this attribute configures and calibrates both RECV and SDP accordingly. When read, it returns “” for any antenna that has an unknown setup.

type:

str[N_antennas]

Positions

The following attributes expose positional information about the individual antennas in the field, in different formats:

Antenna_Reference_GEO_R:

Reference position of each HBA tile, in latitude/longitude (degrees).

type:

float64[N_tiles][2]

Antenna_Field_Reference_GEO_R:

Reference position of the antenna field, in latitude/longitude (degrees).

type:

float64[2]

Additionally, the ITRF and GEOHASH variants provide the same information, but in ITRF (x/y/z, metres), and in Geohash strings, respectively.

Also, the offsets of the elements within each HBA tile are provided:

HBAT_antenna_ITRF_offsets_R:

Relative position of each HBA tile element with respect to the tile reference.

type:

float64[N_tiles][N_elements * 3]

shape:

float64[N_tiles][N_elements][3]

Configuration

The antennas represented by the antenna field are selected by the following properties:

RECV_devices:

The list of RECV devices from which antennas are selected.

type:

str[]

SDP_device:

The SDP device that processes the antennas.

type:

str

Antenna mapping

These properties configure which inputs in RECV represent the power and control for each antenna:

HBAT_Power_to_RECV_mapping:

Pairs of numbers (recv_idx, ant_idx) describing the inputs on which the HBAT power is connected. The recv_idx is the index in RECV_devices, starting at 1. The ant_idx is the absolute index of the antenna in the RECV device. A value of -1 means the antenna is not connected at all.

type:

int32[]

shape:

int32[][2]

Control_to_RECV_mapping:

Pairs of numbers (recv_idx, ant_idx) describing the inputs on which the Antenna control is connected. The recv_idx is the index in RECV_devices, starting at 1. The ant_idx is the absolute index of the antenna in the RECV device. A value of -1 means the antenna is not connected at all.

Positions

The positions are given in ETRS, using the following properties:

Antenna_Reference_ETRS:

Reference position of each HBA tile, in ETRS (x/y/z, metres).

type:

float64[N_tiles][3]

Antenna_Field_Reference_ETRS:

Reference position of the antenna field, in ETRS (x/y/z, metres).

type:

float64[3]

ITRF_Reference_Frame:

Reference frame to use for converting ETRS to ITRF (f.e. “ITRF2005”).

type:

str

ITRF_Reference_Epoch:

Epoch towards which to extrapolate the ITRF frame, typically in half-year increments (f.e. 2015.5).

type:

float32

For the ETRS positions, there is an alternative to provide them using the respective ITRF property, which overrides the automatic ETRS-to-ITRF conversion.

HBAT element positions

The positions of the elements within an HBA tile are handled differently. Instead of storing the positions of each of the 16 elements in each tile, we use the fact that the relative positions of the elements within each tile is fixed, and that in LOFAR stations, all the HBA tiles of a station are on the same plane (instead of following the curvature of the Earth). This plane is given its own station-local coordinates, the PQR system:

  • It’s origin is at a chosen center of the station,

  • The Q axis is aligned with an absolute North (not the North of the station, which would be a different direction per station),

  • The P axis is roughly East,

  • The R axis is roughly down,

  • The HBA tiles on a station all lie on the same PQ plane, so R == 0.

These facts allow us to use the following information to calculate the absolute position of each tile element. The conversion takes the relative offsets of the elements within a tile, rotates them in PQR space, rotates those into relative ETRS offsets, and finally into absolute positions in ETRS. See tangostationcontrol.tilebeam.hba_tile for these computations.

recv.HBAT_PQR_rotation_angles_deg:

(property) The horizontal rotation of each HBA tile in the PQ plane, in degrees (Q -> P).

type:

float[96]

recv.PQR_to_ETRS_rotation_matrix:

(property) The 3D rotation matrix to convert PQR coordinates into relative ETRS coordinates.

type:

float[3][3]