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-configuration-12345",
      "name": "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
          }
        ]
      },
      "midcbf": {
        "frequency_band": "1",
        "subbands": [
          {
            "band_5_tuning": 12.3e9,
            "frequency_slice_offset": {
              "value": 0,
              "unit": "MHz"
            },
            "correlation_spws": [
              {
                "spw_id": 1,
                "logical_fsp_ids": [
                  1,
                  2
                ],
                "receptors":["SKA063", "SKA001", "SKA100"],
                "zoom_factor": 1,
                "centre_frequency": 800e6,
                "number_of_channels": 20000,
                "channel_averaging_factor": 1,
                "time_integration_factor": 1
              }
            ],
            "pst_spws": [
              {
                "spw_id": 2,
                "logical_fsp_ids": [
                  3
                ],
                "centre_frequency": 396291840,
                "number_of_channels": 3700
              }
            ]
          }
        ]
      }
    }
  ],

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

  "csp_configurations": [
    {
      "config_id": "csp-configuration-12345",
      "name": "csp config 123",
      "lowcbf": {
        "do_pst": true,
        "correlation_spws": [
          {
            "spw_id": 1,
            "logical_fsp_ids": [
              0,
              1
            ],
            "zoom_factor": 0,
            "centre_frequency": 199.609375e6,
            "number_of_channels": 96,
            "integration_time_ms": 849
          }
        ]
      }
    }
  ],
  "scan_definitions": [
    {
      "scan_definition_id": "scan 1",
      "target_ref": "target-12345",
      "mccs_allocation_ref": "mccs-allocation-74519",
      "csp_configuration_ref": "csp-configuration-12345",
      "scan_duration_ms": 64000,
      "scan_intent": "Science",
      "pointing_correction": "MAINTAIN"
    }
  ],
  "scan_sequence": [
    "scan 1"
  ]
}

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, name: str = '', subarray: SubarrayConfiguration | None = None, common: CommonConfiguration | None = None, cbf: CBFConfiguration | None = None, midcbf: MidCBFConfiguration | 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

  • name – a user-friendly name to identify the CSP configuration

  • subarray_config – Sub-array configuration to set

  • common_config – the common CSP elements to set

  • cbf_config – the CBF configurations to set

  • midcbf_config – the MidCBF 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] = <factory>)[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: ~typing.List[~ska_oso_pdm.sb_definition.csp.cbf.FSPConfiguration] = <factory>, vlbi: ~ska_oso_pdm.sb_definition.csp.cbf.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: ~ska_oso_pdm.sb_definition.csp.cbf.FSPFunctionMode, frequency_slice_id: int, integration_factor: int, zoom_factor: int, channel_averaging_map: list[tuple[int, int]] = <factory>, output_link_map: list[tuple] = <factory>, 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.midcbf module defines a Python representation of CSP and FSP configurations.

class ChannelAveragingFactor(value)[source]

An enumeration.

class CorrelationSPWConfiguration(*, spw_id: int, logical_fsp_ids: list[int], receptors: list[str] = <factory>, zoom_factor: int, centre_frequency: float, number_of_channels: int, channel_averaging_factor: ~ska_oso_pdm.sb_definition.csp.midcbf.ChannelAveragingFactor = ChannelAveragingFactor.ONE, time_integration_factor: int)[source]

CorrelationSPWConfiguration defines the configuration for a CSP Frequency Slice Processor.

Parameters:
  • swp_id – SWP configuration ID [1..27]

  • logical_fsp_ids – Logical FPS Ids

  • receptors – list of receptors

  • zoom_factor – zoom factor [0..6]

  • centre_frequency – Centre Frequency

  • number_of_channels – Number of Channels

  • channel_averaging_factor – Channel Average Factor

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

class MidCBFConfiguration(*, frequency_band: ~ska_oso_pdm.sb_definition.csp.midcbf.ReceiverBand, subbands: ~typing.List[~ska_oso_pdm.sb_definition.csp.midcbf.Subband] = <factory>)[source]

Class to hold all Correlation SPW configurations.

Parameters:
  • frequency_band – Frequency Band

  • subbands – list of subbands configurations

class PstSPWConfiguration(*, spw_id: int, logical_fsp_ids: list[int], receptors: list[str] = <factory>, centre_frequency: float, number_of_channels: int)[source]

PstSPWConfiguration defines the configuration for a Mid Correlator Processing Region producing pulsar timing data.

Parameters:
  • swp_id – SPW configuration ID [1..27]

  • logical_fsp_ids – Logical FSP IDs

  • receptors – list of receptors

  • centre_frequency – Centre Frequency

  • number_of_channels – Number of Channels

class ReceiverBand(value)[source]

ReceiverBand is an enumeration of SKA MID receiver bands.

class Subband(*, band_5_tuning: float | None = None, frequency_slice_offset: ~astropy.units.quantity.Quantity = <Quantity 0. MHz>, correlation_spws: ~typing.List[~ska_oso_pdm.sb_definition.csp.midcbf.CorrelationSPWConfiguration] = <factory>, pst_spws: ~typing.List[~ska_oso_pdm.sb_definition.csp.midcbf.PstSPWConfiguration] = <factory>)[source]

Class to hold sub-band

Parameters:
  • band_5_tuning – Band 5 Tuning

  • frequency_slice_offset – Optional Frequency Slice Offset in AstropyQuantity

  • correlation_spws – List of Correlation Spws

  • pst_spws – List of PST Spws

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

class Correlation(*, spw_id: int, logical_fsp_ids: List[int], zoom_factor: int, centre_frequency: float, number_of_channels: int, integration_time_ms: timedelta)[source]

Class to hold the spectral windows that will be produced by the correlator”.

Parameters:
  • spw_id – Integer identifying the spectral window within this CSP setup

  • logical_fsp_ids – Frequency slice processors that will be used to produce this spectral window.

  • zoom_factor – Integer (0-7) defining the zoom window to use. ‘0’ means non-zoom i.e. standard continuum.

  • centre_frequency – Centre frequency of the spectral window

  • number_of_channels – Number of channels that the correlator will produce

  • integration_time_ms – Averaging time after which the correlator will output a visibility

class LowCBFConfiguration(*, do_pst: bool = False, correlation_spws: List[Correlation])[source]

Class to hold the LOW CBF configuration specification.

Parameters:
  • do_pst – Boolean indicating that pulsar-timing observations are to be performed.

  • correlation_spws – List of Correlation objects

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.