DGNSS Cooperative Positioning in Mobile Smart Devices: A Proof of Concept

Global Navigation Satellite System (GNSS) constitutes the foremost provider for geo-localization in a growing number of consumer-grade applications and services supporting urban mobility. Therefore, low-cost and ultra-low-cost, embedded GNSS receivers have become ubiquitous in mobile devices such as smartphones and consumer electronics to a large extent. However, limited sky visibility and multipath scattering induced in urban areas hinder positioning and navigation capabilities, thus threatening the quality of position estimates. This work leverages the availability of raw GNSS measurements in ultra-low-cost smartphone chipsets and the ubiquitous connectivity provided by modern, low-latency network infrastructures to enable a Cooperative Positioning (CP) framework. A Proof Of Concept is presented that aims at demonstratingdesigned to demonstrate the feasibility of a GNSS-only CP among networked smartphones embedding ultra-low-costequipped with GNSS receivers. The test campaign presented in this study assessed the feasibility of a client-serverthe approach over 4 G/LTE network connectivity. Results demonstrated an overall service availability above 80%, and an average accuracy improvement over the 40% w.r.t. to the GNSS standalone solution.

In the last decades, a remarkable research effort has been broadly spent in improving navigation and positioning performance by mostly addressing sensor fusion to low-cost GNSS [5], [6]. Advanced integration schemes leveragingforeseeing tight and ultra-tight fusion of GNSS/Inertial Navigation Sytem (INS) measurements constitute the prevalent solutions to guarantee satisfyingoffer promising performance in harsh environment, where standalone GNSS is typically weak [7]- [10]. However, such solutions, but they require reliable sensors and their implementation can be infeasible, challenging or unsuitablenot suitable for consumer-gradeconsumer mobile devices [11]- [14]. As a complementary solution, the sensing of the surrounding environment has become a relevant aid to the navigation and it can be accomplished through vision systems (i.e. cameras [3], [15]) or through several exteroceptive sensors such as Ultra-Wide Band (UWB) units, Light Detection and Ranging (LiDAR) and Ultrasonic Ranging System (URS). Indeed, when inertial sensing is not available or sufficiently reliable, alternative measurements can be used to retrieve information about the surrounding environment such as the distances from anchor points whose position is known [16]- [18] or by considering other geo-referenced devices as anchors of opportunity, thus relying on their own position estimates [19], [20]. In light of theseTherefore, the contribution of exteroceptive sensors to the improvement ofto improve absolute and relative localization has been extensively explored in literature [21]- [23]. However, many of the aforementioned high-accuracy technologies are still impracticable for small-sized, low-cost consumer devices and the unavailability of possible anchors in Line of Sight (LOS) or the limited coverage of the sensors themselves can limit the effectiveness of such approaches.
GNSS can be used to determine distances and relative displacement vectors between multiple receivers through the exchange of their position-related measurements. Since the rise of professional applications, hi-end GNSS receivers have provided such data to mostly support precise positioning (e.g., Real Time Kinematic (RTK)) through the implementation of external corrections [24]. However, in order to perform Cooperative Positioning (CP) among low-cost receivers, low-level GNSS data, a.k.a. GNSS raw measurements, have to be accessible in such a class of devices. For instance, by By coupling the disclosure of raw GNSS data in smartphones and tablets and the recent advances in communication networks (e.g. Ultra-Reliable and Low-Latency Communications (URLLC) in 5 G New Radio (NR)NR), the concept of networked GNSS receiver is expected to rise to mass-market and Internet of Things (IoT)IoT This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ applications [25]. This trend enables the exchange and integration of satellite-based relative measurements among connected devices, thus the implementation of a number of CP solutions [21], [22]. This study first recalls fundamental aspects on GNSS-based CP and then it presents 1) a novel architecture that manages and supervise the mutual exchange of GNSS raw measurements among ultra-lowcost receivers embedded in networked mobile devices. 2) the implementation of a local algorithm that manages both the near-real-time computation of inter-agent distances by combining local and external GNSS data, and their tight integration as auxiliary measurements in the positioning algorithm 3) the validation of the proposed approach through an experimental test campaign which assessed the feasibility and the improved accuracy of the proposed CP scheme compared to standalone GNSS solutions. A demonstrator was indeed developed in the context of the European Space Agency (ESA) HANSEL project to assess the feasibility and the effectiveness of GNSS-based CP using smartphones [26], and leveragingby relying on theirtheir access to raw GNSS measurements. It is worth remarking that this study investigates the feasibility of the proposed paradigm by considering a pairwise communication between two mobile devices (i.e., smartphones). Therefore, the analysis of the scalability of the proposed solution is meant out of the scope of this article and it will be addressed in future works. Although smartphones were considered for this study, the proposed framework can support low-cost and ultra-low-cost Position, Navigation and Timing (PNT) technologies for urban mobility at a large extent, thus targeting embedded systems for pedestrian and vehicular navigation.
The outline of the paper is as follows. A set of relevant, pioneering works and previous contributions on the topic are discussed in Section II. Theoretical fundamentals on standalone GNSS and CP position estimation are recalled in Section III. An overall description of the CP framework and its implementation is then provided in Section IV. The experimental setup exploited for the preliminary test campaign and the key performance metrics for the evaluation of the positioning performance are described in Section V. The most relevant results in terms of feasibility and positioning accuracy are discussed in Section VI and eventually, conclusions are drawn along with future investigations in Section VII.

