Vol.09 No.03(2018), Article ID:86277,24 pages

New Strategy of Collaborative Acquisition for Connected GNSS Receivers in Deep Urban Environments

Maherizo Andrianarison1*, Mohamed Sahmoudi2, René Jr. Landry 1

1LASSENA Laboratory, Ecole de Technologie Supérieure, Montreal, Canada

2ISAE-SUPAERO & TESA, University of Toulouse, Toulouse, France

Copyright © 2018 by authors and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution-NonCommercial International License (CC BY-NC 4.0).


Received: May 12, 2018; Accepted: July 27, 2018; Published: July 30, 2018


Collaborative Positioning (CP) is a better localization technique used to locate a user in challenged environments, which is driven by the increasing presence of cellular phones and mobile devices in urban areas. The basic idea is that the mobile devices can cooperate with each other to improve their ability to determine their position. In this concept, a network of GNSS (Global Navigation Satellite System) receivers can collectively receive available satellite signals, and each receiver can receive signal measurements from other receivers via a communication link. This work shows how to use the Collective Detection (CD) approach to deal with the concept of collaborative or cooperative positioning. Specifically, this paper develops a new strategy allowing a receiver in deep urban environment to locate using the CD approach, while overcoming the implementation complexity problem. The idea consists in applying the CD approach in the case of multiple GNSS receivers to assist a receiver in a difficult situation. A typical case of two connected receivers assisting a receiver in difficulty in a deep urban area shows the effectiveness of this strategy. This strategy is tested with real GNSS signals to analyze its feasibility. The overall gain in complexity can reach up to 46% of what has been achieved in previous works.


Collective Detection, Collaborative Positioning, Connected GNSS Receivers, Deep Urban Environments

1. Introduction

Positioning and navigation in deep urban environments have become interesting thanks to the integration of GNSS chips in cellular phones and mobile devices, which are used for potential applications. The increase in the number of satellite signals and the diversity of GNSS satellites is a great advantage, because it can improve the overall performance of the signal processing in a multi-constellation/ multi-frequency hybrid architecture.

For indoor environments’ applications, many technologies have been proposed for localization purposes because the GNSS signals cannot be received with a sufficiently high signal-to-noise ratio [1] . Moreover, most techniques require a dedicated physical infrastructure.

Collective Detection (CD) is a powerful method for acquiring highly attenuated GNSS signals in challenging environments because it can process all satellites in view collectively taking advantage of the spatial correlation between satellite signals as a vector acquisition scheme. One advantage of CD as a vector acquisition method is its ability to use stronger signals to facilitate the acquisition of the weaker ones [2] [3] [4] .

The projection of the code phase into position/clock bias domain is done differentially with respect to the pseudorange measurements provided by a reference station with known location. The main idea of the use of CD is that the acquisition of satellite signals in harsh environments could be used for positioning directly without standard tracking loops. In addition, it is known that the GNSS receiver antenna receives at least one or more strong signals and these strong signals are used to detect the weak GNSS signals in view as a sort of multi-satellites collaborative processing.

The main objective of this paper is to propose a mechanism to provide mutual cooperation between surrounding GNSS receivers. The increasing number of mobile devices makes it easier to apply this idea since devices that are able to receive good satellites can assist others in difficulty [5] . Indeed, the application of the CD in the concept of cooperative positioning is proposed. In fact, the CD approach has the capacity to process weak GNSS signals but it is computationally intensive because of the important number of candidate points, which makes its practical implementation very difficult [6] [7] [8] . The proposed strategy consists in applying the CD approach in the case of multiple reference receivers to assist a receiver in a difficult situation.

It can be noted that there are two great advantages of the proposal in this paper. First of all, it makes it possible to considerably reduce the search area, i.e. to decrease the number of candidate points. Secondly, knowing that the CD approach is more beneficial in presence of several satellites, and it allows increasing the probability of having good satellites in order to properly estimate the user’ position through the reference receivers that assist it. In all existing CD methods, to our knowledge, no study has been conducted with the use of two or more receivers to assist a user in poor reception condition. Also, the reference station (RS) receivers, also called base station (BS), which assist the receiver in difficulty (called mobile receiver or mobile station―MS) can be mobile or fixed. In this paper, the case of multiple connected (n) GNSS receivers and two cases for the operating mode of the two reference stations are considered. The principle is to have a better estimation of the user position while reducing the complexity of the CD process that depends on the search area in position/clock-bias domain.

When there are less than four satellites that can be detected individually, CD has still the ability to provide a coarse positioning solution with attenuated signals in degraded environments. CD can be seen both as a high-sensitivity and a direct positioning method because it provides a coarse estimation of the user position using direct navigation solution. The general difference between conventional acquisition and CD technique is shown in Figure 1.

The focus in this proposal was strongly motivated by the idea of some devices equipped with GNSS chips connected to help each other as shown in Figure 2, in which MS is the user Mobile Station, RS1 and RS2 are the Reference Stations to assist MS. This is the simplest case to introduce the principle of using multiple receivers to help a user in bad visibility conditions.

The approach proposed in this paper is different from the collaborative positioning or collaborative navigation standard methods developed in the literatures where the acquisition process is performed in the code/Doppler domain [9] - [15] , whereas in this work the collective acquisition is carried out in position/clock-bias domain.

The next sections of the paper are structured as follows. First, the CD principle is presented in Section II in which a single reference station is used to assist the user MS. Then, Section III develops the proposed Collective Positioning (CP) approach and shows how CD can be used as a CP technique in which the two cases study are shown. Performance analysis of the proposed algorithm with simulated and real GNSS signals will be discussed in Section IV. Finally, the paper concludes with a discussion of the overall contribution of this work and the remaining issues for future perspectives.

