scan

Defines what a radar observation schema is in the form of a class.

Module summary

Classes

Scan([coordinates])

Encapsulates the observation schema of a radar system, i.e.

Contents

Scan

class sorts.radar.scans.scan.Scan(coordinates='enu')[source]

Bases: abc.ABC

Encapsulates the observation schema of a radar system, i.e. its “scan”.

Parameters

coordinates (str) – The coordinate system used, can be 'azelr', 'ned' or 'enu'. If azelr is used, degrees are assumed.

Pointing function:

The pointing function must follow the following standard:

  • Take in time in seconds past reference epoch in seconds as first argument.

  • Take any number of keyword arguments.

  • It must return the pointing coordinates as an (3,), (3,n) or (3,n,m) numpy ndarray where n is the length of the input time vector and m is the number of simultaneous pointing directions.

  • Units are in meters.

  • Should be vectorized according to time as the second axis.

Example pointing function:

import numpy as np
#TODO

Coordinate systems:

azelr

Azimuth, Elevation, Range in degrees east of north and above horizon.

ned

Cartesian coordinates in North, East, Down.

enu

Cartesian coordinates in East, North, Up.

check_dwell_tx(tx)[source]

Checks if the transmitting antenna pulse pattern and coherent integration schema is compatible with the observation schema. Raises an Exception if not.

Parameters

tx (sorts.radar.TX) – The antenna that should perform this scan.

copy()[source]

Return a copy of the current instance.

cycle()[source]

The cycle time of the scan if applicable.

dwell(t)[source]

The current dwell time of the scan.

ecef_pointing(t, ant)[source]

Returns the instantaneous WGS84 ECEF pointing direction and the radar geographical location in WGS84 ECEF coordinates.

Parameters

t (float) – Seconds past a reference epoch to retrieve the pointing at.

enu_pointing(t)[source]

Returns the instantaneous pointing in East, North, Up (ENU) local coordinates.

Parameters

t (float/numpy.ndarray) – Seconds past a reference epoch to retrieve the pointing at.

min_dwell()[source]

If there are dynamic dwell times, this is the minimum dwell time. Otherwise, returns same as dwell.