II. RELATED WORKS
The design and development of the proposed Proof Of Concept (PoC) were inspired by a set of relevant research works discussingconcerning the use of differential GNSS measurements in cooperative contexts and the use of GNSS in mobile smart devices and urban mobility in general [27]. More specifically, a number of promising applications have been investigated in the context of vehicular networks and urban network infrastructures [28]- [34]. However, a comprehensive review of these techniques is out of the scope of this work.

A. Estimation and Integration of GNSS Differential Range Measurements
In the framework of Differential GNSS (DGNSS) and RTK, previous works investigated the computation of the distance among GNSS receivers by exchanging GNSS measurements only. For example in [35], the authors presented a technique to compute inter-vehicular range measurements through GNSS Weighted Double Differences (WDD). Other DGNSS-based techniques wereare comparatively investigated in [36]. A further method was then proposed that reliesby relying on the exchange of both pseudorange measurements and the terms of the Direction Cosine Matrix (DCM) computed within the Position Time Velocity (PVT) algorithm, in [37]. In previous contributions, researchers observed remarkable improvement in CP by tightly integrating Double Differences (DD), and the quantity of information carried by such differential measurements to the positioning problem was demonstrated in [38]- [42].
Pioneering works on the tight integration of Differential GPS (DGPS) and INS in an Hybrid Extended Kalman Filter (EKF)-based positioning algorithm were proposed to improve accuracy and availability of Global Positioning System (GPS) positioning [23], [43], [44]. A two-steps positioning algorithm has been designed to refine the GNSS-only position estimates through a Maximum Likelihood (ML) approach by constraining the positioning solution through inter-vehicle ranges obtained by weighted double differentiation of shareable pseudorange measurements [45]. The approach foresees a distributed computation of the locations of all the agents by each agent. A refined solution was then performed as a weighted mean of the different estimates provided by the collaborating agents (i.e. loosely coupling). The scheme proposed in [45] does not exploit any model of the agents dynamicsthe dynamics of the agents, thus being possibly suboptimal in kinematic applications.

B. GNSS in Mobile Smart Devices
To support and encourage the rapid innovation trends involving LBS, in 2016, GNSS measurements have been officially disclosed for a given set of consumer smartphones and tablets. Raw GNSS measurements became available to the developers directly from the enabled GNSS chipsets embedded in such mobile devices. The measurements are exposed by enabled onboardon-board GNSS chipsets through proper Application Program Interface (API), thus allowing custom implementations of navigation algorithms and so improved positioning and navigation performance [46]. Thanks to this innovation, several works successfully investigated GNSS positioning in smartphones. A controlled scenario analysis was performed on a set of different mobile devices in [47], dual-frequency GNSS positioning solutions havehas been recently investigated in [48] and the migration of DGNSS and RTK positioning has been proposed for smartphones in several contributions [49]- [53] as well as Precise Point Position (PPP) [54]- [57]. On one hand, such analysis often emphasized technical and technological limits of this market segment such as bad antenna design and poor quality of code pseudorange measurements while on the other hand, they paved the way toopened a variety of potential solutions for the improvement of positioning and navigation capabilities in consumer electronics.

III. METHODOLOGYTHEORETICAL BACKGROUND
Fundamentals on standalone GNSS positioning and CP estimation are briefly recalled hereafter to clarify the methodology exploited to the design and implementation of the PoC.theoretical solution used to achieve an effective CP algorithm.