Figure 1. GNSS signal acquisition using sequential (left) and vector (right) detection for all visible satellites.

Figure 2. An application scenario of the proposed Collective Positioning approach.

2. Principles and Background on Collective Detection

In standard acquisition, the input signal is correlated with a local replica and the correlation power corresponding to the k-th satellite is expressed as [4] :

S c o n v ( τ k ) = | s v ^ ( τ ^ k ) | 2 = | a k v k ( τ k ) v ^ ( τ ^ k ) + n ˜ v k ( τ k ) | 2 (1)

where v ^ ( τ ^ k ) is the signal local replica, τ ^ k is the hypothesised code delay of satellite k, a k is the signal amplitude, n ˜ is the noise component, and s represents the complex baseband signal such as:

s = k = 1 N a k v k ( τ k ) + n ˜ (2)

where v k ( τ k ) represents the signal vector of the k-th satellite, N represents the number of satellites in view, τ k represents the code phase and n is the Additive White Gaussian Noise (AWGN).

The peak position of the correlation is estimated as the code phase of each acquired satellite. The estimation of the position and other parameters defined as a vector γ ^ is then performed. γ ^ includes the estimate of the receiver position ( E M S , N M S , U M S ) and the common clock-bias B, which represents the timing difference between the local clock of the receiver and the synchronized clock of the satellite. The parameter γ ^ can be defined in an uncertainty space noted as Γ .

The estimation of parameters in CD approach is performed by non-coherently summing the correlation power of all visible satellites computed for standard acquisition and it is carried out in position and clock-bias domain. Then, the CD metric is expressed as

S C D ( τ k ) = k = 1 N | s v ^ ( τ ^ k ( γ ^ , ψ ) ) | 2 (3)

where ψ is the satellite position vector.

The acquisition search grid is set in a space defined by 3D position coordinates ( Δ N , Δ E , Δ D ) which are the algebraic distances between the mobile receiver and the reference station in North, East and Down directions and the relative clock bias of the receiver to the reference station ( Δ B ). In CD, the code phase in the correlator output (individual detection metric) is the projection of a given point in the position/clock bias domain for all satellites in view. The projection of the signal code delay to the position/clock bias domain of the MS is done differentially w.r.t. the pseudorange measurements ρ R S , k seen by the RS for the k-th satellite. Then, the pseudorange seen by the MS for the satellite k can be expressed as [7] :

ρ M S , k = ρ R S , k + Δ ρ k (4)

where Δ ρ k is the difference in pseudorange from the MS w.r.t the one measured by the RS for satellite k.

In CD, the uncertainty space Γ is centered on the initial position and clock bias, and can be defined w.r.t. the accuracy of the initial knowledge. The range-offset at a position separated by Δ N , Δ E , Δ D , Δ B from the RS is expressed in terms of the position and the clock-bias [3] :

Δ ρ k = f ( Δ P M S , Δ B M S )

Δ ρ k ( ΔN,ΔE,ΔD,ΔB< /mi> ) =cos( a z k )cos( e l k )ΔNsin( a z k )cos( e l k )ΔE+sin( e l k )ΔD+cΔB (5)

where a z k and e l k represent respectively the azimuth and the elevation of the satellite k as seen by the RS (usually the same as for the MS). The term c Δ B represents the pseudorange variation due to the clock bias of the MS.

Then, the pseudorange can be converted to an equivalent estimated code phase τ ^ k , at a hypothetical location Δ N i , Δ E j , Δ D m and a clock bias Δ B n , as [7] :

τ ^ k = [ ρ R S , k + Δ ρ k ( Δ N i , Δ E j , Δ D m , Δ B n ) ] c T c o d e c T c o d e N c o d e (6)

where T c o d e is the spreading code period (i.e. 1 ms for GPS L1 C/A code), N c o d e is the number of code chips per period, and [ ] c T c o d e represents the modulo c T c o d e operation such that τ ^ k [ 0 , N c o d e 1 ] chip.

Then, the individual detection metric corresponding to the satellite k for these 4D coordinates can thus be calculated by [7] :

D i n d ( τ ^ k ) = | S ( τ ^ k ) | 2 (7)

where S ( τ ^ k ) is the correlation output at the code phase τ ^ k for the satellite k. Then, the individual detection metrics for all satellites in view are summed in order to obtain a single Collective Detection metric as [7] :

D C D ( Δ N i , Δ E j , Δ D m , Δ B n ) = k D i n d ( τ ^ k ) (8)

Once the CD metric is computed for all candidate points, many approaches can be used to decide which set of values corresponds to the best estimation of the true MS position coordinates and clock bias. If the CD metric exceeds a pre-defined threshold, the GNSS signal could be detected. Thus, the code phase and Doppler frequency corresponding to the detected signal could be obtained.

3. Collaborative Positioning Approach

3.1. Concept of Collaborative Positioning

There are different ways of addressing the Collaborative Positioning problem. For example, in [9] the collaboration between receivers is performed in both signal processing and measurement level, and each receiver processes the incoming satellite signal (1 ms signal) with a correlation engine before sending its data to others. The concept of a multi-platform signal and trajectory estimation receiver (MUSTER) is introduced in [9] where relative navigation states between individual receiver nodes contain large uncertainties (100 m position uncertainty). In [10] , CP techniques are analyzed for robust GPS positioning in vehicular ad-hoc networks (VANET) based on the range communications infrastructure. In fact, an algorithm that supports CP across a VANET is developed in [10] : a Cramer Rao Lower Bound analysis is carried out to demonstrate the performance of the CP architecture where standalone GPS positions and inter-node distances are combined in a loosely coupled integration architecture. A new paradigm around how some devices (smartphones, cameras, gaming devices, etc.) can cooperate with each other to improve their ability to compute position and navigate is developed in [11] . In fact, the cooperation is performed at the position-engine level and on the case when measurements are not synchronized in time. The basic idea in [11] is to demonstrate two scenarios: a receiver with “strong” measurement data (good condition) can assist a receiver with “weak” measurement data (in difficulty) to compute its location and two receivers with “weak” measurement data (poor condition) can cooperate to improve their positioning accuracy and reliability. They have demonstrated that receivers can cooperate to compute their GNSS positions in some challenging environments where non-cooperative GNSS receivers fail. Other sensors with extended Kalman filter are used in [12] to assure continuous, accurate and reliable PNT even in GNSS-challenged environments, and enable robust cooperative navigation including seamless transition between different types of navigation platforms that navigate together. Some statistical network-based collaborative navigation algorithms are proposed and compared to Kalman filter in [13] .

