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.
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 [
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 [
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 [
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
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
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 [
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.
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 [
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 [
ρ 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 [
Δ ρ k = f ( Δ P M S , Δ B M S )
Δ ρ k ( Δ N , Δ E , Δ D , Δ B< /mi> ) = − cos ( a z k ) cos ( e l k ) Δ N − sin ( 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 [
τ ^ 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 [
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 [
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.
There are different ways of addressing the Collaborative Positioning problem. For example, in [
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.
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 [
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 [
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.
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.
the horizontal position search space, and a new representation in polar coordinates (Rho-Theta) was proposed in [
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 θ [
{ Δ N = R ⋅ cos ( θ ) Δ E = R ⋅ sin ( θ ) (9)
Then, using (5) yields to [
Δ ρ 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 [
Δ ρ 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 [
τ ^ 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 [
± β = ± Δ ρ 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 [
τ ^ 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.
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
Reference frequencies may be necessary in some cases to calibrate the MS oscillator and compensate the oscillator offset component. Coarse time can also be
sent to permit direct despreading on secondary code sequences (time synchronization within a few milliseconds: ±0.5 ms to ±2 ms) [
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 [
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 .
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) [
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.
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 θ).
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:
・ 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 [
・ 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
Now, a mathematical model of the intersecting surface of the two horizontal search areas (striped part in green on
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:
− 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 [
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.
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.
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
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
・ 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.
Item | Rough 1st iteration | Medium 2nd iteration | Fine 3rd iteration | |
---|---|---|---|---|
Horizontal dimension | Radial Uncertainty [m] | ±10,000 | ±2922 | ±292 |
Radial Step Size [m] | 2922 | 292 | 29.2 | |
Angular Step size [˚] | 14.4 | 5.7 | 5.7 | |
Clock Bias | Clock Bias Uncertainty [m] | ±150,000 | ±220 | ±22 |
Clock Bias Step Size [m] | 440 | 44 | 4.4 |
Satellite signals | RS1 | RS2 | ||
---|---|---|---|---|
Satellite | C/N0 | Satellite | C/N0 | |
Weak signals | PRN 3 | 30 dB-Hz | PRN 2 | 30 dB-Hz |
PRN 6 | 30 dB-Hz | PRN 3 | 30 dB-Hz | |
PRN 7 | 30 dB-Hz | PRN 4 | 30 dB-Hz | |
PRN 16 | 30 dB-Hz | |||
PRN 18 | 30 dB-Hz | |||
Strong signals | PRN 19 | 45 dB-Hz | PRN 13 | 45 dB-Hz |
PRN 21 | 45 dB-Hz | PRN 16 | 45 dB-Hz | |
PRN 22 | 45 dB-Hz | PRN 20 | 45 dB-Hz | |
PRN 27 | 45 dB-Hz | |||
PRN 31 | 45 dB-Hz |
GNSS receiver using CD approach in function of C/N0 after the third iteration.
From
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
The curves in
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.
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
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.
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.
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.
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
GDOP | 50% | 95% | ||
---|---|---|---|---|
CD with RS1 | CP/CD with RS1-RS2 | CD with RS1 | CP/CD with RS1-RS2 | |
Good (1.5) | 13.9 m | 13.7 m | 22.7 m | 22.6 m |
High (10.5) | 127.8 m | 126.9 m | 215.1 m | 214.8 m |
Weak (20.5) | 215.3 m | 214.8 m | 299.1 m | 298.6 m |
Station | Latitude | Longitude | Altitude | Distance to MS |
---|---|---|---|---|
MS | N45˚29'35.6" | W73˚33'48.4" | 83.60 m | n/a |
RS1 | N45˚29'39.2" | W73˚34'08.1" | 83.61 m | 412.03 m |
RS2 | N45˚29'30.5" | W73˚33'37.0" | 83.59 m | 424.66 m |
RS1 | RS2 | MS | |||
---|---|---|---|---|---|
Satellite | C/N0 [dB-Hz] | Satellite | C/N0 [dB-Hz] | Satellite | C/N0 [dB-Hz] |
PRN 2 | 40.25 | PRN 2 | 40.75 | ||
PRN 3 | 35.75 | PRN 3 | 36.75 | PRN 3 | 35.25 |
PRN 4 | 42.25 | PRN 4 | 41.00 | PRN 4 | 38.75 |
PRN 10 | 45.00 | PRN 10 | 45.75 | PRN 10 | 45.25 |
PRN 11 | 37.75 | PRN 11 | 37.50 | PRN 11 | 35.50 |
PRN 13 | 30.50 | PRN 13 | 30.50 | PRN 13 | 30.50 |
PRN 16 | 43.50 | PRN 16 | 42.75 | PRN 16 | 42.75 |
PRN 20 | 40.75 | PRN 20 | 40.50 | ||
PRN 23 | 44.75 | PRN 23 | 44.25 | PRN 23 | 42.75 |
PRN 31 | 38.50 | PRN 31 | 37.50 |
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 [
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
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.
Satellite | RS1 | RS2 | ||
---|---|---|---|---|
Mean error [m] | Std. dev. [m] | Mean error [m] | Std. dev. [m] | |
PRN 2 | 2.5000 | 1.3374 | 2.8000 | 1.4710 |
PRN 3 | 3.7000 | 2.0097 | 3.9000 | 2.1735 |
PRN 4 | 2.4000 | 1.7435 | 2.3000 | 1.6499 |
PRN 10 | 4.3000 | 2.3164 | 3.9000 | 2.1337 |
PRN 11 | 2.5000 | 0.8923 | 2.7000 | 0.7912 |
PRN 13 | 3.2000 | 2.9982 | 3.2000 | 3.0569 |
PRN 16 | 2.7000 | 2.5841 | 2.7000 | 2.6601 |
PRN 20 | 3.2000 | 1.2830 | 3.7000 | 1.8512 |
PRN 23 | 3.9000 | 3.1319 | 4.5000 | 3.2107 |
PRN 31 | 1.5000 | 0.9531 | 1.8000 | 0.8414 |
Mean value | 2.99 | 1.92 | 3.15 | 1.98 |
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
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”.
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
to reduce the uncertainty area to search the candidate points, then a single reference (the best) is used for the last 2 iterations.
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”.
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
With a smaller resolution at the 3rd iteration, a smaller horizontal positioning error (HPE) is obtained compared to another work in literature such as [
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).
The authors declare no conflicts of interest regarding the publication of 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