A. Positioning Problem in GNSS
Positioning and navigation in GNSS can be treated as a discrete-time estimation process. In fact, by considering the tracking of a kinematic objecta snapshot of a generic kinematic object taken at a genericthe time instant t k , an ideal single point PVT solution is defined as a 8 × 1 column state vector where the variables describe respectively the set of Cartesian location coordinates and the related axial velocities according to a given reference frame (e.g. East-North-Up), as well as the receiver clock bias and drift estimated according tow.r.t. a coordinated time scale (i.e. GNSS time). GNSS receivers provide anthe estimate of (1) based, in turn, on the estimation of the Time of Flight (ToF) and Doppler shift (w.r.t. the nominal carrier frequency) of the navigation signals transmitted by GNSS satellites [58]. The first, multiplied by the speed of light, returns a quantity referred as pseudorange measurements, which is defined, for a generic s-th satellite, according to where δb k is the clock bias term included in the term b k in (1), ξ k collects any additional, satellite-related biasbiases due to ionospheric,and tropospheric, relativistic and multipath effects that actact on eachthe received Radio-Frequency (RF) signal, and ψ k modelsas well as the delays locally introduced by the receiver hardware . Prior to the PVT computation at time t k , raw pseudoranges and Dopplerdoppler measurements are corrected leading to a biasedan estimate of the satellites-to-receiver geometrical distances and the associated changing rates, namely pseudorange and pseudorange rate, respectively. Considering S satellites are being tracked by the receiver at the generic instant t k theirThe pseudoranges can beare corrected by the common receiver clock bias computed at t k−1 , the relativistic correction and the satellite clock error estimated through the ephemeris datar while the pseudoranges rates are corrected by the estimated user clock driftφ where 1 (S×1) identifies a unitary column vector. Such a set of observable measurements (also referred simply as observables) is defined as a 2S × 1 column vector where the genericr s k andφ s k are the range and Doppler estimates associated to the s-th satellite . A 2S × 2S measurements covariance matrix, R k = E[(z k − E(z k ))(z k − E(z k )) ], defines the quality and possible cross-correlations of the observables. The output of the PVT stage typically includes an estimate of (1), and of the associated 8 × 8N × N covariance matrix P k = E[(θ k − E(θ k ))(θ k − E(θ k )) ] which characterizes the statistical uncertainty of the state estimatesolution. Such an uncertainty is due, in turn, to the residual noise affecting the outputestimation of (4)satellite-to-receiver range, namely User Equivalent Range Error (UERE). Both the UERE and the geometry of the visible satellites negatively affect the precision of the estimated solution [58].
A linear estimator such as Weighted Least Square (WLS) can be first used to solve for a linearized trilateration problem exploiting four or more satellite-to-receiver measurements [58], as depictedshow in Fig. 1. A consolidated iterative strategy allowsallow to solve for a differential quantity w.r.t. to a known reference state vector (i.e. θ * k = 0 8×1 ) where the modified DCM also referred to observation matrix, H k , is built through the known satellite positions and the linearization point, x * k , according to  (9) and x * , y * , z * are the coordinates of the linearization point x * k . Equation (7) can be iteratively refined up to the convergence of the solution. An estimate of the covariance of the solution is henceP Once a first state estimate,θ k , is achieved, linear or non-linear Bayesian filters are typically implemented to estimate both θ k and P k by taking into account some a-priori knowledge about the model of the system dynamics [59]. Limited visibility of the GNSS satellites and high-variance of the UEREs in the pseudorange estimation lead to low-precision state estimatesestimation while unpredictable biases are responsible for a degraded accuracy of the solution. Such conditions are frequentoften verified in urban environments where a relevant part of consumer-grade, low-cost receivers operate on a daily basis.

B. Cooperative Positioning Integrating auxiliary Range Measurementsinter-Agent Distances
A suitable strategy to improve GNSS accuracy and precision is to integrate auxiliary range measurements obtained by further anchors that complement GNSS satellites [20]. Different technologies can be exploited to the aim (e.g., UWB). However, from a general perspective such sensors pursue the estimation of the Euclidean distance between the locations of two object of interest, a and b. In this study we refer to such objects as agents and to their range as inter-agent distance between their locations x a,k and x b,k . A generic terrestrial range measurement between ground receivers a and b, is referred hereafter to as inter-agents distance and it can be ideally defined as the Euclidean norm d ab,k ||d ab,k || where the inter-agent vector, a.k.a. baseline vector, d ab,k is defined as Such a distance is equivalent to the norm of a displacement vector defined as, and often referred in literature to as baseline vector. Under specific assumptions, these quantities bring information to the positioning problem [60]. In place of direct ranging sensors indeed, GNSS raw measurements can be combined according to DGNSS approaches to estimate the baseline vectord ab,k among networked GNSS receivers, thus providing a computationallyeffective, indirect ranging system that overcomes the LOS constraint of many RF ranging technologies. Independence and uncorrelation are assumed for such DGNSS-based inter-agent distances,d ab,k , w.r.t. the position estimatesx a,k ,x b,k . By further assuming that b experiencesshows better performance in terms of accuracy and precision of its standalone GNSS estimates w.r.t. the receiver a, the inter-agent distance can be integrated to improve the state estimation of the receiver a. This reduces its solution bias and the magnitude of the terms in its covariance [61], [62] hence improving both accuracy and precision as depicted in Fig. 2. By assuming that DGNSS-based inter-agent distances,d ab,k , are independent and uncorrelated w.r.t. the position estimatesx a,k ,x b,k and, by assuming that b experiencesshows better performance in terms of accuracy and precision of its standalone GNSS estimates w.r.t. the receiver a, the inter-agent distance can be integrated to improve the state estimation of receiver a, thus reducing its bias and the magnitude of the terms in its covariance [61], [62] hence improving both accuracy and precision as depicted in Fig. 2.

C. DGNSS Inter-Agent Distance Estimation
Due to the continuous motion of the satellites and the potential kinematics of the receivers, the estimation of DGNSS inter-agent distances requires an accurate synchronization of the measurements to ensure data consistencyin order to be properly combined. Differently from a fully asynchronous environment in which measurements lack accurate timestamps [63], a network of operational GNSS receivers can be considered synchronous at a certain extent to a common GNSS timescale [33]. Indeed, although external and local observables are not simultaneously retrieved, their misalignment can be always compensated through their respective timestamps and measurement rates to ensure their consistency.