In the next section, the new CP approach we propose in this paper will be developed. This approach is different from all that we have mentioned above in such that it relies on the application of the CD method.

3.2. Principle of Collaborative Positioning Using CD Approach

The code delay estimation for all satellites requires several information from the reference station, such as the RS position for setting the initial MS spatial uncertainty, the pseudorange measurements for all visible satellites as seen from the RS, and ephemeris to extract the necessary parameters to compute the expected satellite azimuth and elevation angles. The reference frequency from the RS is also required to calibrate the MS oscillator and compensate the oscillator Doppler offset component. The benefit of the CD application is shown in Equations (7) and (8). In fact, weak satellite signals may not be detectable in conventional receivers with only individual correlator output value given by (7). However, the accumulation of all individual detection metrics for each visible satellite can increase the sensitivity of the receiver using (8) in which the summation operator represents the term “Collective” in Collective Detection.

Taking into account the ability of the CD approach to process very weak GNSS signals, the following points were the three main reasons that led us to apply the CD principle in the concept of collaborative/cooperative positioning.

1) Position of satellites: study of the best methods for calculating the approximate positions of satellites without decoding the navigation message using the available ephemeris from a previous epoch or received via the internet.

2) Multi-user collaboration: several users share the information (signal, measurements, ephemeris, etc.) to calculate the PVT (Position Velocity Time) of each one that could not be calculated without cooperation [14] [15] .

3) Selection of satellites: select the best satellites to be detected in order to eliminate those which will contribute little to the sensitivity of the receiver and to reduce the search space in the position-clock bias domain. This process is performed after the correlation but before the calculation of the collective metric in (E, N, clock bias).

Knowing that the use of a mobile reference station in the CD approach is indeed possible, as demonstrated in [5] [16] , this paper will consider fixed and mobile receivers.

In this paper, CD approach (presented in Section II) with a mobile RS is applied as a CP method. Indeed, two or more receivers can be used as a reference station to help the MS to estimate its position while applying the CD approach (DP without passing through the tracking stage), where the concept of CP.

3.2.1. CD Approach with a Single Mobile Reference Station

The CD process used to determine the MS position is as follows. Each candidate point coordinate (potential position and clock bias) is mapped to the code delay and Doppler space for each visible satellite. Figure 3 shows the projection of the signal code delay to the position/clock bias domain of the MS w.r.t the pseudorange measurements provided by the RS. Since the first proposal of CD, all works used a representation in Cartesian coordinates (North-East referential) for

Figure 3. Mapping of the MS code delay search to position/clock bias and pseudorange domains.

the horizontal position search space, and a new representation in polar coordinates (Rho-Theta) was proposed in [7] in order to decrease considerably the total number of points to evaluate. The CD process using the circular search space is described as follows.

In our case, the local horizontal search is a polar Rho-theta referential instead of North-East referential. In this way, Δ N and Δ E are expressed in terms of R and θ [7] :

