ska_oso_pdm.sb_definition.csp

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

../../../_images/ska_oso_pdm_sb_definition_csp.svg

Class diagram for the modules within csp

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

  "csp_configurations": [
    {
      "config_id": "csp config 123",
      "subarray": {
        "subarray_name": "science period 23"
      },
      "common": {
        "subarray_id": 1,
        "band_5_tuning": [
          5.85,
          7.25
        ]
      },
      "cbf": {
        "fsps": [
          {
            "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.

  "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 ska_oso_pdm.sb_definition.csp.csp_configuration module defines a simple Python representation of CSP configurations.

class CSPConfiguration(*, config_id: str | None = None, subarray: SubarrayConfiguration | None = None, common: CommonConfiguration | None = None, cbf: CBFConfiguration | None = None, lowcbf: LowCBFConfiguration | None = None, pst: PSTConfiguration | None = None, pss: PSSConfiguration | None = None)[source]

Class to hold all CSP configuration.

Parameters:
  • config_id – an ID for CSP configuration

  • subarray_config – Sub-array configuration to set

  • common_config – the common CSP elements to set

  • cbf_config – the CBF configurations to set

  • lowcbf_config – the LowCBF configurations to set

  • pst_config – the PST configurations to set

  • pss_config – the PSS configurations to set

The ska_oso_pdm.sb_definition.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)[source]

Class to hold the CSP sub-elements.

Parameters:
  • subarray_id – an ID of sub-array device (optional)

  • band_5_tuning – list of integer (optional)

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

class CBFConfiguration(*, fsps: List[FSPConfiguration] = None, vlbi: VLBIConfiguration | None = None)[source]

Class to hold all FSP and VLBI configurations.

Parameters:
  • fsps – List of the FSP configurations to set

  • vlbi – the VLBI configuration to set (optional)

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

FSPConfiguration defines the configuration for a CSP Frequency Slice Processor.

Channel averaging map is an optional list of 20 x (int,int) tuples.

Parameters:
  • fsp_id – FSP configuration ID [1..27]

  • function_mode – FSP function mode

  • frequency_slice_id – frequency slicer ID [1..26]

  • zoom_factor – zoom factor [0..6]

  • integration_factor – integer multiple of correlation integration time (140ms) [1..10]

  • channel_averaging_map – Optional channel averaging map

  • output_link_map – Optional output_link_map

  • channel_offset – Optional channel offset value in integer

  • zoom_window_tuning – Optional zoom window tuning value in integer

class FSPFunctionMode(value)[source]

FSPFunctionMode is an enumeration of the available FSP modes.

The ska_oso_pdm.sb_definition.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.

Parameters:
  • stations – Subarray Stations and station beam descriptions

  • vis – Visibility output descriptions

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

StationBeamConfiguration defines the LOW.CBF station beam description.

Parameters:
  • stn_beam_id – Station beam ID

  • freq_ids – list of station beam frequency IDs

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

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

Parameters:
  • sdp_channel – SDP channel ID.

  • ip_addr – IP address of this channel

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

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

Parameters:
  • sdp_channel – SDP channel

  • server_mac – server MAC

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

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

Parameters:
  • sdp_channel – SDP channel number

  • udp_port – UDP port

  • stride – stride

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

Class to hold LOW.CBF station configuration.

Parameters:
  • stns – The subarray stations of this StationConfiguration.

  • stn_beams – The station beam descriptions of this StationConfiguration.

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

Class to hold the Visibility Configuration.

Parameters:
  • fsp – The VisFSPConfiguration of this VisConfiguration.

  • stn_beams – The StationBeamConfiguration of this VisConfiguration.

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

Class to hold the FSPs used for correlation.

Parameters:
  • function_mode – Function mode name

  • fsp_ids – List of integer FSP IDs

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.

Parameters:
  • stn_beam_id – station beam ID

  • host – SDP channel and IP address

  • port – SDP channel, UDP port, and stride

  • mac – SDP channel and server MAC

  • integration_ms – milliseconds integration

The ska_oso_pdm.sb_definition.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.

Parameters:

sub-array_name – Name of the sub-array

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

class PSTConfiguration[source]

Class to hold PST configurations.

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

class PSSConfiguration[source]

Class to hold PSS configurations.