70 likes | 79 Views
This document presents the acquisition modes and triggers for the SPS Orbit System, including injection trajectory, capture trajectory, and global orbit. It also suggests a software API for controlling these modes. Operational settings and data structures are described, as well as the limitations and challenges of data filtering.
E N D
SPS Orbit Systemacquisition modes& proposed SW API A. Topaloudis, A. Boccardi, M. Barros Thursday 26/07/2018
Acquisition modes and triggers • Injection Trajectory–up to 16 injections • BST injection pre-pulse • Capture Trajectory – on-demand, turn-by-turn data • BST trigger + programmable delay in ms • Global Orbit –averaged positions @ 1 KHz • Continuous filter averaging @ 1 KHz
Operational Settings – PPM • Setting • enum sensitivity {AUTO, LOW, MIDDLE, HIGH} – should be AUTO • stringinjectionTrajectoryBatchSelection[INJECTIONS] – first hardcoded [1-924] • stringcaptureBatchSelection • int32_tcaptureNbOfTurns • int32_tcaptureDelayMs • INJECTIONS = 16
Injection Trajectory –up to 16 injections • FirstInjectionTrajectory– 10.2 KB – updated after first injection • floatfirstInjectionTrajectory[MAX_NUM_CHANNELS][TURNS] • int64_tfirstInjectionAcqStamp • InjectionTrajectoryAcquisition– 163,8 KB –updated after all injections • floatinjectionTrajectory1[MAX_NUM_CHANNELS][TURNS] • float injectionTrajectory2[MAX_NUM_CHANNELS][TURNS] • … • float injectionTrajectory16[MAX_NUM_CHANNELS][TURNS] • int32_tnbOfInjections • int64_tacqStamp[INJECTIONS] • MAX_NUM_CHANNELS = 40 • TURNS = 64 • INJECTIONS = 16
Capture Trajectory –on-demand, turn-by-turn data • CaptureAcquisition– 1,6 MB –updated on completion • floatcaptureTrajectory[MAX_NUM_CHANNELS][TURNS] • int64_tcaptureStartAcqStamp • int64_tacqStamp • MAX_NUM_CHANNELS = 40 • TURNS = 10000
Global Orbit –Averaged positions @ 1KHz • Acquisition– 777,6 KB – updated @ the Basic Period • floatorbit[MAX_NUM_CHANNELS][MILLISECONDS] • floatvariance[MAX_NUM_CHANNELS][MILLISECONDS] • floatmin[MAX_NUM_CHANNELS][MILLISECONDS] • floatmax[MAX_NUM_CHANNELS][MILLISECONDS] • int64_tacqStamp[MILLISECONDS] • MAX_NUM_CHANNELS = 40 • MILLISECONDS= 1200
Global Orbit –alternatively… • GlobalOrbit– ~77 MB– updated @ the end of the cycle • float orbit[MAX_NUM_CHANNELS][MILLISECONDS] • float variance[MAX_NUM_CHANNELS][MILLISECONDS] • float min[MAX_NUM_CHANNELS][MILLISECONDS] • float max[MAX_NUM_CHANNELS][MILLISECONDS] • int64_tacqStamp[MILLISECONDS] • MAX_NUM_CHANNELS = 40 • MILLISECONDS= 100000 • And therefore … • PAINFUL FILTERS! • to reduce the size…