{ Δ N = R cos ( θ ) Δ E = R sin ( θ ) (9)

Then, using (5) yields to [7] :

Δ ρ k ( R , θ , Δ D , Δ B ) = R cos ( e l k ) [ cos ( a z k ) cos ( θ ) + sin ( a z k ) sin ( θ ) ] + sin ( e l k ) Δ D + c Δ B = R cos ( e l k ) cos ( a z k θ ) + sin ( e l k ) Δ D + c Δ B (10)

In order to simplify operations, we neglect the vertical component for the time-being, then [7] :

Δ ρ k = R cos ( e l k ) cos ( a z k θ ) + c Δ B (11)

Thus, the estimated code delay for satellite k for a hypothetical location ( R i , θ j , Δ D m , Δ B n ) is given by [7] :

τ ^ k = [ ρ R S , k + Δ ρ k ( R i , θ j , Δ D m , Δ B n ) ] c T c o d e c T c o d e N c o d e (12)

In order to reduce the number of candidate points in the search area, let’s consider β as the maximum code phase error in chips that can be acceptable in CD process and Δ ρ e r r , max the maximum error of the geometrical difference between ρ R S , k and ρ M S , k . Based on the relation between the code phase and the differential pseudorange, we have [7] :

± β = ± Δ ρ e r r , max c T c o d e N c o d e = ± Δ ρ e r r , max c T c h i p (13)

Then, for each candidate point in the search grid, the candidate code delay for each satellite is calculated as [7] :

τ ^ k = Δ ρ k ( R i , θ j , Δ B n , β ) c T c o d e N c o d e (14)

Finally, if the estimated code delay can be within ± β chips of the true code delay, then the correlation output is expressed as:

D i n d ( R i , θ j , Δ B n , β ) = τ = τ ^ k β τ = τ ^ k + β | S ( τ ^ k , f ^ d k ) | 2 (15)

where f ^ d k represents the estimated Doppler frequency that needs to be considered in a more realistic case. In the case where the reference is fixed, the Doppler is assumed to be correctly estimated and search in Doppler is not required during the CD process. This is why in Equations (7) and (8) the individual and collective detection metrics are only calculated according to the code delay. The CD metric is then obtained by the sum of individual detection metric for all visible satellites.

3.2.2. CD Approach with Multiple Reference Stations

In the case where there are several reference receivers (n references), the MS can use them to help estimating its position using their respective measurements as a CP concept. The implementation of the CD approach requires some information provided by both reference stations, such as their pseudorange measurements for all visible satellites, positions, and ephemeris. A summary of the inputs and outputs of this process is shown in Figure 4.

Reference frequencies may be necessary in some cases to calibrate the MS oscillator and compensate the oscillator offset component. Coarse time can also be

Figure 4. Inputs and outputs of collective detection.

sent to permit direct despreading on secondary code sequences (time synchronization within a few milliseconds: ±0.5 ms to ±2 ms) [7] . In this paper, we only use the pseudoranges, positions, and ephemeris to run the CD algorithm.

Execution of the CD algorithm in a CP concept can be done in several ways. In this article, we propose a simple combination approach described as follows. The range-offset at a position separated by ( R , θ , Δ B ) from each RS (RS1, RS2, …, RSn) can be expressed in terms of the position and the clock bias as:

Δ ρ k , 1 = R 1 cos ( e l k , 1 ) cos ( a z k , 1 θ 1 ) + c Δ B 1 Δ ρ k , 2 = R 2 cos ( e l k , 2 ) cos ( a z k , 2 θ 2 ) + c Δ B 2 Δ ρ k , n = R n cos ( e l k , n ) cos ( a z k , n θ n ) + c Δ B n (16)

Thus, the estimated code delay for satellite k for a hypothetical location ( R i , θ j , Δ D m , Δ B l ) corresponding to each RS is:

τ ^ k 1 = [ ρ R S 1 , k + Δ ρ k , 1 ( R i , θ j , Δ D m , Δ B l ) ] c T c o d e c T c o d e N c o d e τ ^ k 2 = [ ρ R S 2 , k + Δ ρ k , 2 ( R i , θ j , Δ D m , Δ B l ) ] c T c o d e c T c o d e N c o d e τ ^ k n = [ ρ R S n , k + Δ ρ k , n ( R i , θ j , Δ D m , Δ B l ) ] c T c o d e c T c o d e N c o d e (17)

So, the correlation output is function of the code delay estimated by using both RS, and is expressed as:

D i n d ( R i , θ j , Δ B l , β ) = τ = τ ^ k β τ ^ k + β { | n = 1 R n S ( τ ^ k n , f ^ d k n ) | 2 } (18)

The CD metric is then calculated in the intersection area of all the search grid corresponding to each reference station, i.e. S 1 S 2 S n , and defined as:

D C D ( R i , θ j , Δ B n , β ) = k [ τ = τ ^ k β τ = τ ^ k + β D i n d ( τ ^ k n , f ^ d k n ) ] (19)

In order to improve the results, we can consider a second case in which a weight is assigned to each code delay according to the better estimated code delay of each RS from the MS, w 1 , w 2 , , w n corresponding respectively to RS1, RS2, …, RSn. In this case, the code delay used for the individual detection is calculated as a function of the n calculated delays corresponding to each RS. We assign a higher cost for RS that has more accurate code delays, i.e. which has the slightest error between the true value and the estimated value. So,

τ ^ k = w 1 τ ^ k 1 + w 2 τ ^ k 2 + + w n τ ^ k n (20)

where the values of w n vary according to the estimated phase code for each RS, such that n = 1 R n w n = 1 .

Knowing that the information coming from different reference stations may have different levels of reliability, weighting coefficients are useful to merge the estimated code delay corresponding to each RS in the individual and collective detection metrics. Thus, the weights related to the aiding quality (accuracy of code delay), inspired by [17] , can be expressed as:

w n ( τ ) = z 1 σ n ( τ ) (21)

where w n ( τ ) represents the proper weights for the code delay estimate corresponding to each RS, σ n ( τ ) is the standard deviation of the estimated code delay corresponding to each RS, and the coefficient z is used to obtain a unitary sum of all weights. Indeed, according to the values of σ n ( τ ) , weighting coefficients inversely proportional to them can be used as:

z = 1 / n = 1 R n 1 σ n ( τ ) (22)

Note that the MS computes the code delay estimate corresponding to each RS (expressed in Equation (17)) and combine them during the collective acquisition (expressed in Equations (18) and (19)). The choice of the assigned weight costs may depend on several criteria on the quality of the corresponding reference station (low cost or professional receivers, acceptable margin of error, receivers that know their position with very high precision, etc.).

In the case where the values of the code delay errors are almost the same for all reference stations, another simpler approach can be used by using constant weights while performing the arithmetic average of the code delay corresponding to all reference stations i.e.

w n ( τ ) = w = 1 n .

3.3. Application Case: Collective Detection Using Two Reference Stations

Taking into account the three points mentioned in the previous section, in order to study the effectiveness of the CD approach within the concept of CP, let us consider the case of two receivers (RS1 and RS2) assisting a receiver (MS) in difficulty. Depending on the position of RS1 and RS2 relative to the user, some cases can be considered. In all cases, MS is still in the intersection area of RS1 and RS2. In other words, the intersection of RS1 and RS2 is the new search grid area to determine the position of the MS.

In CD, by carrying out the projection to position domain, two representations of horizontal position search can be used: Cartesian coordinates (rectangular search area) [3] [4] or polar coordinates (circular search area) [7] . When polar coordinates are used, it has been shown that the total number of points evaluated decreases considerably [7] . This is why, in this work, we chose to adopt the technique developed in [7] in order to minimize the uncertainty area where the MS position search is performed. For circular search, the uncertainty area is even smaller compared to rectangular search. Both cases are shown in Figure 5.

The CD process for estimating the position of the MS can be performed in two ways:

1) Case 1: both RSs measurements are used in the CP/CD algorithm;