1) Synchronization of the Observable Measurements:
In general, it can be assumed that two generic receivers, a and b, provide the dump of their respectivethe observablesobservable measurements and compute the related state estimation according to two independent and discrete time axis that will be indicated through the indicesindexes k and l, respectively. As shown in Fig. 3, these instants can be mapped with a given accuracy to the GNSS time scale according to the estimated clock biases δb k , δb l obtained at t k , t l .
According to the reception time of each signalsatellite, t s RX,a t RX,a , a set of observablesobservable measurements z k is dumped by the receiver a at t k , referred to its local time axis. In order to provide a differential estimation of d ab,k , raw pseudorange measurements included in z l provided by receiver b must be consistent, so they have to be dumped at the same time instant, t k . This is not granted by standalone GNSS receivers since they are not expected to be synchronous. IndeedTherefore, even if observablesobservable measurements and PVT solutions are dumped and time-tagged w.r.t. to the   Fig. 3. It is helpful to remark that the sign of the offset depends on thesuch GNSS timestamps, formally Δt ba . This offset can be effectively compensated in low-dynamics scenarios (i.e. pedestrian and low-dynamics vehicular applications) through the Doppler measurementsφ k , thus aligning in time all the raw pseudorange measurements shared among collaborating receivers [64], througĥ In order to effectively apply (11), dump epochs must be chosen with minimum delay to preserve the validity of the linear model in (11), and the timestamps t b of the measurements must be accurately known w.r.t. the common GNSS reference scale.
2) Double Difference Ranging: Once the time offset is compensated, DGNSS algorithms can be used to determine interagent distance. Assuming the receiver a as the target of this analysis, the time notation can be simplified. Time instants, t (k) a , referred to the GNSS time-scale are hereafter referred to a general dump epochs t k , and all the observable measurements provided by the receiver b are assumed aligned in time to the measurements dumped by the receiver a at t k . Whenever two generic satellites r and s are visible to both the receivers and the two pair of measurements can be shared and synchronized, a DD measurement can be obtained as the difference of two Single Differences (SD)s between these pseudorange measurements where S s ab,k is a single difference computed as S s ab,k = ρ s a,k − ρ s b,k while Σ ab,k is a random variable collecting residual, uncorrelated error contributions such as multipath, second-order noise components of the receiver front-ends and additional non-modelled noise contributions [58]. Fig. 4 shows a pictorial representation of differential ranging between a pair of receivers sharing measurements retrieved byabout 45 visible satellites. The term ΔR sr can be expressed as a function of the baseline vector,highlighting the dependency from the baseline vector as where h s · is a unitary steering vector defined according to (9). The computation of DD measurements can be obtained throughfrom the linear relationship D ab,k = L DD S ab,k , expanded as Equation (13) can be then expanded as well by, neglecting the noise contribution in (12), asin collecting S − 1 double difference measurements from a set of S satellites simultaneously visible to a and b. This set of equations can be exploited to estimate d ab,k through a WLS algorithm in the form ofd where D ab,k and H D,k are respectively the first and the second term in (15). By relying on the estimated covariance matrix of the pseudorange measurements, it is possible to compute the covariance of D ab,k and implement a weighted baseline estimation as for the WLS shown in (7) [30].

D. EKF Hybridization for CP Tight Integration
In order to integrate the inter-agent distances, the set of observables defined in (6) can be extended including d ab,k . Collaborative measurements can be indeed included in the initialization stage of both linearizedlinear estimation (i.e. WLS) and the subsequent Bayesian estimation. The PVT algorithm including collaborative range measurements is referred hereafter as Hybrid PVT (H-PVT).
First, a Hybrid Weighted Least Square (H-WLS)-based PVT is performed through a Self-Adaptive Iterative Algorithm (SAIA) proposed in [37] to cope with strong linear dependence of multiple inter-agent distances, thus to solve for ill-conditioned set of linear equations. Once the first fix is obtained, an indirect formulation of the EKF with periodic WLS re-initialization performs theis in charge of a Bayesian positioning estimation, according to the scheme in Fig. 5.
Indirect filtering can be structured as a feed-forward or a feedback EKF [59]. In a feed-forward approach, if the errors injected in the filter are kept small, the linear dynamics model is acceptable. While, if they become larger, the errors estimated by the EKF will drift with time. For this reason in navigation applications that integrate INS, a feedback loop is added to mitigate this drawback [65]. In the implementation of the proposed PoC, inertial sensors are not considered, therefore the error is estimated as the difference between the current measurements exposed by the receiver's post-correlation stage and the nominal ones, which are evaluated by applying the corrections found atin the previous step, according to Fig. 5. Furthermore, to avoid error driftsthe error drift, a re-initialization of the filterreset can be periodically performed, by assigning infinite value to the terms of the model noise covariance matrix or equivalently, using a H-WLS PVT evaluation instead of the Bayesian estimation routine.
In the indirect filtering, the prediction step is fed with a zero-state vector, θ k = 0 1×N . The a priori error covariance matrix P − k and the Kalman gain K k are computed according to the legacy Kalman equations [59]. Differently from the direct formulation, in this case, Δz k is the difference between the current measurements and the nominal measurements where The superscript C indicates the current pseudorange and Doppler measurements, ρ k , and φ k . While the superscript N indicates the nominal measurements collectingare instead computed according to the update model with corrections found at stateθ k−1 . By adding the state estimateestimated value to the previous onestate as for iterative WLS solutions, the current statê θ k θ k is found.

IV. CPA/CPS WITHIN THE HANSEL TESTBED: FRAMEWORK OVERVIEW
The high-level infrastructure on which the PoC is based foreseeshas a star topology that relies on a center node (e.g. remote server) implementing the CPS. The CPS is at the same time a buffer which collects raw GNSS measurements and a virtual agent-to-agent channel established between registered application instances (Collaborative Positioning Application (CPA)), as shown in Fig. 6. A distributed framework over general-purpose network connectivity (i.e. 4 G/LTE) has been exploited in this implementation. Such topology ensures a centralized data collection and independent and distributed PVT computation at CPA level. In this way, the computational load is left toexpected by the agent nodes, while the central node is in charge of managing the data dispatching and possible associated policies. In the following, a detailed discussion is provided about the software implementation of the PoC.

