SKA PST RECV Applications

ska-pst builds applications for development and testing of the data interface between the Correlator Beam Former (CBF) and Pulsar Timing (PST) products. The primary application (ska_pst_recv_udpdb) implements the RECV.CORE component of the PST and the other applications provides mechanisms for testing the data interface.

ska_pst_recv_udprecv

This application receives the data streams from the CBF and reports the data acquisition statistics of the received data stream to stdout.

Usage: ska_pst_recv_udprecv [options] data_host config
Use UDP sockets to receive a data stream from ska_pst_recv_udpgen
and report the UDP capture statistics. Quit with CTRL+C.

  data_host   network interface to receive incoming data
  config      ascii file containing observation configuration
  -h          print this help text
  -i          use Infiniband Verbs for socket receive [default UDP socket]
  -e          exit if packet receive timeout occurs
  -p port     Override the port on which to receive data [default DATA_PORT]
  -v          verbose output

ska_pst_recv_udpdb

This application provides the full implementation of the RECV.CORE component in the PST product. In production, it must be launched with a control port (-c option) that specifies is used by the PST TANGO devices for all control and monitoring functions. For testing, a configuration file (-f option) can be provided to run this application in a standalone mode which then will immediately perform data acquisition.

Usage: ska_pst_recv_udpdb [options] data_host
Use UDP sockets to receive a data stream that matches the format, writing the data
samples to PSRDADA ring buffers for the data (data_key) and weights (weights_key).
Quit with CTRL+C.

  data_host   network interface to receive incoming data
  -c port     port on which to accept control commands
  -n name     service name [default is RECV]
  -f config   ascii file containing observation configuration
  -h          print this help text
  -i          use Infiniband Verbs for socket receive [default UDP socket]
  -e          exit if packet receive timeout occurs
  -p port     Override the port on which to receive data [default DATA_PORT]
  -v          verbose output

ska_pst_recv_udpgen

This application generates UDP packet sequences streams that simulate the data streams generated by the Low and Mid Correlator Beam Formers. This provides a mechanism to generate the packet sequences with correct meta-data. The application can also generate data-samples that contains deterministic test vectors which provide mechanisms for testing the signal chain and data processing.

The application is configured via config file, provided on the command line which contains key/value configuration parameters. The command line usage for the application is described below.

Usage: ska_pst_recv_udpgen [options] config
Use UDP socket to send a data stream and report the UDP transmission statistics.
Quit with CTRL+C.

  config      ascii file containing observation configuration
  -d host     Override the destination host for the data stream [default DATA_HOST]
  -e idx:err  Induce an packet generation error (see below) at the specified index (idx)
  -h          print this help text
  -r rate     Data transmission rate in Gb/s [default 0.5]
  -p port     Override the destination port for the data stream [default DATA_PORT]
  -t length   Length of data transmission in seconds [default 10]
  -v          verbose output

  Packet generation errors: MagicWord, PacketSize, Transmit, MisorderedPSN, ScanID, ChannelNumber, Timestamp, DataRate

The configuration option that will enable the test-vectors is the DATA_GENERATOR keyword, which may be configured with Random, Sine, GaussianNoise, SquareWave, or PacketCapture. Some of the Data Generators either can or must be further configured with the following options:

Random:
  • No configuration options

Sine:
  • SINUSOID_FREQ frequency at which a single tone should be injected into the data, in MHz.

GaussianNoise:
  • NORMAL_DIST_MEAN Mean of the normally distributed data.

  • NORMAL_DIST_STDDEV Standard deviation of the normally distributed data.

  • NORMAL_DIST_RED_STDDEV Standard deviation of a red-noise process that adjusts the Standard Deviation.

SquareWave:
  • CAL_OFF_INTENSITY off-pulse intensity for all polarizations and frequency channels

  • CAL_ON_INTENSITY on-pulse intensity for all polarizations and frequency channels

  • CAL_ON_POL_0_INTENSITY on-pulse intensity for polarization 0 and all frequency channels

  • CAL_ON_CHAN_N_INTENSITY on-pulse intensity for all polarizations at the number of frequency channels

  • CAL_ON_POL_0_CHAN_0_INTENSITY on-pulse intensity for polarization 0 at frequency channel zero

  • CAL_ON_POL_0_CHAN_N_INTENSITY on-pulse intensity for polarization 0 at the number of frequency channels

  • CAL_ON_POL_1_CHAN_0_INTENSITY on-pulse intensity for polarization 1 at frequency channel zero

  • CAL_ON_POL_1_CHAN_N_INTENSITY on-pulse intensity for polarization 1 at the number of frequency channels

PacketCapture:
  • PCAP_FILE_NAME name of file containing captured packets