2) Case 2: both RSs are used to define the search area but only one in the CP/CD algorithm.

3.3.1. Case 1

In this case, RS1 and RS2 are used to reduce the search space and each receiver sends their information to the MS to calculate the delay τ ^ k . Based on the code delay calculated according to the position of each reference station, it is necessary to choose the best operation within MS. We must just assume that the two RS receivers are well synchronized in good satellites visibility.

This corresponds to the case described previously concerning the approach of CD with multiple receivers but considering a particular case of n = 2. The estimation of the code delay is calculated according to the position of both reference station; and the computation of the individual and collective detection metrics are performed by merging the measurements of the two reference stations.

At each iteration, the grid resolution is reduced (values of R and θ).

3.3.2. Case 2

In this case, RS1 is used to determine the initial uncertainty area and the RS2 is used only to reduce the search space, and a single RS is used to calculate the delay τ ^ k . In this case:

Figure 5. Motivation of using the collective detection approach as collaborative positioning method.

・ Both circles are used to calculate the uncertainty area in which the MS position is estimated;

・ A single circle is used in the following two iterations using the CD approach in [7] based on the polar coordinates by limiting only the variation values of R (radial) and θ (angle) according to the defined uncertainty area to reduce the number of calculations to be performed, in order to have a complexity gain.

・ At each iteration, the grid resolution is reduced (values of R and θ).

The assistance of both RS1 and RS2 is only necessary during the first iteration. This is to take advantage of a high probability of better satellites existence, knowing the higher numbers of mobile receivers in urban areas, in order to reduce the search space of the MS position.

Consider the scenario of Figure 6 to show how the position of MS is calculated by considering the assistance of RS1 and RS2 which are located at the centers of the blue and orange circles respectively.

Now, a mathematical model of the intersecting surface of the two horizontal search areas (striped part in green on Figure 6) should be defined. In Figure 7, d represents the distance between both reference stations.

The collective detection metric, which is a function of R and θ, is calculated as follows. Instead of varying R and θ over all possible values, in order to have a gain in terms of calculation number, the CD metric is calculated only according to:

・ R is delimited by the hatched region (ACB and ADB arcs) instead of scanning all the values of R;

・ θ varies between the angle H O B ^ and H O A ^ instead of scanning all the angles in [ 0 , 2 π ] .

Thus, the collective detection metric should be calculated under the following conditions:

Figure 6. RS1 and RS2 search areas with reduced area where the MS search is performed.

C < x < D B < y < A ( x a ) 2 + ( y b ) 2 < R 1 2 ( x a ) 2 + ( y b ) 2 < R 2 2 (23)

Note that in the case of two receivers as RS, we assume that: b = 0 and b = 0 .

The surface of the intersection zone where the values of R and θ vary, i.e. where the search of the MS position is carried out, is equivalent to [18] :

I R S = R 1 2 cos 1 ( ( d 2 R 2 2 + R 1 2 ) / 2 d R 1 ) + R 2 2 ( cos 1 ( d 2 + R 2 2 R 1 2 ) / 2 d R 2 ) 1 2 ( [ 2 d R 1 + ( d 2 R 2 2 + R 1 2 ) ] [ 2 d R 1 ( d 2 R 2 2 + R 1 2 ) ] ) (24)

In the case where R 1 = R 2 , i.e. the distance between RS1 and MS is equal to that between RS2 and MS, I R S becomes:

I R S = 2 R 1 2 cos 1 ( d / 2 R 1 ) 1 2 d 4 R 1 2 d 2 (25)

Then, after performing the 1st iteration in the surface delimited I R S , the 2nd and 3rd iteration is carried out using (15) and (16) while reducing the uncertainty area and the resolution search grid in order to have a finer estimate.

Note that the use of two reference stations is interesting only if d R 1 + R 2 , which could be easily determined by the CD metric calculation.

4. Experimental Results and Analysis

To demonstrate the feasibility of the proposed strategy for CD application corresponding to the two cases described above, tests with simulated and real signals have been performed. To test the performance of the CP/CD algorithm by applying the case 1, simulated satellite signals in MATLAB were used. For the case 2, real GNSS signals were used. For a better analysis of the proposed algorithms, performance analysis in terms of sensitivity, complexity and accuracy were carried out.

4.1. Case Study 1: CP Based on CD Using the 2 RS in the Entire CD Process

For the experimental analysis, the MS is located at ETS Montreal coordinates (N45˚49'40.35", W73˚56'27.70", 73.90 m); RS1 and RS2 are respectively set to be at (N45˚49'52.18", W73˚56'84.34", 76 m) and (N45˚49'44.52", W73˚55'77.60", 72 m). A mask angle of 10˚ is applied in the execution of the CP/CD algorithm. In order to analyze the performance of the proposed CP/CD algorithm, a comparison of CD algorithm using a single RS and the CP/CD algorithm using the measurements from both references together has been carried out. In this case, the measurements of both RS are merged throughout the CD process. Collective acquisition is performed by three iterations while refining the search space at each iteration until an accurate estimate of the MS position can be obtained as shown in Table 1.

4.1.1. CP/CD Sensitivity Analysis

According to the concept of the Collective Detection as a HS acquisition method, the goal of CP/CD approach is to facilitate the acquisition of weak signals by using strong signals received by all reference stations. So, to analyze the receiver performance in terms of sensitivity, the probability of detection in function of C/N0 level has to be explored. Weak signals are emulated by injecting AWGN noise into the correlation outputs of the MS receiver. Three different scenarios are analyzed depending on the number of satellites and their power as seen in Table 2:

・ Scenario 1: CD with RS1;

・ Scenario 2: CD with RS2;

・ Scenario 3: CP/CD with RS1 and RS2.

Each scenario is tested with 1000 independent blocks of 1 ms and 10 ms GPS L1 C/A. Coherent integration during 10 ms is performed in order to increase the receiver sensitivity. Figure 7(a) and Figure 7(b) show respectively the CD sensitivity analysis corresponding to the three scenarios for 1 ms and 10 ms of coherent integration. These curves represent the probability of detection of the

Table 1. Parameters of CP/CD process.

Table 2. Received satellites by RS1 and RS2.

Figure 7. Sensitivity performance of the three scenarios. (a) T = 1 ms; (b) T = 10 ms.

GNSS receiver using CD approach in function of C/N0 after the third iteration.

From Figure 7, it can be seen that the CP/CD algorithm using RS1 and RS2 measurements together is able to get out a good correlation peak in order to detect the weak satellite signal. CP/CD approach in scenario 3 is very beneficial for short signals of 1 ms in which the difference is very noticeable. The sensitivity improvements for 1 ms and 10 ms signals are not the same, the difference is most noticeable for an integration time of 1 ms: +2 dB-Hz and +4 dB-Hz compared to scenario 1 and scenario 2 respectively for 1 ms, +1 dB-Hz and +2 dB-Hz compared to scenario 1 and scenario 2 respectively for 10 ms. This phenomenon shows the advantage of the CD approach in the acquisition of short signals. This has already been demonstrated in [8] . We also see that the receiver sensitivity using scenario 1 is more efficient than that of scenario 2. This is due to the fact that RS1 receives more satellites (5 weaks and 5 strongs) compared to RS2 (3 weaks and 3 strongs).

To better analyze the performance of the CP/CD algorithm in terms of sensitivity, it is important to see the ratio between the maximum peak and the average of the remaining peaks for each detected satellite. This makes it possible to see the ability of the algorithm to get out the weak signals among the different peaks formed because of the noises as shown in Figure 8.

The curves in Figure 8 show that the values of the ratio between the maximum peak and the median CAF of the CP/CD algorithm are higher than the ratio value of the CD algorithm with a single RS (RS1 or RS2). The ratio values for CD with a single RS (scenario 1 and scenario 2) are the same since the satellite signals received by each RS have the same powers.

It can thus be deduced that the receiver sensitivity increases considerably with the number of references whose measurements are merged in the calculation of the individual detection and collective detection metrics. This could be even more interesting in the case where the reference stations receive different satellites to have as many satellites as possible at the MS level in the CP/CD process.

4.1.2. CP/CD Complexity Analysis

A comparison between algorithms of CP/CD with RS1-RS2 and CD with RS1 is a better way to analyze performance in terms of complexity. Each algorithm is executed according to the simulation parameters described in Table 1. For the algorithm of “CD with RS1”, there are 52030 candidate points in the estimation process of the MS position during the three iterations. For the algorithm of “CP/CD with RS1-RS2”, the estimation of the MS position requires the scan of

Figure 8. Ratio of maximum peak/average of remaining peaks of the three scenarios.

46,824 points throughout the three iterations. We then get a gain of 11.12% (5206 points less to scan) in terms of computing load.

It is important to note that the fact of using the measurements of both reference stations increases the number of computations in the correlation process since it is necessary to consider the code delays, calculated in the position domain, relative to the two references and corresponding to all visible satellites. The reduction in complexity is mainly due to the reduction of the search area that is the intersection of the uncertainty area corresponding to the two references.

4.1.3. CP/CD Accuracy Analysis

To analyze the performance of the CP/CD algorithm in terms of accuracy, the comparison of the horizontal positioning error (HPE) between the “CP/CD with RS1-RS2” algorithm and the “CD with RS1” algorithm has been conducted. A mask angle of 10˚ is applied, and the geometric dilution of precision (GDOP) is varied (1.5, 10.5 and 20.5) to investigate the effect. Results of accuracy of the position solutions are obtained using 1000 acquisitions for varying signal levels. Result values correspond to the position solution achieved 50% and 95% of the time using 1 ms of data. Table 3 presents the comparison of the HPE between the proposed CP/CD algorithm and the standard CD approach “CD with RS1”.

Results show that we obtain the same performance in term of accuracy for both algorithms. In conclusion, using two RSs or more has no impact in the positioning precision. Indeed, according to the GDOP formed by the available satellites, the GDOP could be almost the same for the receivers found around the MS, which makes the horizontal position error almost the same.

4.2. Case Study 2: CP Based on CD Using a Single RS after 1st Iteration in CD Process

To demonstrate the feasibility of the proposed strategy for CD application, a test scenario in downtown Montreal was carried out. For testing, we used two receivers to assist another receiver in poor condition in a deep urban environment. A bit grabber USRP B210 was used as MS, and two uBlox LEA-6T were used as RS1 and RS2 (in a good sky visibility) to assist the MS. Raw GPS L1 C/A signal data was collected from the test setup where signals were attenuated by building structure. Positions of MS and both RSs are shown in Table 4, and the satellites received by each reference station are summarized in Table 5. Note that the real

Table 3. Comparison of horizontal positioning error.

Table 4. Main coordinates and distances from both RSs to MS.

Table 5. Visible satellites during observation period.

distances between the receivers are: RS1-RS2 = 816.46 m, RS1-MS = 412.03 m, and RS2-MS = 424.66 m.

Note that the MS data are obtained from the raw data recorded by the USRP B210 receiver and then post-processed using [19] . This shows the poor reception condition of the MS with respect to the two reference stations. The digital IF signals are used in the CD algorithm as shown in Figure 5. The measurement campaign was carried out for 2 hours and the values are taken every 20 minutes. The values presented in Table 5 are the average for the entire observation period.