A. Collaborative Positioning Service
The CPS provides registration and authentication facilities to the agents through the methods of a dedicated API, and it foresees a database, referred hereafter as db, for the buffering of raw measurements posted by the registered users. The CPS can handle an arbitrary number of users according to the computational capability of the hosting server and to the network performance. However, the optimizations of these aspectsthese aspects falls outside the scope of this article.

1) Raw Measurements Database:
The db is intended as a dynamic, centralized data buffer oriented to the agile exchange of data among the registered agents. It was implemented according to a following adocument data model paradigm [66]. The data isare stored in collections of files which are dynamically allocated whenever an agent registersperforms the registration to the CPS, and whenever it shares new measurements through the service. When a new agent subscribes to the CPS, a new entry is created, uniquely indexed, and continuously updated by the remote CPA running on the relative mobile device. All the data of interest for localization such as raw measurements, coarse position estimates, timestamps and cooperative parameters provided by the agents are hence stored in an instance of the database servingrunning for the CPS.
2) Cooperative Positioning System API: As shown in Fig. 6, the CPS API is conceived as a unique entry point of the framework for the mobile agents. It is implemented through a Python script and it exploits the following actions: 1) Agent registration: It is provided by the interaction between CPS and CPA instances running on the smartphones, and registered users list can be monitored runtime through the methods provided by the API. 2) Raw measurements download and monitoring: UDP sockets are provided by the CPS to manage the upstream and downstream of data among the registered agents. Such data are encapsulated in UDP messages called Collaborative Raw Message (CRM) which can be downloaded from the CPS to perform CP. 3) Housekeeping of the database content: The CPS provides a storage-efficient housekeeping routine aiming to deletein order to delete all the outdated raw measurements collections. Specific methods defined in the API allowThrough the methods included in the API, it allows to define a refresh time for the deletion of outdated records and to download all the records stored inby the db for further analysis and post-processing. It is worth remarking that high-latency due large physical distances and the need of several hops on the route between the nodes could induce message drops that impact, in turn, on the CPS availability (raw measurements could be unavailable or outdated).

B. Collaborative Positioning Application -CPA
The CPA constitutes the core entity of the collaborative framework. It allows an agent to interact with other agents through the CPS. The CPA is a multi-thread application which foresees a main script managing a set of sub-threads running in parallel. They can be seen as microservices producing and consuming local and external measurements. Independent instances of the CPA are expected to interact through the CPS by means of the service API described so far in order to benefit from the collaboration. The following elements have been implemented to manage the retrieval of external measurements and integration.

1) Main Activity:
It is the entry point of the CPA as it is in charge of managing the Graphic User Interface (GUI) and the life cycle of the whole application. It runs specific threads according to the incoming commands from the users.
2) Agent Subscriber: The registration to the CPS is compulsory to join the proposed DGNSS-CP framework.
Given an available connectivity among CPS and CPA instances, after the startup of the application, the following steps are executed 1) The CPA sends a request for registration to CPS 2) The CPS avoids concurrent requests and duplicated identifiers by randomizing its response time.
3) The CPA receives an authentication token to guarantee authenticated client-server communication along with a unique agent identifier for the identification of active users of the CPS multi-agent system. Once the subscription is accomplished, the four main parallel threads are operated by the CPA in order to allow to the new agent to broadcast and download raw measurements: the GNSSContainer, the CRMcollector, the AgentHandler and the GNSSMeasScript.
3) GNSS Container: The GNSScontainer readsis in charge of reading raw measurements from the onboard GNSS receiver. It manages the creation of a list named LOCAL_RAW including raw pseudorange and Doppler measurements obtained at the current epoch. Visible and trackable satellites are also identified as well as their relative position (azimuth, elevation) w.r.t. to the agent location. All the data records along with their unique identifiers (e.g. G07, E21, R04) are also logged to know current visibility conditions through a specific callback. In parallel, it collects the last available fix through the onboard GNSS/INS accurate solution to be used as a ground-truth for the GNSS standalone and collaborative positioning solutions. The list LOCAL_RAW is eventually sent to GNSSMeasScript to be processed within the PVT algorithm.

4) Agent Handler:
The AgentHandler thread is in charge of keeping information between CPA and the db coherent and updated. It is the only thread interacting with the CPS API during the operational lifespanlife of the service.

