STARE
STARE is a real-time SofTwAre REceiver for processing downlink signals of the fifth-generation (5G) New Radio (NR) and fourth-generation (4G) long-term evolution (LTE) terrestrial and non-terrestrial networks (NTNs), and estimating measurements relevant for positioning and signal monitoring. The estimated measurements include the code phase, carrier phase, Doppler frequency, and signal-to-noise ratio (SNR). Real-time operation is achieved by interfacing directly with the software-defined radio (SDR), therefore allowing the signals to be processed continuously over arbitrarily long periods and not requiring the signal captures to be stored on the drive. The receiver also supports a post-processing mode, where the signal capture files can be processed without the SDR. The signal processing algorithms can operate in one of two ways. First, STARE can continuously track the signal using tracking loops. Second, STARE can process the signal in snapshots without employing the tracking loops. STARE is developed using a combination of C++ and Python.