RS1 and RS2 are in good reception conditions and they are used to assist MS that is placed in an environment where the satellite signals are very weak (7 visible satellites vs 10 visible satellites). The search grid description is defined in Table 1 that summarizes the values we used for the range and step of each component for rough, medium and fine search level during 3 iterations.

First, CD process is performed for each of RS1 and RS2 as an assistant to MS. In order to choose the best reference to be used to help the MS to roughly estimate its position, let us compare the statistical characteristics of results obtained in code phase estimation from both RS. For that, each CD algorithm is executed 100 times and a mask angle of 10˚ is applied. At each algorithm execution, 10 satellites are found. Table 6 shows the mean error and the standard deviation of the difference between the estimated code phase and the true code phase. This

Table 6. Statistical results of the code phase during CD/CP process.

result makes it possible to analyze the number of correctly estimated code phases.

The goal is to show whether the presence of two reference stations to help calculate the user’s position is beneficial in the practical case. To do this, we will facilitate the process by applying the case 2 presented in Section III.C.2. So, if we compare the statistical results of the parameters received by each reference, it can be seen from Table 6 that RS1 provides better results compared to RS2. In this case, RS2 is used only to determine the search area reduced at the intersection of RS1 and RS2. Then, RS1 sends its position and ephemeris to the MS so that it can calculate its position. By performing the CD process, the results of the iterative method are illustrated in Figure 9, in which the resolution and the uncertainty are reduced at each iteration.

To analyze the performances of the developed techniques, we will compare two algorithms in terms of sensitivity, complexity and accuracy. Knowing that RS1 is the best reference station, the two algorithms are: “CP/CD with RS1-RS2 in 1st iteration and RS1 (i.e. best RS) in the last two iterations”, called “CP/CD-RS1-RS2”; and “CD with RS1 (i.e. best RS) during three iterations”, called “CD-RS1”.

4.2.1. CP/CD Sensitivity Analysis

Comparing the probability of detection in function of C/N0 level between the algorithms of “CP/CD-RS1-RS2” and “CD-RS1”, both algorithms have the same sensitivity performance. The sensitivity is almost the same since we use the two RS measurements in the first iteration only, which corresponds to a large resolution of R and θ as well as the clock-bias. Using two or more references does not affect enough the sensitivity of the receiver considering the case 2 proposed in this paper, i.e. the reference stations are only used in the first iteration in order

Figure 9. Application of CD with 2 RSs as a CP approach.

to reduce the uncertainty area to search the candidate points, then a single reference (the best) is used for the last 2 iterations.

4.2.2. CP/CD Complexity Analysis

As we have seen in Section III.C., it is quite normal that the search area of the candidate points in the positional domain decreases considerably by using two or more reference stations. In the horizontal dimension, we observe at the first iteration a reduction of 2.03 times of the number of scanned points using the algorithm of “CP/CD-RS1-RS2” compared to the algorithm of “CD-RS1”. Indeed, there are 21,142 points to scan unlike the 42,966 points in “CD-RS1”. There is the same number of candidate points for the second and third iterations (3390 points). Taking into account the clock-bias, there are a total of 27,922 points to scan, i.e. a much smaller number compared to 52,030 points in “CD-RS1”.

4.2.3. CP/CD Accuracy Analysis

If we compare “CP/CD-RS1-RS2” and “CD-RS1”, there is no difference in accuracy performance since both algorithms use the same parameters for the resolution of R, θ and clock-bias as described in Table 1.

With a smaller resolution at the 3rd iteration, a smaller horizontal positioning error (HPE) is obtained compared to another work in literature such as [4] that is a good reference since it is part of the first detailed work on the CD approach. So, the resulting HPE of MS is 13.97 m (50%) and 22.36 m (95%) with a GDOP of 1.5. Result values correspond to the position solution achieved 50% and 95% of the time using 1 ms of data in 1000 acquisitions. Note that the fact of having a good precision with respect to [4] is not due to the technique of CP/CD itself but rather to the approach already proposed in [16] .

5. Conclusions

The new strategy of CD application as cooperative positioning meets the requirements of the compromise complexity-sensitivity in CD approach. This idea also makes it possible to benefit from the existence of several receivers in good conditions to help a receiver in deep urban area to estimate its position where it is in practical almost impossible. To achieve this, the RS only transmit its measurements; the MS calculates everything by itself while fusing the data of all existing reference stations.

In this paper, we have demonstrated that it is possible to use two or more reference stations simultaneously in estimating the position of a user in difficult situation based on the CD approach. In the proposed strategy, the results show that there is a significant gain to reduce the complexity when using more than one receiver compared to a single reference station because the uncertainty range is reduced. The reduction of the search area varies according to the position of the reference station with respect to the user. This also reduces the number of calculations while allowing having a good accuracy of the position estimation. The overall gain in complexity depends on the position of the reference stations relative to the user and especially the resolution of the radius and the angle for the search in the position domain. For the example in this paper, we were able to gain 46% of the number of candidate points to be scanned compared to other works using a single reference. Based on the circular search in the CD process, the number of scanned candidate points decreases considerably.

There are nevertheless some compromises in the different strategies (case 1 and case 2) proposed in this paper. For example, using the measurements of the two reference stations increases the sensitivity of the receiver (+1 dB-Hz to +4 dB-Hz corresponding to 1 ms and 10 ms of coherent integration, respectively), but this can quickly increase the computational load in cases where the resolutions are smaller for a large initial search area. Whereas with finer resolutions for the radius and angle for the research in the position we were able to have a good performance in accuracy up to 13.97 m (50%) and 22.36 m (95%).