5) CRMcollector:
If the GNSScontainer can be seen as the interface between the CPA and the embedded GNSS receiver, the CRMcollector is the interface between the CPA and the network of aiding agents. It receives the updated list of potential aiding agents, COOP_AGENT, from the AgentHandler and it is in charge of retrieving the available raw measurements stored in the db by invoking the method agent_measurements. The download of such data is performed through the aforementioned UDP socket. The proposedearly version of the CPA foresees a serial CRMcollector which sequentially creates a list of raw measurements and GNSS standalone estimates from each aiding agent, named EXT_RAW. The list EXT_RAW is then sent to the GNSSMeasScript to perform the core collaborative task. 6) GNSSMeasScript: It is responsible for the execution of the fundamental steps listed in Section III and summarized in the flow-chart of Fig. 7.  (2): This step exploits the local raw Doppler shift measurements provided by the API, to compensate for the time misalignment among the measurements in LO-CAL_RAW and the ones included in EXT_RAW, as discussed in Section III-C1 according to (11). c) DGNSS inter-agent distance estimation (3): Timealigned measurements are combined through WDD to determine the inter-agent distances among the target agent and the aiding ones, as presented in Section III-C2, according to (16). d) Hybridized PVT estimation (4): An initial H-WLS/WLS solution is required to initializeis mandatory for the initialization of the main navigation filter, and it can be periodically reinitializedis forced every N fixes to avoid unexpected drifting phenomena due to unmodelled threats, according to the EKF architecture discussed in Section III-D. For the same reason H-EKF/EKF can be inhibiteddisabled when it is not recommended to introduce memory effect insuitable for the positioning computation in order to reduce the correlation of the positioning solutions along the time (i.e., static scenario). Functional blocks 2, 3, and 4 in the scheme of Fig. 7 can be replaced by improved algorithms to accomplish each specific task., The proposed modular framework allows for the implementation ofthus implementing differentd ab estimation techniques, improved synchronization, and hybridization solutions.

V. EXPERIMENTAL SETUP
All the tests were performed addressing different static and kinematic scenarios to verify and assess feasibility and effectiveness of the proposed framework.CP Two smartphones were selected to run independent instances of the CPA, being connected to 4 G/LTE cellular networkthrough the interaction of two selected smartphones running independent instances of the CPA. GNSS capabilities of both the smartphones were limited to single constellation (i.e. GPS),and single frequency (i.e. L1) positioning computation by further limiting the number of visible satellites to emulate poor sky visibility, if necessary. This configuration was set through the CPA settings and did not affect operating system positioning capabilities. The devices were handled by two operators walking or driving vehicles according to a set of pre-definedthe designed test paths. A weighting factor applied to the measurement covariance matrix, R k , was used as a EKF design parameter to control the impact of the GNSS measurements w.r.t. the linear model forward prediction ofin the EKF-based position estimation algorithm, for both collaborative and standalone solutions [59].

A. Scenarios
AThe preliminary testing phase addressed the peer-to-peer cooperation with different baseline lengths, spanning infrom 0-100 m and being characterized by different dynamics of the agents. The goal of the experimental campaign was to investigatecollect realistic urban scenarios involving regular pedestrian activities (e.g., walking, cycling or driving scooters). An example of an experimental scenario is depicted in Fig. 8, which involves pedestrian users. Datasets collected within a timespan of approximately 40 minutes were labelled with the same letter and different numerical identifiers, e.g. A-01, A-02. In order to cope for the variability of the scenarios, for the experiments belonging to a specific group (i.e., A to F), the same set of GNSS satellites was exploited by the smartphones (via CPA). Furthermore, numerical identifiers refers to different dynamics of the agents across different groups. Missing identifiers refers to those unsuccessful tests being discarded because of CPA or CPS accidental crashes. The two smartphones, referred hereafter as agent SM01 and agent SM02, were configured in order to continuously exchange GNSS data by exploiting 4 G/LTE data connectivity, and a general-purpose Amazon Web Service (AWS) server hosting the CPS on a server physically located in Dublin, Ireland. Being independent of the behavior of the other agent, each smartphone autonomously attempted to improve its positioning accuracy by exploiting shared GNSS raw measurements and coarse fixes shared by the other agent, thus acting simultaneously as aiding and aided agent within the proposed DGNSS CP framework.
Each device was hence able to independently compute collaborative inter-agent measurements by combining external and local observables at any time, in any experienced conditions. Despite being suboptimal, suchSuch an operational mode was helpful to observe both benefits and disadvantages of the proposed integration by identifying timespans in which CP was actually effective and other timespans in which it induced undesired degradation of the positioning solution. In fact, an actual implementation is expected to inhibit CP when a-priori conditions suggest possiblea potentially degraded performance, as discussed about the fundamental limits of DGNSS CP [67]. Similar (near-zero inter-agent distance) or different paths were travelled by the operators holding the devices and different effects were observed accordingly for each smartphone under test, as it will be reported in Section VI. All the positioning data were sent to the CPS and logged locally in form of Earth Centered Earth Fixed (ECEF) and Latitude, Longitude, Altitude (LLA) positioning solution. Both cooperative and standalone solutions were then compared to the reference location estimatedforeseen by the onboardon-board GNSS/INS accurate solution, according to the metric defined in Section V-B. The ground-truth fused multi-constellation, dual-frequency GNSS measurements, Wi-Fi connectivity, cellular network and onboardon-board proprioceptive sensors to provide high-accuracy position estimation.

