ska_oso_pdm.entities.csp

The csp module models SB entities concerned with CSP (Central Signal Processing) beam former and correlator configuration. The contents of the module are presented in the diagram below.

../../../_images/csp.png

Class diagram for the modules within csp

An example serialisation of SKA-Mid CSP to JSON is shown below.

  # JSON modelled specifically by csp_configuration
  ...
"csp_configurations": [{
  "config_id": "csp-mvp01-20220329-00001",
  "subarray": {"subarray_name": "science period 23"},
  "common": {
    "subarray_id": 1,
    "band_5_tuning": [5.85,7.25]
  },
  "cbf": {
    "fsp": [{
      "fsp_id": 1,
      "function_mode": "CORR",
      "frequency_slice_id": 1,
      "integration_factor": 1,
      "zoom_factor": 0,
      "channel_averaging_map": [[0,2],[744,0]],
      "channel_offset": 0,
      "output_link_map": [[0,0],[200,1]]
    },
    {
      "fsp_id": 2,
      "function_mode": "CORR",
      "frequency_slice_id": 2,
      "integration_factor": 1,
      "zoom_factor": 1,
      "zoom_window_tuning": 650000
    }]
  }
}],
  ...

An example serialisation of SKA-Low CSP to JSON is shown below.

  # JSON modelled specifically by csp_configuration
  ...
"csp_configurations": [{
  "config_id": "csp-mvp01-20220329-00001",
  "lowcbf": {
    "stations": {
      "stns": [
        [1, 1], [2, 1], [3, 1], [4, 1], [5, 1], [6, 1]
      ],
      "stn_beams": [{
        "stn_beam_id": 1,
        "freq_ids": [400]
      }]
    },
    "vis": {
      "fsp": {
        "function_mode": "vis",
        "fsp_ids": [1]
      },
      "stn_beams": [{
        "stn_beam_id": 1,
        "host": [{
          "sdp_channel": 0,
          "ip_addr": "192.168.1.100"
        }],
        "port": [{
          "sdp_channel": 0,
          "udp_port": 9000,
          "stride": 1
        }],
        "mac": [{
          "sdp_channel": 0,
          "server_mac": "02-03-04-0a-0b-0c"
        }],
        "integration_ms": 849
      }]
    }
  }
}],
  ...

The entities.csp.csp_configuration module defines a simple Python representation of CSP configurations.

class CSPConfiguration(config_id: str | None = None, subarray_config: SubarrayConfiguration | None = None, common_config: CommonConfiguration | None = None, cbf_config: CBFConfiguration | None = None, lowcbf_config: LowCBFConfiguration | None = None, pst_config: PSTConfiguration | None = None, pss_config: PSSConfiguration | None = None)[source]

Class to hold all CSP configuration.

CSPConfigurationID

alias of str

The entities.csp.common module defines a Python representation of the

CSP Common configuration specification

class CommonConfiguration(subarray_id: int | None = None, band_5_tuning: List[float] | None = None)[source]

Class to hold the CSP sub-elements.

The entities.csp.cbf module defines a Python representation of CSP and FSP configurations.

class CBFConfiguration(fsp_configs: List[FSPConfiguration], vlbi_config: VLBIConfiguration | None = None)[source]

Class to hold all FSP and VLBI configurations.

class FSPConfiguration(fsp_id: int, function_mode: FSPFunctionMode, frequency_slice_id: int, integration_factor: int, zoom_factor: int, channel_averaging_map: List[Tuple] | None = None, output_link_map: List[Tuple] | None = None, channel_offset: int | None = None, zoom_window_tuning: int | None = None)[source]

FSPConfiguration defines the configuration for a CSP Frequency Slice Processor.

class FSPFunctionMode(value)[source]

FSPFunctionMode is an enumeration of the available FSP modes.

class VLBIConfiguration[source]

Class to hold VLBI configurations.

The entities.csp.lowcbf module defines a Python representation of the LOW CBF configuration

class LowCBFConfiguration(stations: StationConfiguration, vis: VisConfiguration)[source]

Class to hold the LOW CBF configuration specification

class StationBeamConfiguration(*, stn_beam_id: int, freq_ids: List[int])[source]

StationBeamConfiguration defines the LOW.CBF station beam description.

class StationBeamHost(*, sdp_channel: int, ip_addr: str)[source]

Class to hold the SDP channel & IP address for a station beam definition.

class StationBeamMac(*, sdp_channel: int, server_mac: str)[source]

Class to hold SDP channel & server MAC for station beam definitions.

class StationBeamPort(*, sdp_channel: int, udp_port: int, stride: int)[source]

Class to hold SDP channel, UDP port and stride for station beam definitions.

class StationConfiguration(*, stns: List[List[int]], stn_beams: List[StationBeamConfiguration])[source]

Class to hold LOW.CBF station configuration.

class VisConfiguration(fsp: VisFSPConfiguration, stn_beams: List[VisStationBeamConfiguration])[source]

Class to hold the Visibility Configuration.

class VisFSPConfiguration(function_mode: str, fsp_ids: List[int])[source]

Class to hold the FSPs used for correlation

class VisStationBeamConfiguration(*, stn_beam_id: int, integration_ms: timedelta, host: List[StationBeamHost], port: List[StationBeamPort], mac: List[StationBeamMac] | None = None)[source]

VisStationBeamConfiguration defines LOW CBF station beams from which to calculate visibilities.

The entities.csp.subarray module defines a Python representation of the Subarray configuration

class SubarrayConfiguration(subarray_name: str)[source]

Class to hold the parameters relevant only for the current sub-array device.

The entities.csp.pst module defines a Python representation of a PST Configuration.

class PSTConfiguration[source]

Class to hold PST configurations.

The entities.csp.pss module defines a Python representation of a PSS configurations.

class PSSConfiguration[source]

Class to hold PSS configurations.