For the research, we were limited to two RSs receivers for some reasons such as lack of equipment and the implementation complexity of the recording signals that requires perfect synchronization of receivers. Future work to this research will focus on real-time testing with more than two receivers to verify the practical feasibility and performances over time of these applications.


This work is part of the project entitled “Cognitive multi-antenna GNSS/INS Receiver Architectures and Methods for Indoor-Denied Navigation”. It is supported by the Natural Sciences and Engineering Research Council of Canada and École de Technologie Supérieure (LASSENA lab).

Conflicts of Interest

The authors declare no conflicts of interest regarding the publication of this paper.

Cite this paper

Andrianarison, M., Sahmoudi, M. and Landry, R.Jr. (2018) New Strategy of Collaborative Acquisition for Connected GNSS Receivers in Deep Urban Environments. Positioning, 9, 23-46. https://doi.org/10.4236/pos.2018.93003


  1. 1. Gonzalo, S., Jose, L., David, J. and Gustavo, L. (2012) Challenges in Indoor Global Navigation Satellite Systems: Unveiling Its Core Features in Signal Processing. IEEE Signal Processing Magazine, 29, 108-131.

  2. 2. DiEsposti, R. (2007) GPS SV Code Signal Processing and Receiver Design for Simultaneous All-in-View Coherent Signal Acquisition and Navigation Solution Determination. ION NTM, San Diego, CA, USA.

  3. 3. Axelrad, P., Bradley, B., Donna, J., Mitchell, M., et al. (2011) Collective Detection and Direct Positioning Using Multiple GNSS Satellites. Journal of the Institute of Navigation, 58, 305-321. https://doi.org/10.1002/j.2161-4296.2011.tb02588.x

  4. 4. Cheong, J. (2012) Signal Processing and Collective Detection for Locata Positioning System. Ph.D. Thesis, University of New South Wales, Sydney.

  5. 5. Andrianarison, M., Sahmoudi, M. and Landry, R.Jr. (2015) Cooperative Detection of Multiple GNSS Satellite Signals in GNSS-Challenged Environments. Proceedings of the 28th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2015), Tampa, Florida, USA, 14-18 September 2015, 370-380.

  6. 6. Omar, A., Sahmoudi, M., Esteves, P., Ries, L., Andrianarison, M. and Landry, R.Jr. (2014) A New Method of Collective Acquisition of Multiple GNSS Satellite Signals in Challenging Environments. Proceedings of the NAVITEC2014, ESA/ESTEC, Noordwijk, The Netherlands, 3-5 December 2014.

  7. 7. Esteves, P., Sahmoudi, M. and Ries, L. (2014) Collective Detection of Multi-GNSS Signals: Vector-Acquisition Promises Sensitivity and Reliability Improvement. Inside GNSS Magazine.

  8. 8. Andrianarison, M., Sahmoudi, M. and Landry, R.Jr. (2016) Innovative Techniques for Collective Detection of Multiple GNSS Signals in Challenging Environments. 2016 International Conference on Indoor Positioning and Indoor Navigation, Alcala de Henares, Madrid, Spain, 4-7 October 2016, 1-8.

  9. 9. Soloviev, A., Dickman, J. and Campbell, J. (2013) MUSTER A Collaborative GNSS Receiver Architecture for Weak Signal Processing. Inside GNSS Magazine.

  10. 10. Kealy, A., et al. (2011) Collaborative Positioning in GPS-Challenged Environments. Earth on the Edge: Science for a Sustainable Planet: Proceedings of the IAG General Assembly, Melbourne, Australia, 28 June-2 July, 493-500. https://doi.org/10.1007/978-3-642-37222-3_66

  11. 11. Waters, D.W., Pande, T. and Balakrishnan, J. (2011) Cooperative GNSS Positioning and Navigation. Proceedings of the 24th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2011), Portland, OR, 20-23 September 2011, 3945-3951.

  12. 12. Grejner-Brzezinska, D.A. and Toth, C.K. (2013) GPS-Challenged Environments: Can Collaborative Navigation Help? Journal of Aeronautics, Astronautics and Aviation, 45, 241-248.

  13. 13. Lee, J.K., Grejner-Brzezinska, D.A. and Toth, C.K. (2012) Network-Based Collaborative Navigation in GPS-Denied Environment. Journal of Navigation, 65, 445-457. https://doi.org/10.1017/S0373463312000069

  14. 14. Soloviev, A. and Dickman, J. (2013) Collaborative GNSS Signal Processing. Proceedings of the 26th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2013), Nashville, TN, 16-20 September 2013, 135-143.

  15. 15. Kassas, Z.M. and Humphreys, T.E. (2014) Observability Analysis of Collaborative Opportunistic Navigation with Pseudorange Measurements. IEEE Transactions on Intelligent Transportation Systems, 15, 260-273. https://doi.org/10.1109/TITS.2013.2278293

  16. 16. Andrianarison, M., Sahmoudi, M. and Landry, R.Jr. (2017) Efficient and Innovative Techniques for Collective Acquisition of Weak GNSS Signals. Journal of Computer and Communications, 5, 84-113.

  17. 17. Garello, R., Lo Presti, L., Corazza, G.E. and Samson, J. (2012) Peer-to-Peer Cooperative Positioning Part I: GNSS Aided Acquisition. Inside GNSS, 55-63.

  18. 18. Librino, F., Levorato, M. and Zorzi, M. (2014) An Algorithmic Solution for Computing Circle Intersection Areas and Its Applications to Wireless Communications. Wireless Communications and Mobile Computing, 14, 1672-1690. https://doi.org/10.1002/wcm.2305

  19. 19. Borre, K. (2003) The GPS Easy Suite-Matlab Code for the GPS Newcomer. GPS Solutions, 7, 47-51. https://doi.org/10.1007/s10291-003-0049-3