B. Performance Metrics
A set of performance metrics are defined hereafter to evaluate the benefits of the proposed DGNSS CP within the on-field tests operated through the PoC. a) Availability: A CP measures the availability of the cooperative service for a given agent by assessing the possibility of computing a hybrid positioning solution. It is an indirect indicator of the network status and the overall availability of raw measurements provided by registered aiding agents. It formally counts the ratio between the number of CP fixes, N CP , and the overall number of available GNSS standalone fixes, N SA Even considering a full availability of the service, A CP = 100, as known from preliminary simulation campaign, DGNSS CP could be profitable or unprofitable according to the quality of the collaborative measurements and the relative geometry of visible satellites and aiding agents [67]. To assess the advantages of the proposed technique, the following key metrics have been defined to quantify the accuracy of the positioning solutions. It is reminded to the reader that subscript k highlights the dependency on time instant t k b) Positioning Error: it measurescan be evaluated as the Euclidean distance of the estimated position from the ground truth in 3D (spatial error) and in 2-D (horizontal error) where the squared terms in (21) and (20) are the difference of each component in a East-North-Up (ENU) reference frame [68], [69]. It is helpful to recall that ENU coordinates are obtained from linear transformation of ECEF coordinates so that (20) can be equivalently computed in ECEF. For the sake of simplicity, the errors will be always referred to as ξ SA and ξ CP  for standalone and CP solutions, respectively. Separate metrics for 3D and 2-D will be then considered in Section VI. c) CP profitability (2-D,3D): P CP (%) indicates the percentage of CP fixes in which CP error is lower than standalone positioning error (i.e. GPS-only), formally where p k assumes boolean values according to the following conditions where T H is a hysteresis threshold used to perform a conservative classification of profitable/unprofitable epochs. d) CP hysteresis: H CP (%) counts all the epochs t k = k in which |ξ SA,k − ξ CP,k | < T H , as depicted in Fig. 9.
The hysteresis identifies a region of non-significant improvement/worsening of the estimation accuracy. It is worth remarking that this percentage highlights epochs in which CP does not guarantee relevant benefits and it should be inhibited. e) Mean CP error: E CP (m) computes the mean positioning error of CP w.r.t. onboardon-board accurate navigation solution over the time epochs in which CP is profitable where W = p k counts the overall amount of profitable epochs, formally ∀k|p k = 1.
f) Mean SA positioning error (2-D,3D): E SA (m) is equivalent to E CP evaluated for the GNSS standalone solution It can be also seen as anGNSS-relative error reduction w.r.t. standalone GNSS solution, formally I CP immediately provides an indicator of the accuracy improvement of the hybrid solution w.r.t. the GNSS standalone fix. When I CP 100%, the hybrid solution shows aan appreciable match with the fix provided by the onboardon-board GNSS/INS navigation solution., Wwhen I approaches 0, the hybrid fix fairly matches with the GNSS standalone solution (negligible improvement). All the accuracy metrics in (22), (24) and (23) can be computed for 2-D and 3D by replacing the corresponding error metrics (20) and (21), in the respective equations.

VI. RESULTS
Results are first discussedand discussion are shown for a single zero-baseline assessment test while quantitative, aggregated data obtained throughout thethrough the full test campaign are summarized through the analysis ofby analyzing the overall behaviour of availability and mean improvementthe performance metrics presented in Section V-B. A subset of four representative scenarios is then selected to highlight the performance of the proposed framework in different scenarios.

A. Sample Experiment: Zero-Baseline CP
This test was chosen to assess the feasibility of the proposed CPA/CPS architecture dealing with raw measurements coming from identical devices co-located atlocated together in the same reference location. It is worth remarking that the test is not representative of real use cases but it was pursued as a baseline investigation of the framework capabilities.   Fig. 10(a), it is worth noticing that SM02 benefits from CP for more than 40 % of the data collection. It would be reasonable to assume that SM01 did not benefit from the raw GNSS measurements provided byaids of SM02 when the latter retrieved and posted low-accuracy GPS data during the same epochs. To highlight this aspectIn light of this, the plot presented in Fig. 10(b) shows such a mutual behaviourhighlights such a fundamental aspects of this pairwise collaboration: by looking at the time interval between 40 s and 140 stime t k from 40 s to 140 s we notice indeed that the collaboration is more profitable for SM01 than SM02. This behavior is attributed to a higher accuracythe overall good quality of the raw measurements retrieved by SM02 and in turn to the higher accuracyconsequently to the goodness of itsthe coarse positioning solution. It is indeed worthy to recall that the coarse position estimate of the aiding agents is used as a reference for the tight-integration of the inter-agent distance, as detailed in the tight-integration algorithm defined in Section III. The quantitative comparison of the mean positioning error that is later presentedshown in the correspondent plot of Fig. 14 confirms that, during profitable epochs, SM02 obtained a remarkable benefit from cooperation while the opposite was observed for SM01.

1) Availability:
The average availability of the CP for each experimentacross all the experiments is shown in Fig. 11(a). Updated raw data was hence available for the 86.94 % and 81.23 % of the whole test duration for SM01 and SM02 respectively. By neglectingIf we do not consider the experiments belonging to group G for which the device SM02 experienced unexpected connectivity issues, the availability can be considered above the 87 % for a pairwise CP accomplished through the specific 4 G/LTE connectivity used in the tests. Let us remark that this metric is tightly related to the network congestion and latency that can be considerably different according to the topology, infrastructure and server locationinfrastructure, topology and time-date of the test.theThe integration of auxiliary measurements was indeed excluded if the difference between raw data timestamps of the devices exceeded a given threshold (i.e., 1 s), according to the PoC implementation described in Section IV. Although it is fundamental to rely on low-latency communication networks to limit the amount of discarded data, a detailed analysis of the network infrastructure and of possible Quality of Service (QoS) policies that could guarantee priority to the CRMs were out of the scope of this study. Furthermore, the presented paradigm can be considered to be implemented through 5 G NR URLLC or even device-to-device technologies (e.g. Direct Short Range Communication (DSRC)) to avoid bottlenecks experienced at the server-side.
2) Expected Accuracy Improvement in Real Scenarios: Fig.  12 shows a synoptic comparison between GPS-only and CP mean positioning errors for SM01 (Fig. 12a, Fig. 12b) and SM02 (Fig. 12c, Fig. 12d). Results are shown about 2D (Fig.  12a, Fig. 12c) and 3D (Fig. 12b, Fig. 12c) solutions for both the agents. An improvement was verified in all the experiments that can be traced back to the proposed approach. By averaging the results reported in Fig. 13, the mean improvement in 2D positioning accuracy provided by the CP across all the experiments is about 40.7 % for SM01 and about 43.5 % for SM02. By considering the different conditions of each experiment, this result suggests an expected value of the accuracy improvement (in the case of profitable conditions) for a single collaborative contribution in poor satellite visibility and mild-urban environment.

C. Representative Scenarios
A set of sample experiments have been selected that are representative of different kinds of result observed within the test campaign. The bar plots in Fig. 14 show a synoptic comparison of the mean positioning error in SM01 (blue) and SM02 (yellow) when GPS-only and profitable CP estimates were available: r Experiment C-02 (short baseline length, low-dynamics pedestrian users) shows a remarkable improvement in the CP estimation that bound positioning errors below 12 m for both the devices. Both the smartphones reach 2D errors of approximately 5 m by exploiting CP.
r Experiment F-01 (zero-baseline, static users sitting sideby-side) shows a moderate improvement for SM01 that was already experiencing a fairly accurate standalone GPS solution. A major improvement is noticeable for SM02 that showed a lower 2D accuracy in standalone solution and a remarkable improvement in both 2D and 3D positioning accuracy.
r Experiment G-05 (medium-baseline length, lowdynamics pedestrian users) presents similar values for both SM01 and SM02 with a slightly better improvement for the first.
r Experiment D-02 (variable baseline length, highdynamics pedestrian and bicycle users experiencing accurate standalone solutions) shows the best performance for both the devices but a remarkable improvement was experienced in 3D solution for SM02. Despite of the remarkable performance in standalone estimation SM01 still benefited from the CP that reduced the 2D error below 5 m. A further assessment aboutfor the feasibility of the proposed paradigm is presented through the analysis of the ECDFs of the positioning errors, provided in Fig. 15. Differenttly from the previous analysis, the plots depict the overall positioning error affecting the estimatedthat affect the positioning solutions over the whole test duration (i.e. 600 s). A comparison is shown between standalone and cooperative solution and a negligible improvement can be noticed for low-dynamics scenario such as for the experiment C-02. On the contrary, a higher advantage is provided on average for higherhigh relative dynamics as for the sample experiment D-02, in which the cooperation was established within bicycle-pedestrian pair . A different case is instead shown in the second pair of plots for the experiment F-01 in which an effectivea clear aidingaided configuration would be advisable from SM01 to SM02as SM01→SM02. This finding appeared more evidentis clearer in static experiments during which two identical devices experienced different navigation conditions over the whole timespan. The overall analysis of ECDFs considered the whole statistics of the dataset by highlighting different situations: i) the need of excluding cooperation for some agents (e.g. F-01), ii) a moderate influence of the CP on the overall error statistics (e.g., C-02, D-02), and iii) the mutual improvement of the positioning accuracy (e.g., G-05). As a general remark, the different dynamics experienced by the users across the experiments seemed not conditioning the performance of the proposed CP approach.

VII. CONCLUSION
In this paper, the implementation of a PoC is presented that validatesa validation through the implementation of a PoC is presented for a sensor-less, GNSS-only CP technique able to cope with the increasing requirement of precision and accuracy for GNSS positioning in harsh scenarios. By exploiting athe general-purpose mobile 4 G/LTE network and rawmeasurements-enabled smartphones, the developed architec-turePoC demonstrated the feasibility of such a GNSS-based CPa cooperative positioning framework that allows the near-realtime exchange of raw GNSS measurements among consumer smartphones, the estimation of the inter-agent distances among networked devices, and the evaluation of a hybrid PVT solution showing higherwith potential highest accuracy w.r.t. the GNSS standalone solution. The use of a remote server hosting the back-end CPS service demonstrated that the network latency affecting the data transmissions plays a marginal role in limiting the overall availability of such auxiliary measurements, which is on average above the 80% of the duration of the tests. It has been shown that when collaborative inter-agent measurements were available and profitable in the pairwise configuration under test, the average improvement w.r.t. to the standalone GNSS solution overcame the 40%, both in bi-dimensional and three-dimensional reference frames. Further improvements can be expected in future works by leveragingexploiting multiconstellation and multi-frequency distance computation to improve the reliability of such cooperative measurements against multipath [70], and by implementing a selection algorithm of the agents to be combined according to the geometry of the relative positions of satellites and collaborating agents. The framework presented in this work can enable a wide range of cooperative applications by leveraging raw GNSS data in vehicular networks, urban mobility and smart cities at a large extent. In line with this, future works will address the formal definition of protocols for the exchange and the exploitation of raw GNSS data by further accounting for scalability issues when more than two devices are assumed cooperating within the same network.