Next Article in Journal
A Radar Waveform Design Method Based on Multicarrier Phase Coding for Suppressing Autocorrelation Sidelobes
Previous Article in Journal
The Integrated Disturbance Estimation and Non-Singular Terminal Sliding Mode Longitudinal Motion Controller for Low-Speed Autonomous Electric Vehicles
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multi-Epoch Differential Pseudorange Joint Positioning Using GNSS Signals and Terrestrial Cellular Signals-of-Opportunity

1
School of Electronic and Information Engineering, Beihang University, Beijing 100191, China
2
The Faculty of Science, Engineering and Agriculture, University of Venda, Thohoyandou 0950, South Africa
3
The South Africa-China Transport Co-Operation Centre, Pretoria 0044, South Africa
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(18), 5800; https://doi.org/10.3390/s25185800
Submission received: 20 August 2025 / Revised: 8 September 2025 / Accepted: 14 September 2025 / Published: 17 September 2025
(This article belongs to the Section Navigation and Positioning)

Abstract

When the global navigation satellite systems (GNSSs) are unavailable, cellular signals of opportunity (SOPs) can be used to achieve positioning. However, in low observability environments where both GNSS signals and cellular SOPs are less than 2, the current research on cellular SOPs–GNSS signals fusion positioning faces challenges regarding the difficulty in precise position initialization and spatiotemporal uncertainty. To address these issues, a cellular SOPs and GNSS signals fusion positioning model by the pseudorange single difference at multi-epoch (PSDM) is proposed. The spatiotemporal uncertainty of fusion positioning is solved by differential pseudorange. Then, to solve the problem of difficult precise location initialization during the differential pseudorange positioning process, a pseudo-linearization closed-form method was derived, and its limitations were analyzed. Moreover, the pseudo-linearization equation was reconstructed. Based on this, a constrained multi-step weighted least squares (CMWLS) method is proposed that reduces the impact of noise on the PSDM positioning models and improves global convergence. According to the simulation and field test results, the proposed fusion positioning method shows good positioning performance in low-observability environments. For urban positioning in such environments, this study provides a new solution strategy and avoids the requirement of the prior information of the receiver’s initial position for positioning.

1. Introduction

Global navigation satellite systems (GNSSs) have been used in various fields [1,2]. When GNSS signals are obstructed in urban areas, they are insufficient, making the positioning is unusable [3]. Signals of opportunity (SOPs) refer to non-navigation signals, such as cellular base station (BS) signals and low earth orbit satellite signals [4,5,6,7,8,9]. In GNSS-challenged environments, SOPs can be used as a backup positioning system. Cellular SOP is becoming increasingly popular in urban SOP positioning [10,11,12,13,14,15,16,17,18,19,20,21,22].
In recent years, research on fusion positioning using cellular SOPs and GNSS signals based on pseudorange measurement has been popular [23,24]. There are many studies on pseudorange multipath mitigation that have achieved good performance [25,26]. However, current pseudorange positioning methods require sufficient signal sources.
Considering the asynchrony of BS clocks and the obstruction of BS signals, a low observability environment is defined as a situation where the number of both line-of-sight GNSS satellites and BS signals does not exceed 2. In such environments, the current pseudorange-based fusion studies have poor positioning accuracy and do not have an effective solution strategy. Therefore, it is important to conduct research on cellular SOP–GNSS pseudorange fusion positioning in urban low-observability environments.
The main challenge of cellular SOP–GNSS fusion under low observability is that it is difficult to obtain accurate prior information of the receiver initial position due to insufficient visible GNSS signals, which leads to the problem of difficult position initialization and easy divergence in traditional cellular SOP–GNSS fusion positioning methods. Below, we will analyze the reason for this from two perspectives. Firstly, from the signal perspective, due to the wide coverage range of GNSS signals, the impact of the initial guess on GNSS positioning can be almost negligible. However, the coverage area of cellular BS signals is relatively small in urban environments, and the initial pseudorange estimation error at the hundred meter or kilometer level accounts for a larger proportion of the actual pseudorange measurements. Therefore, cellular SOPs positioning requires accurate initial position information; otherwise, the positioning may fail to converge and may even diverge. From the perspective of positioning models, the clock synchronization conditions between different BSs do not meet the requirements of SOP positioning, and BSs do not broadcast accurate clock synchronization information [27]. Therefore, the different BS clocks are asynchronous. Considering this problem, current research usually uses Kalman filtering (KF) models to achieve cellular SOP–GNSS fusion positioning [28,29,30]. However, the positioning models based on KF also requires precise initialization information to avoid filtering divergence in fusion positioning. Based on the above analysis, the fusion of a few GNSS signals and cellular SOPs for positioning still requires relatively accurate prior information on the initial position of the receiver. In low-observability environments with few GNSS signals, it is difficult to obtain precise position initialization information. Therefore, cellular SOP–GNSS fusion positioning encounters the problem of difficulty in position initialization, and the current research on fusion positioning has not effectively solved this problem.
In addition to Kalman filtering, least squares estimation is also a commonly used fusion positioning method. However, the least squares positioning models based on pseudorange measurements, such as time of arrival (TOA) and time difference of arrival (TDOA), cannot eliminate asynchronous BS clock bias. The positioning equation system of TDOA and TOA may be rank deficient, making it impossible to obtain a unique non-zero solution. Fortunately, although the clock bias of the BS is asynchronous, it has relative stability over a short time period. The clock drift of the BS can be almost ignored in a short period of time [31]. Hence, the pseudorange single difference at multi-epoch (PSDM) can be used to achieve cellular SOP–GNSS fusion positioning based on least squares estimation in this paper. Unlike TDOA, the PSDM refers to the pseudorange difference between different epochs and a specific epoch of the same receiver. Therefore, the PSDM positioning model can eliminate the asynchronous BS clock bias. However, the PSDM measurement model is still nonlinear. When there are insufficient GNSS signals and cellular SOPs, the Taylor linearization method for PSDM positioning still requires a good initial guess; otherwise, the positioning may diverge.
In terms of localization by TDOA, Chan et al. proposed the classic two-step weighted least squares (TWLS) method [32]. TWLS is a closed-form solution method that offers low computational complexity and does not require the receiver’s initial position. Therefore, the closed-form solution method based on pseudo linearization for PSDM positioning is attractive. In recent years, there have been many research achievements that have improved the TWLS method [33,34,35]. However, this method cannot be effectively applied in real low-observability environments due to the demand for more signal sources and high noise sensitivity.
Considering that the receiver is located on the surface of the Earth, K. C. Ho et al. improved the TWLS method by establishing constraints based on the Earth model [36]. However, the Earth is not a sphere, so using the radius of the Earth as a distance is inaccurate. Pei et al. proposed an improved TWLS method via the ellipsoid model and reduced the impact of noise on positioning [37]. This is currently a state-of-the-art study. However, this method requires prior knowledge of the receiver height and numerous number of signals.
To address the above challenges, the main contributions of this work are as follows:
(1)
A PSDM positioning model is established to achieve the cellular SOP–GNSS fusion positioning in low observability environments. In this model, the asynchronous BS clock bias is eliminated through the differential pseudorange between different epochs and the initial epoch.
(2)
A pseudo-linearization method for PSDM positioning is derived. Different from filtering positioning, this method can obtain a closed-form algebraic solution and avoid the requirement on initial position priors. In addition, the shortcomings of the pseudo-linearization method were analyzed in detail.
(3)
In terms of the limitations of the above pseudo linearization method, a constrained multi-step weighted least squares (CMWLS) method for PSDM positioning is proposed and derived. In this method, the pseudo linearization matrix is reconstructed by separating variables, the spatial constraint is established by the mapping relationship between the Earth ellipsoid model and the receiver position, and the BS height can be used as prior information to initialize the constraint conditions. This method reduces the minimum required number of signals, mitigates the problem of noise pollution in pseudo linear processes, and improves the global convergence in positioning.
(4)
The convergence of the PSDM model and the positioning performance of the proposed algorithm are analyzed. Then, the influences of the number of visible signals and observation epoch on the proposed positioning method are analyzed. Finally, the proposed method is verified through actual experiments.
Overall, the innovation of this paper is that a PSDM positioning model is proposed to achieve cellular SOP–GNSS fusion in low-observable environments. Aiming to overcome the limitations of the traditional pseudo-linearization method, the pseudo linear matrix is reconstructed, and spatial constraints are established. Then, a CMWLS method for PSDM positioning is proposed to reduce the impact of noise on positioning and improve the convergence. In addition, the proposed positioning method does not rely on the prior receiver’s initial position information.
The remainder of the paper is organized as follows: In Section 2, the measurement models for cellular SOP–GNSS were shown. In Section 3, a PSDM fusion positioning model was established. Then, a pseudo linearization method for PSDM was derived and its shortcomings were analyzed. In Section 4, a CMWLS method for PSDM positioning was derived. In Section 5, the performance of the proposed model and method was analyzed. In Section 6, the experimental results and analysis of different field tests were shown. Finally, the conclusions are given in Section 7.

2. Measurement Model

For simplicity of notation, the term BS denotes any type of cellular SOP transmitter unless explicitly stated otherwise. The schematic diagram of cellular SOP–GNSS fusion positioning via PSDM is shown in Figure 1. The PSDM measurement models for cellular SOP–GNSS are established in this section. Unlike TOA and TDOA, PSDM measurement in this study refers to the pseudorange difference of the same receiver at different epochs. For convenience, the subscript symbols that appear multiple times in the following text are defined as follows: i is the BS index, j is the satellite index, k is the epoch index, and u is the receiver.
Figure 1. Schematic diagram of cellular SOP–GNSS fusion positioning using PSDM.
Figure 1. Schematic diagram of cellular SOP–GNSS fusion positioning using PSDM.
Sensors 25 05800 g001
In cellular SOPs positioning, considering the asynchrony of BS clocks, the pseudorange measurement d ~ i , k b s is expressed as follows:
d ~ i , k b s = | | r u , k r i b s | | + c δ t u ( k ) c δ t b s , i ( k ) + ε i , k b s
where c is the speed of light,  r u , k = ( x u , k , y u , k , z u , k ) T is the position of the receiver, k is epoch index, r i b s = ( x i b s , y i b s , z i b s ) T is the known position of BS, | | r u , k r i b s | | is the true distance between BS and receiver, i = 1 , 2 , N b s , N b s is the number of BSs, | | | | is the modulus of a vector, δ t u is the receiver’s clock bias, δ t b s , i is the BS’s clock bias, and ε i , k b s is Gaussian error with variance σ b s , i 2 ( k ) .
Reference [31] states that although the clock bias of each BS is asynchronous and unknown, the clock bias of the same BS has stability in a short period of time (several minutes to ten minutes), that is, the clock drift of the BS is approximately zero. Therefore, the clock bias δ t b s , i of each BS can be considered constant in a short period of time, such as: δ t b s , i = δ t b s , i ( 1 ) δ t b s , i ( k ) . In addition, in most studies related to cellular signal localization, the receiver is set to use a more accurate atomic clock, so the clock bias of the receiver is usually modeled as a first-order polynomial with an initial clock bias δ t u ( 1 ) and clock drift δ ˙ [18,30]. Therefore, Equation (1) can be rewritten as follows:
d ~ i , k b s = | | r u , k r i b s | | + c ( δ t u ( 1 ) + ( k 1 ) T δ ˙ ) c δ t b s , i + ε i , k b s
where T is the extraction interval for pseudorange measurement. To eliminate asynchronous BS clock bias, let the first epoch as a reference, the differential pseudorange measurement between the k -th and the 1 -th epochs of i -th BS is as:
Δ d ~ i , k b s = d ~ i , k b s d ~ i , 1 b s = | | r u , k r i b s | | | | r u , 1 r i b s | | + c ( k 1 ) T δ ˙ + Δ ε i , k b s
where Δ ε i , k b s = ε i , k b s ε i , 1 b s .
In GNSSs, the positions of the satellites are associated with δ t u . The uncertainty of δ t u can lead to uncertainty in the satellite position due to the entry of cellular SOPs. Therefore, considering the measurement error of the satellite position, the pseudorange measurement d ~ j , k G N S S for GNSS is expressed as:
d ~ j , k G N S S = | | r u , k ( r ~ j , k G N S S v j , k G N S S ( δ t u ( 1 ) + ( k 1 ) T δ ˙ ) ) | | + c δ t u ( 1 ) + c ( k 1 ) T δ ˙ + ε j , k G N S S
where | | r u , k ( r ~ j , k G N S S Δ r j , k G N S S ) | | is the true range between the receiver and the satellite, j = 1 , 2 , N g n s s , N g n s s is the number of GNSS satellites, r ~ j , k G N S S = r j , k G N S S + Δ r j , k G N S S is the satellite position measurement, r j , k G N S S is the true position, Δ r j , k G N S S = v j , k G N S S δ t u ( k ) is the bias, v j , k G N S S is the velocity of the satellite and it can be obtained from ephemeris, and ε j , k G N S S is Gaussian noise with variance σ g n s s , j 2 ( k ) . Furthermore, the PSDM measurement at k -th epochs of j -th GNSS satellite can be expressed as:
Δ d ~ j , k G N S S = d ~ j , k G N S S d ~ j , k G N S S = | | r u , k ( r ~ j , k G N S S Δ r j , k G N S S ) | | | | r u , 1 ( r ~ j , 1 G N S S Δ r j , 1 G N S S ) | | + c ( k 1 ) T δ ˙ + Δ ε j , k G N S S
where Δ ε j , k G N S S = ε j , k G N S S ε j , 1 G N S S .

3. PSDM Fusion Positioning Model

In PSDM measurement, asynchronous BS clocks are eliminated. Therefore, in this section, a cellular SOP–GNSS fusion positioning model based on PSDM is established. Then, to avoid the requirement of a model solution on the prior value of the initial position, a closed-form solution method via pseudo-linearization was derived, and its limitations were analyzed.

3.1. Establishment of PSDM Fusion Positioning Model

According to Equations (3) and (5), the PSDM measurement equation at the k -th epoch for cellular SOP–GNSS is expressed as:
Δ d ~ 1 , k b s Δ d ~ N b s , k b s Δ d ~ 1 , k G N S S Δ d ~ N g n s s , k G N S S = r 1 , k b s r 1 , 1 b s + c ( k 1 ) T δ ˙ + Δ ε 1 , k b s r N b s , k b s r N b s , 1 b s + c ( k 1 ) T δ ˙ + Δ ε N b s , k b s r 1 , k G N S S r 1 , 1 G N S S + c ( k 1 ) T δ ˙ + Δ ε 1 , k G N S S r N gnss , k G N S S r N g n s s , 1 G N S S + c ( k 1 ) T δ ˙ + Δ ε N g n s s , k G N S S
where k = 2 , L , L is the number of epochs and r i , k b s = | | r u , k r i b s | | , r j , k G N S S = | | r u , k ( r ~ j , k G N S S Δ r j , k G N S S ) | | . Convert Equation (6) into the form of a function, the PSDM positioning model composed of the ( N b s + N g n s s ) ( L 1 ) equations are as follows:
z ~ = f ( x ) + Δ ε
where z ~ = [ ( z ~ 1 , L b s ) T , ( z ~ N b s , L b s ) T , ( z ~ 1 , L g n s s ) T ( z ~ N g n s s , L g n s s ) T ] ( N g n s s + N b s ) ( L 1 ) T is the measurement vector, z ~ i , L b s = [ Δ d ~ i , 2 b s Δ d ~ i , L b s ] L 1 T , z ~ j , L g n s s = [ Δ d ~ j , 2 G N S S Δ d ~ j , L G N S S ] L 1 T , x is the state vector:
x = [ r u , 1 T , r u , 2 T r u , L T , c δ ( 1 ) , c δ ˙ ] 3 L + 2 T
The nonlinear function f ( x ) in Equation (7) is as:
f ( x ) = [ f 1 , 2 b s ( x ) , f N b s , L b s ( x ) , f 1 , 2 g n s s ( x ) , f N g n s s , L g n s s ( x ) ] T
where f i , k b s ( x ) = | | r u , k r i b s | | | | r u , 1 r i b s | | + c ( k 1 ) T δ ˙ and f j , k g n s s ( x ) = r j , k G N S S r j , 1 G N S S + c ( k 1 ) T δ ˙ . The noise vector in (8) is as: Δ ε = [ Δ ε 1 , 2 b s , Δ ε N b s , L b s , Δ ε 1 , 2 G N S S , Δ ε N g n s s , L G N S S ] T .
According to the maximum likelihood estimation theory, solving Equation (7) can be transformed into the following problem:
m i n x 0.5 ( f ( x ) z ~ ) T Q 1 ( f ( x ) z ~ )
where Q = E ( Δ ε ( Δ ε ) T ) and E ( ) is the expectation operator. The Taylor linearization method can be used to solve Equation (10). However, when there are a few visible GNSS signals, if there is no precise receiver initial position, the solution of the Taylor iteration method for solving the PSDM models may fail to converge.

3.2. A Pseudo-Linearization Closed-Form Method for PSDM Positioning and Analysis of Its Limitation

Compared to the positioning method based on Taylor linearization, the positioning method based on pseudo-linearization can obtain the state estimation without prior information on the initial position of the receiver. In this subsection, a pseudo-linearization closed-form method for PSDM positioning is derived, and then the limitations of this method are analyzed.

3.2.1. A Pseudo-Linearization Method for PSDM Positioning

Let d i , k b s = | | r u , k r i b s | | and d j , k G N S S = | | r u , k r j , k G N S S | | be the true range equations without measurement errors, respectively. Substituting d i , k b s = d i , 1 b s + Δ d i , k b s and d j , k G N S S = d j , 1 G N S S + Δ d j , k G N S S into the true range equation and squaring both sides yields:
( Δ d i , k b s ) 2 + 2 Δ d i , k b s d i , 1 b s + ( d i , 1 b s ) 2 = r u , k T r u , k 2 r u , k T r i b s + ( r i b s ) T r i b s
( Δ d j , k G N S S ) 2 + 2 Δ d j , k G N S S d j , 1 G N S S + ( d j , 1 G N S S ) 2 = r u , k T r u , k 2 r u , k T r j , k G N S S + ( r j , k G N S S ) T r j , k G N S S
Let Equation (11) be N k , i and Equation (12) be Z k , j . To eliminate the second-order term of the state variable, perform the following operation:
N k , i N 1 , i Z k , j + Z 1 , j
Substituting Equations (11) and (12) into Equation (13) yields:
1 2 ( ( Δ d i , k b s ) 2 ( Δ d j , k G N S S ) 2 + ( r j , k G N S S ) T r j , k G N S S ( r j , 1 G N S S ) T r j , 1 G N S S ) = Δ d i , k b s d i , 1 b s + Δ d j , k G N S S d j , 1 G N S S r u , k T r i b s + r u , 1 T r i b s + r u , k T r j , k G N S S r u , 1 T r j , 1 G N S S
where k = 2 , 3 L . Substituting the PSDM measurement containing errors into Equation (14), the pseudo-linear equations can be constructed by adding auxiliary variables. However, the clock bias and drift cause a sharp increase in the number of auxiliary variables. Therefore, it is necessary to simplify as follows:
(1)
At the beginning, the receiver is stationary for a short period of time and the TOAs of cellular SOPs are summarized. Through first-order linear fitting, the receiver clock drift estimate δ ˙ ^ can be obtained to correct PSDM measurements.
(2)
After clock drift correction, the uncertainty of clock bias estimation has a relatively small impact on satellite position, and it is temporarily ignored in satellite position modeling.
The corrected PSDM measurements are Δ d ~ ˙ j , k G N S S = Δ d ~ j , k G N S S c ( k 1 ) T δ ˙ ^ and Δ d ~ ˙ i , k b s = Δ d ~ i , k b s c ( k 1 ) T δ ˙ ^ . Substitute the corrected PSDM measurements into Equation (14) and ignore ( Δ ε ) 2 , the positioning function composed of N b s N g n s s ( L 1 ) linearly independent equations is expressed as:
C ~ P ε ~ P = h ~ P G ~ P x P
where x P = [ r u , 1 T , r u , L T , d 1 , 1 b s , d N b s , 1 b s , d 1 , 1 G N S S d N g n s s , 1 G N S S ] T , the measurement is: h ~ P = [ h 2 ( 1 , 1 ) , h L ( 1 , N g n s s ) , h L ( N b s , N g n s s ) ] T , h k ( i , j ) = 1 2 ( ( Δ d ~ ˙ i , k b s ) 2 ( Δ d ~ ˙ j , k G N S S ) 2 + ( r j , k G N S S ) T r j , k G N S S ( r j , 1 G N S S ) T r j , 1 G N S S ) , C ~ P is noise matrix, ε P = [ Δ ε 1 , 2 b s , Δ ε N b s , L b s , Δ ε 1 , 2 G N S S , Δ ε N g n s s , L G N S S ] T , the coefficient matrix is as:
G ~ P = [ G 1 , 1 T , G 1 , N g n s s T , G 2 , 1 T , G 2 , N g n s s T , G N b s , N g n s s T ] T
where G i , j = [ G i , j 1 G i , j b s G i , j G N S S ] ,
G i , j 1 = ( r i b s r j , 1 G N S S ) T ( r j , 2 G N S S r i b s ) T ( r i b s r j , 1 G N S S ) T ( r j , L G N S S r i b s ) T G i , j b s = 0 Δ d ~ ˙ i , 2 b s 0 0 Δ d ~ ˙ i , L b s 0 ,   G i , j G N S S = 0 Δ d ~ ˙ j , 2 G N S S 0 0 Δ d ~ ˙ j , L G N S S 0
Equation (15) can be solved by weighted least squares (WLS) as:
x ^ P = ( G ~ P T Q P 1 G ~ P ) 1 G ~ P Q P 1 h ~ P
where x ^ P is the state estimation, Q P = E ( ( C ~ P ε ~ P ) ( C ~ P ε ~ P ) T ) .

3.2.2. Limitation Analysis

According to Equation (18), the estimation accuracy of state x ^ P can be affected by G ~ P , Q ~ P and h ~ P . For h ~ P and Q ~ P , the impact of noise is direct. For G ~ P , according to the structure of G ~ P in Equation (17), the elements in columns 3 L + 1 to 3 L + N b s + N g n s s of G ~ P are PSDM measurements, such as G i , j b s and G i , j G N S S . This means that the pseudo linearization matrix G ~ P is also contaminated by noise. Therefore, as the noise increases, the condition number and singularity of G ~ P will increase.
On the other hand, due to the introduction of new auxiliary variables in Equation (15), the matrix G ~ P requires more signals to maintain the full rank. For 2D positioning, the number of unknown states is 2 L + N b s + N g n s s in Equation (15), and the number of measurements is N b s N g n s s ( L 1 ) . The condition for Equation (15) to have a unique non-zero solution is as:
N b s N g n s s ( L 1 ) 2 L + N b s + N g n s s
In a low-observability environment, when N b s + N g n s s = 3 , G ~ P is rank deficient, and the above pseudo-linearization method cannot be used to solve the PSDM model. For 3D positioning, the number of unknown states is 3 L + N b s + N g n s s in Equation (15), and the number of measurements is also N b s N g n s s ( L 1 ) . When N b s + N g n s s < 4 ,   G ~ P is rank deficient, the positioning equation is unsolvable. Therefore, for 3D positioning, at least four visible signals are required.
Overall, the above pseudo-linearization closed-form solution method for PSDM positioning has the following shortcomings:
(1)
In G ~ P , column elements corresponding to auxiliary variables are contaminated by noise. The singularity of G ~ P increases and the performance deteriorates significantly in high noise.
(2)
Since the addition of auxiliary variables, Equation (15) requires more signals to maintain the full rank of matrix G ~ P .

4. Positioning Algorithm for the PSDM Model

To address the main shortcomings of the pseudo-linearization closed-form method derived in the previous section, this section first redesigned a pseudo-linearization matrix by separating variables and reconstructing the pseudo-linearization equation, which avoids the influence of measurement noise on the elements of the matrix and reduces the number of signals required to achieve positioning. Then, the spatial constraints related to the receiver position are established through the Earth ellipsoid model, and the height of the BS is used to initialize the constraint conditions. On this basis, a constrained multi-step weighted least squares fusion positioning algorithm is proposed to solve the PSDM positioning model. This method reduces the influence of noise on positioning and improves the global convergence of the positioning process.
The proposed CMWLS method is implemented through four steps. In the first step, the positioning equations are redesigned, and auxiliary variables and position states are estimated separately by constraint conditions. In the second and third steps, the estimation result from the first step is utilized to improve the state estimation accuracy. Finally, let the state estimation obtained in the third step be used as the initial value, and an accurate state estimation can be obtained through the iterative WLS.

4.1. Pseudo Linearization Reconstruction

In the East-North-Up (ENU) coordinate system with the BS as a reference and assuming that the altitude of the receiver remains almost unchanged or changes very little in a short period of time, Equation (20) can be reconstructed as:
h ~ 1 = G x y x x y + q z z u e + g 1 b s d 1 b s + g N b s b s d N b s b s + g 1 g n s s d 1 g n s s + g N g n s s g n s s d N g n s s g n s s + ε 1
where h ~ 1 = h ~ P , G x y = ( G P e n u ( : , 1 : 2 ) , G P e n u ( : , 4 : 5 ) , G P e n u ( : , 3 L 2 : 3 L 1 ) ) , m : n are elements from column/row m to column/row n , : , : represents a matrix composed of specified rows and columns, where the left side of the comma represents the rows of the original matrix and the right side represents the columns of the original matrix, the state vector is x x y = [ x u , 1 , y u , 1 , x u , 2 , y u , 2 , x u , L , y u , L ] T , q z = G P e n u ( : , 3 ) , z u e = z u , 1 z u , k , g i b s = G P e n u ( : , 3 L + i ) , and g j g n s s = G P e n u ( : , 3 L + N b s + j ) , G P e n u is the result of G ~ P after ENU coordinate conversion, and ε 1 = C ~ P ε ~ P , d 1 b s d N b s b s and d 1 g n s s d N g n s s g n s s are the distances between the signal sources and the receiver at the initial epoch, this is the auxiliary variable added to x P in Equation (15). However, the dimension of G x y in Equation (20) is N g n s s N b s ( L 1 ) × 2 L , which still cannot achieve full rank when N g n s s + N b s 3 , N g n s s 1 and N b s 1 . Therefore, Equation (20) can be further redesigned as:
h ¯ 1 = G ¯ x y x ¯ x y + q z z u e + g 1 b s d 1 b s + g N b s b s d N b s b s + g 1 g n s s d 1 g n s s + g N g n s s g n s s d N g n s s g n s s + ε 1
where
h ¯ 1 = h ~ 1 N b s + N g n s s 4 h ~ 1 G L L x L e l s e ,   G ¯ x y = G x y N b s + N g n s s 4 G x y ( : , 1 : 2 L 2 ) e l s e ,   x ¯ x y = x x y N b s + N g n s s 4 x x y ( 1 : 2 ( L 1 ) , 1 ) e l s e ,   G L L = G x y ( : , 2 L 1 : 2 L ) ,   and   x L = [ x u , L , y u , L ] T 2 × 1 .
In Equation (21), when the total number of cellular SOP–GNSS is as N g n s s + N b s = 3 , G ¯ x y can maintain full rank. At the initial time, x L is unknown. Therefore, set x L as the position of a certain BS at the initial time. Then, x ¯ x y can be estimated. Considering the slow motion of the receiver, update x L to x ¯ ^ x y ( 2 L 3 : 2 L 2 , 1 ) . After several iterations, the estimation can converge.
According to the principle of weighted least squares estimation, the position solution of the receiver in Equation (20) can be expressed as:
x ¯ x y = ( G ¯ x y ) p i n v ( h ¯ 1 q z z u e g 1 b s d 1 b s g N b s b s d N b s b s g 1 g n s s d 1 g n s s g N g n s s g n s s d N g n s s g n s s )
where ( G ¯ x y ) p i n v = ( G ¯ x y T Q x y 1 G ¯ x y ) 1 G ¯ x y T Q x y 1 is the pseudo-inverse of a matrix, Q x y = E ( ω 1 ω 1 T ) , and ω 1 is the measurement error of vector ( h ¯ 1 q z z u e g 1 b s d 1 b s g N b s b s d N b s b s g 1 g n s s d 1 g n s s g N g n s s g n s s d N g n s s g n s s ) , which can be initially set as an identity matrix. It can be seen from Equation (22) that if estimates of z u e , d 1 b s d N b s b s and d 1 g n s s d N g n s s g n s s can be obtained, then estimates of x ¯ x y can be easily obtained.

4.2. Establish Spatial Constraints

The BSs and the receiver are distributed on the surface of the Earth. The height difference between the BS and the receiver is small, usually only a few tens of meters. After cellular SOPs enter, the height of the BS constrains the receiver to be on the surface of the Earth’s ellipsoid.
Assuming that in the Earth Centered Earth Fixed (ECEF) coordinate system, the position coordinates of the receiver on the Earth’s surface are r u = ( x u , y u , z u ) T , the projection relationship between this coordinate and latitude-longitude-altitude in the ellipsoid model is as follows:
x u = ( M + d z ) cos ( θ l a t ) cos ( θ l o n ) y u = ( M + d z ) cos ( θ l a t ) sin ( θ l o n ) z u = ( M ( 1 e 2 ) + d z ) sin ( θ l a t )
where θ l a t and θ l o n are the geodetic latitude and longitude of the receiver, d z is the height (altitude) of the receiver from the ground surface, e = 0.08181919084262149 is the first eccentricity, and M = r d 1 e 2 sin 2 ( θ l a t ) , where r d 6378.137   km is the radius of the Earth.
According to Equation (23) and the sine-cosine operation, the position of the receiver satisfies the following constraint equation:
x u 2 + y u 2 + ( M + d z ) 2 sin 2 ( θ l a t ) = ( M + d z ) 2
The third term on the left side of Equation (24) can be represented by the equation z u as:
( M + d z ) 2 sin 2 ( θ l a t ) = z u 2 ( M + d z ) 2 ( M ( 1 e 2 ) + d z ) 2
According to Equation (25), Equation (24) can be reorganized as:
r u T W r u = a 2
where a = M + d z , W = d i a g ( [ 1 , 1 , 1 / m ] ) , d i a g ( [ 1 , n ] ) represents a diagonal matrix with [ 1 , n ] as the main diagonal element, and m = ( M ( 1 e 2 ) + d z ) 2 .
It can be seen that the above constraints require prior knowledge of the altitude d z of the receiver, which is unknown. The difference between the BS height and the receiver height in urban environments is relatively small. Therefore, in the subsequent use of this constraint for positioning, the BS’s height can be approximated as the receiver height for initialization constraint conditions.

4.3. The Proposed CMWLS Method for PSDM Positioning

4.3.1. Initial Estimation of Position Based on Spatial Constraints WLS

  • Coordinate transformation
For the receiver position of the first epoch, Equation (26) can be re-expressed as:
r u , 1 T W r u , 1 = a 2
According to the established constraint relationship in Section 4.2, it can be inferred that the receiver position r u , 1 in Equation (27) is in the ECEF coordinate system. However, the receiver position state in Equation (26) is in the ENU coordinate system. Therefore, a conversion between the ECEF and ENU coordinate systems is required:
r u , k e c e f = S 1 r u , k e n u + χ = ( S 1 ) 1 : 3 , 1 : 2 ( x ¯ x y ) 2 k 1 : 2 k + ( S 1 ) 1 : 3 , 3 z u e + χ
where r u , k e c e f = r u , k is the position vector of the receiver in ECEF coordinates, r u , k e n u is the position vector of the receiver in ENU coordinates, S = sin ( θ l o n ) cos ( θ l o n ) 0 sin ( θ l a t ) cos ( θ l o n ) sin ( θ l a t ) sin ( θ l o n ) cos ( θ l a t ) cos ( θ l a t ) cos ( θ l o n ) cos ( θ l a t ) sin ( θ l o n ) sin ( θ l a t ) is the ECEF-ENU coordinate transfer matrix, and χ is the coordinate vector of the reference station in the two coordinate system transformations.
  • Obtain the estimation of auxiliary variables
Substituting Equations (22) and (28) into Equation (27) yields:
M ¯ T W M ¯ = a 2
where M ¯ = ( M x y ( h ¯ 1 q z z u e g d ) + M z z u e + χ ) , g d = g 1 b s d 1 b s + g N b s b s d N b s b s + g 1 g n s s d 1 g n s s + g N g n s s g n s s d N g n s s g n s s , M x y = ( S 1 ) 1 : 3 , 1 : 2 V ( G x y ) p i n v , V = 1 0 0 0 1 0 , M z = ( S 1 ) 1 : 3 , 3 , the subscript represents the matrix composed of corresponding rows and columns.
Reorganizing Equation (29) into the form of a system of multivariate linear equations, then the z u e can be expressed by d 1 b s d N b s b s and d 1 g n s s d N g n s s g n s s :
z u e = z e d 1 b s , , d N b s b s , d 1 g n s s , , d N g n s s g n s s
where z e ( ) is a polynomial function.
On the other hand, substitute Equations (22) and (28) into ( d 1 b s ) 2 = ( r u , 1 ) T r u , 1 2 ( r 1 b s ) T r u , 1 + ( r 1 b s ) T r 1 b s gives:
( d 1 b s ) 2 = a 2 + μ ( z u e ) 2 2 ( r 1 b s ) T ( M x y ( h ¯ 1 q z z u e g d ) + M z z u e + χ ) + ( r 1 b s ) T r 1 b s
where μ = 1 1 m . Set Equation (31) as R 1 b s . Similarly, multiple R i b s and R j g n s s values can be obtained by performing the above operation. Organize these equations into a system of linear equations containing variables d 1 b s d N b s b s , d 1 g n s s d N g n s s g n s s and z u e . By substituting the expression for z u e obtained in Equation (36), a system of equations containing only the variables d 1 b s d N b s b s and d 1 g n s s d N g n s s g n s s can be obtained. The number of equations is the same as the number of unknown variables. Therefore, the estimation d ^ 1 b s d ^ N b s b s and d ^ 1 g n s s d ^ N g n s s g n s s can be obtained by solving a system of multivariate linear equations. Furthermore, through Equation (36), the estimation z ^ u e of z u e can also be obtained.
  • Obtain position state estimation
Substituting z ^ u e , d ^ 1 b s d ^ N b s b s and d ^ 1 g n s s d ^ N g n s s g n s s into Equation (22), the 2D position estimate x ¯ ^ x y of the receiver can be obtained as:
x ¯ ^ x y = ( G ¯ x y ) p i n v ( h ¯ 1 q z z ^ u g 1 b s d ^ 1 b s g N b s b s d ^ N b s b s q 1 g n s s d ^ 1 b s q N g n s s g n s s d ^ N g n s s g n s s )
Furthermore, the 3D position can be obtained as follows:
x ^ 1 e n u = [ ( x ^ x y ) T ,   z ^ u e ] T
where x ^ x y = x ¯ ^ x y N b s + N g n s s 4 x ¯ ^ x y T , x ^ L T T e l s e . Converting position estimation x ^ 1 e n u to ECEF coordinates x ~ ^ 1 , we can obtain: x ~ ^ 1 = [ r ^ u , 1 T , , r ^ u , L T ] T .
In the constraints of Equation (27), the calculation of the parameter M requires the latitude position θ l a t of the receiver. However, θ l a t is unknown. At the initial calculation, set M = r d . After obtaining the initial estimate of the receiver position, θ l a t can be calculated as:
θ ^ l a t = arctan ( z ^ u e ( | | x ^ x y | | ( 1 e 2 ) ) )
Then, M can be updated through θ ^ l a t . It should be noted that the proposed method still ignores high-order terms of noise, so the influence of noise cannot be completely avoided. Furthermore, if there are several sets of solutions that are similar for parameter d ^ 1 b s d ^ N b s b s and d ^ 1 g n s s d ^ N g n s s g n s s , it is difficult to select the most suitable solution. Therefore, the state estimation obtained in this step makes it difficult to achieve optimal results, so optimization of the state estimation is required.

4.3.2. Elimination of Auxiliary Variables and Optimization of Initial Position Estimation

In this step, a linear equation is reconstructed according to the relationship between auxiliary variables and the initial receiver position. Performing N 1 , i Ζ 1 , j can obtain:
d i , 1 b s 2 d j , 1 G N S S 2 r i b s T r i b s + r j , 1 G N S S T r j , 1 G N S S = 2 r u , 1 T r i b s r j , 1 G N S S
Let the estimation of auxiliary variables be the measurements: d ^ i , 1 b s = d ^ i b s , d ^ j , 1 G N S S = d ^ j g n s s . By substituting it into Equation (35) and ignoring higher-order noise terms, a linear equation can be obtained as follows:
C 2 ε 2 = h 2 G 2 x ~ 2
where the state vector is: x ~ 2 = r u , 1 , the measurement vector is: h 2 = 0.5 [ h 2 1 , 1 , h 2 N b s , 1 , h 2 2 , 1 , h 2 N b s , N g n s s ] T , h 2 i , j = ( d ^ i , 1 b s ) 2 ( d ^ j , 1 G N S S ) 2 ( r i b s ) T r i b s ( r j , 1 G N S S ) T r j , 1 G N S S , and the linearization matrix G 2 is:
G 2 = ( r 1 b s r 1 , 1 G N S S ) T ( r N b s b s r 1 , 1 G N S S ) T ( r N b s b s r N g n s s , 1 G N S S ) T
The noise vector in Equation (36) is ε 2 = [ n 1 , 1 b s , n N b s , 1 b s , n 1 , 1 g n s s , n N g n s s , 1 g n s s ] T , where n i , 1 b s and n j , 1 g n s s are the estimation errors of the auxiliary variable in the first step. The noise matrix is as follows:
C 2 = C 1 g n s s C N g n s s g n s s ,   C j b s = d 1 , 1 b s 0 0 d j , 1 G N S S 0 0 d N b s , 1 b s 0 d j , 1 G N S S 0 .
According to the WLS method, the estimation of x ~ 2 is as follows:
x ~ ^ 2 = ( G 2 T Q 2 1 G 2 ) 1 G 2 Q 2 1 h 2
where Q 2 = E ( ( C 2 ε 2 ) ( C 2 ε 2 ) T ) = C 2 Q 1 C 2 T .

4.3.3. Optimization of Multi-Epoch Position Estimation

According x ~ ^ 1 and x ~ ^ 2 , the new linear equation is constructed as:
C 3 ε 3 = h 3 G 3 x ~ 3
where the measurement vector is: h 3 = [ ( x ~ ^ 2 ) T , ( r ^ u , 2 r ^ u , 1 ) T , ( r ^ u , L r ^ u , 1 ) T ] T , the state vector is: x ~ 3 = [ r u , 1 T , r u , 2 T r u , L T ] T , G 3 = C 3 = I 3 × 3 0 0 0 I 3 × 3 I 3 × 3 0 I 3 × 3 0 I 3 × 3 , and the noise vector is ε 3 = [ φ T , n 2 T , n 3 T n L T ] T , where φ is the estimation error of x ~ ^ 2 , and [ n 2 T , n 3 T n L T ] T is the estimation error of x ~ ^ 1 .
According to the WLS method, the solution of Equation (38) is as follows:
x ~ ^ 3 = ( G 3 T Q 3 1 G 3 ) 1 G 3 Q 3 1 h 3
where Q 3 = E ( ( C 3 ε 3 ) ( C 3 ε 3 ) T ) . The estimation of the position in the third step of the CMWLS method can be obtained as: x ^ C M W L S 3 = x ~ ^ 3 .

4.3.4. Secondary Optimization of Multi-Epoch Position Estimation

Due to neglecting the high-order terms of noise up to steps, the state estimation obtained by Equation (39) is still sensitive to noise. To further reduce the impact of noise and improve the global convergence of the positioning model, the positioning result obtained in Equation (39) is used as the initial Taylor expansion value, and the nonlinear function f ( x ) in Equation (10) is linearized. Then, according to the WLS theory, the Gaussian Newton solution of Equation (10) is further obtained through iterative calculation. After Taylor linearization, Equation (10) can be rewritten as:
m i n x 1 2 ( F δ x m ~ ) T Q 1 ( F δ x m ~ )
where δ x is the change in state estimation, m ~ = z ~ f ( x ) , and F = F B S F G N S S is the Jacobian matrix of f ( x ) , where
F G N S S = F 1 G N S S F N g n s s G N S S ,   F B S = F 1 B S F N b s B S ,   F j G N S S = e j , 1 g n s s e j , 2 g n s s 0 e 2 δ t e 2 δ ˙ e j , 1 g n s s 0 e j , L g n s s e L δ t e L δ ˙ ( L 1 ) × ( 3 L + 2 ) , F i B S = e i , 1 b s e i , 2 b s 0 0 0 T e i , 1 b s 0 0 e i , L b s 0 ( L 1 ) T ( L 1 ) × ( 3 L + 2 ) ,   e i , k b s = ( r i b s r u , k ) T | | r u , k r i b s | | ,   e j , k g n s s = ( r j , k G N S S r u , k ) T | | r u , k r j , k G N S S | | ,   e k δ t = ( v j , k G N S S ) T ( r j , k G N S S r u , k ) c | | r u , k r j , k G N S S | | ,   e k δ ˙ = ( k 1 ) T ( v j , k G N S S ) T ( r j , k G N S S r u , k ) c | | r u , k r j , k G N S S | | + ( k 1 ) T .  
According to the principle of weighted least squares, the Gaussian Newton solution of Equation (40) is as follows:
δ x ^ = ( F T Q 1 F ) 1 F Q 1 m ~
After continuous iteration, a more accurate state estimate can be obtained as:
x ^ n = x ^ n 1 + δ x ^ n
where x ^ n is the state estimation at the n -th iteration, and the initial state is x ^ 0 = x ^ C M W L S - 3 .
According to the content in the previous section, the detailed algorithm implementation process is shown in Figure 2 below:
Step (1). Set initial M = r d . Calculate G ¯ x y ,   h ¯ 1 ,   q z ,   g i b s ,   g j g n s s , the estimate of d 1 b s , d N b s b s and d 1 g n s s , d N g n s s g n s s can be obtained by Equation (31), and then the z ^ u e can be obtained by Equation (30). Furthermore, the estimate of the initial receiver position x ~ ^ 1 with L epoch can be obtained through Equation (33).
Step (2). Let d ^ i , 1 b s = d ^ i b s , and d ^ j , 1 G N S S = d ^ j g n s s and calculate G 2 ,   Q 2 ,   C 2 ,   h 2 . Auxiliary variables are eliminated and the position estimate of the first epoch can be obtained by Equation (37).
Step (3). Calculate G 3 ,   Q 3 ,   C 3 ,   h 3 . Step 3 of CMWLS method can be executed. The optimized position estimation the x ^ C M W L S 3 can be obtained through Equation (39).
Step (4). Set the maximum number of iterations. The position estimate x ^ C M W L S 3 is as the initial Taylor expansion value of the PSDM model. Via iterative calculations, the state estimation x ^ = x ^ n + 1 can be obtained via Equation (42).

5. Performance Analysis

5.1. Convergence Analysis of Positioning

The proposed CMWLS method utilizes the results of steps 1 to 3 to initialize the PSDM positioning model based on Taylor series linearization. Steps 1 to 3 of CMWLS are defined as a constrained three-step weighted least squares (CTWLS) method. As mentioned earlier, large initialization errors have a significant impact on the PSDM model based on Taylor linearization, which may make it difficult for positioning to converge to the global optimum. Therefore, to better analyze the convergence of the different methods for initializing the PSDM positioning model, a simulation experiments were conducted.
Three BSs and three GNSS satellites were deployed in the simulation experiment. Information regarding the BSs and GNSS satellites is shown in Table 1. To increase the credibility of the simulation experiment, the satellite position was obtained from the real GPS data collected from the field test. The skyplot information of the GPS satellite is shown in next Section. The simulated trajectory of the receiver is shown in Figure 3. The altitude of the receiver is set to 53 m. Equidistant measurements at intervals of 1 s are extracted from the simulated trajectory, with 1 s as one epoch. A total of 200 epochs of GNSS and BS pseudorange measurements were obtained for testing and verification.
According to the number of visible signals, the experiment can be divided into six scenarios: 3 GSs-2 BSs, 2 GSs-3 BSs, 2 GSs-2 BSs, 2 GSs-1BS, 1GS-1BS, and 3 BSs. In GNSS and BS pseudorange measurements, zero-mean Gaussian white noises with standard deviations (STD) of 3 m and 2 m are added, respectively. The receiver’s initial clock bias is 5 m, and the clock offset is 0.1 m/s. The clock biases of three BSs are 5 m, 15 m, and 25 m, respectively.
For the PSDM positioning model based on Taylor linearization, a comparison of the convergence of the two methods, random initialization and CTWLS initialization, was conducted. The positioning results obtained in steps 1 to 3 of the proposed method can be used as the initial value for Taylor linearization. Therefore, steps 1 to 3 of the proposed algorithm are defined as the CTWLS method. The random initialization value was randomly selected within the 1000 m coverage range of BS 1. A threshold was set to determine the convergence of the positioning results.
The convergence of the PSDM positioning model solved by two different initialization methods for the six cases is shown in Figure 4. From the results in the figure, it can be seen that (1) compared to random initialization methods, the proposed method has better global convergence, and (2) after fusing with fewer GNSS signals, random initialization still has the problem of not converging to the optimal results.

5.2. Positioning Accuracy Analysis

In this section, the positioning estimation error of the proposed CMWLS method is derived, and then the positioning performance of different pseudo-linearization methods for the PSDM positioning is analyzed through simulation experiments.

5.2.1. Theoretical Analysis

For the PSDM positioning model, matrix F is not affected by noise. Therefore, the state estimation and measurement vector containing error terms can be re-expressed as:
x ^ = x + Δ x ,   m ~ = m + Δ m
where x and m are true value, Δ x and Δ m are error. According to the WLS estimation, it can be concluded that:
x + Δ x = F T Q 1 F 1 F T Q 1 m + Δ m
The true estimation of the state is x = ( F T Q 1 F ) 1 F T Q 1 h . Therefore:
Δ x = ( F T Q 1 F ) 1 F T Q 1 Δ m
Since Δ m = Δ ε , the covariance matrix of state estimation of the PSDM model is:
E ( ( Δ x ) ( Δ x ) T ) = ( F T Q 1 F ) 1
According to the definition of the Fisher information matrix, the information matrix I G N S S B S s P S D M of PSDM measurements is:
I G N S S B S s P S D M = E 𝜕 ln f ( Δ ρ ~ , Δ ρ ) 𝜕 Δ ρ b s 𝜕 Δ ρ G N S S = Q 1
where ln is the log function and f ( ρ ~ , ρ ) is the probability density function. Furthermore, for Equation (40), the state estimation CRLB is:
x ^ C R L B = d i a g F T I G N S S B S s P S D M F 1
According to Equations (46) and (48), the positioning accuracy of the proposed method can reach the positioning CRLB.

5.2.2. Simulation

To better verify the differences in positioning performance of different positioning algorithms for PSDM models, a simulation was conducted with 2 GNSS satellites (GS) and 2 BSs. We selected numbers 1 and 2 from Table 1 for the satellites and BSs, respectively. The positioning performance of different algorithms is compared using root mean square error (RMSE), with the standard deviation of measurement noise set as the variable.
The method proposed by Pei et al. in [37] is a state-of-the-art study in utilizing the constraints of the Earth ellipsoid model for positioning. In addition, steps 1 to 3 of our proposed method provide the closed-form solution of pseudo-linearization, and the positioning results of CTWLS can be used as the initial value for Taylor linearization. Therefore, in the case of 2 GSs-2 BSs, the performance of the proposed method will be compared with the TWLS, Pei, and CTWLS methods. The 2D positioning RMSEs of the four methods under different levels of noise are shown in Figure 5, and the result is an average of 200 simulations. The quantified results of the positioning errors presented in Figure 5 are shown in Table 2.
From the results in Figure 5 and Table 2, it can be seen that compared to other methods, the proposed CMWLS algorithm has better positioning performance, and the positioning accuracy is closer to the theoretical error lower bound than other methods. Compared to the TWLS and Pei methods, the CTWLS method has better performance and is less affected by noise, which proves the effectiveness of pseudo-linearization reconstruction and the CTWLS method. Overall, under the same noise conditions, the proposed CMWLS algorithm exhibits better positioning performance and lower noise sensitivity compared to the other positioning methods.

5.3. Analysis of the Influence of Signal Number and Epoch Number on Positioning

According to the structure of the Jacobian matrix F in the PSDM model, the rank of F satisfies: r a n k ( F ) min ( ( N b s + N g n s s ) ( L 1 ) , p ) , where p is the number of states. Therefore, the condition for the PSDM model to have non-zero solutions is: r a n k F = p . For 2D positioning, p = 2 L + 2 , the following conditions should be met:
( N b s + N g n s s ) ( L 1 ) 2 L + 2
Based on the values of ( N b s + N g n s s ) and L , it can be determined whether matrix F is full rank. For example, when ( N b s + N g n s s ) 3 and L 5 , the 2D positioning can be achieved. When ( N b s + N g n s s ) 2 and the receiver is dynamic, no matter how many epoch observations are collected, 2D positioning cannot be achieved.
Next, based on Equation (49), the minimum number of observation epochs satisfies:
L 2 + ( N b s + N g n s s ) N b s + N g n s s 2
The relationship between the number of visible signals and the minimum required number of epochs is shown in Figure 6. It can be seen that as the number of visible signals increases, the minimum number of epochs required decreases.
Based on the above analysis, compared to TDOA or TOA positioning, the proposed PSDM model and method can achieve positioning in low observable environments where both visible GNSS signals and cellular SOPs are insufficient.
In addition, in the PSDM model, the number of measurements is related to the number of signals and epochs. Usually, increasing the number of visible signals can help improve the performance of positioning. To verify the impact of different numbers of epochs on the positioning performance of the proposed model and method, a simulation was conducted. In the experiment, pseudorange measurements were extracted from 300 s of data at different time intervals, resulting in different numbers of epochs. The cellular SOP–GNSS pseudorange measurements have added Gaussian noise with the same STD, the STDs are 5 m, 3 m, and 1 m. The positioning RMSEs of the proposed method under different numbers of epochs are shown in Figure 7. It can be seen from the figure that increasing the number of epochs effectively improves the positioning accuracy of the PSDM positioning model and reduces the lower bound of the theoretical error.

5.4. Analysis of the Impact of Receiver’s Clock Drift Estimation Error on Positioning Accuracy

In this paper, the clock drift estimation of the receiver is obtained by keeping the receiver stationary, collecting the cellular signal pseudorange measurements, and applying linear fitting. GNSS signals are not used to estimate the receiver’s clock drift. In an urban environment, cellular signals are affected by multipath and noise. However, the cellular BS is static. When the receiver is also stationary, the multipath environment between the receiver and the BS is almost unchanged, which means the multipath effect for cellular signals changes little or not at all over time. In other words, when the receiver is stationary, the effect of multipath on the pseudorange measurements of cellular signals in different epochs can be regarded as almost constant. Therefore, considering the stability of the BS clock bias in a short time, although the cellular signal is affected by the multipath effect in urban areas, the variation in the pseudorange observations of the cellular signal at different times when the receiver is stationary can be considered as being caused by the receiver clock bias and noise. The receiver’s clock drift estimation accuracy is mainly affected by noise rather than the multipath effect.
To better analyze the sensitivity of the receiver’s clock drift estimation error to positioning, a simulation was designed. Two GNSS satellites and two BSs were used for positioning in the simulation. Gaussian noise with a standard deviation of 5 m is added to the GNSS and cellular signal pseudorange measurements. Set the initial clock error to 5 m, the clock drift is 1 m/s, and the clock drift estimation error to 0.1–1 m/s at an interval of 0.1 m/s. The impact of the estimation error of the receiver‘s clock drift on the positioning accuracy is shown in Figure 8. The results show that the positioning error of the CTWLS and the proposed CMWLS methods increases as the receiver’s clock drift estimation error increases. However, although the receiver clock drift estimation error has some impact on the positioning results of CTWLS, the positioning accuracy of CTWLS remains in the order of tens of meters. Faced with large receiver’s clock drift estimation errors, the final positioning accuracy of the proposed CMWLS method decreases by only 2–3 m, and the impact on final positioning accuracy is relatively small. These results indicate that although the receiver’s clock drift estimation error affects the positioning accuracy of the CTWLS method (steps 1 to 3 of the CMWLS), it has little impact on the final positioning accuracy of the proposed CMWLS method in this paper. In general, the final positioning accuracy of the proposed method is less sensitive to the receiver’s clock drift estimation error.

5.5. Analysis of the Computational Efficiency and Real-Time Feasibility of the Algorithm

The CMWLS method proposed in this paper includes multi-step calculations and iterations. The traditional Taylor series expansion iterative method also obtains the positioning solution through iteration. To compare the computational efficiency and real-time feasibility of the proposed CMWLS algorithm and the traditional Taylor iteration method, a simulation experiment is conducted with two satellites and two BSs. Gaussian noise with a standard deviation of 5 m is added to the pseudorange measurements of the two signals. The initial clock bias is set to 5 m, and the clock drift is set to 1 m/s. In the traditional Taylor series expansion method, the initial value of the receiver position is set to the position of BS 1.
The CMWLS method and the traditional Taylor series expansion iterative method require iteration, and the iteration will increase computational complexity. Therefore, the computational complexity of the two algorithms can be compared using the number of iterations required for iterative convergence. The number of iterations required by both the proposed algorithm and the traditional Taylor series expansion iterative method to achieve positioning convergence are shown in Figure 9. According to the experimental results in Figure 9, in the absence of exact information regarding the initial receiver position, the proposed CMWLS algorithm requires fewer iterations to achieve positioning convergence; only 4–5 iterations are required for convergence. However, the traditional Taylor series expansion iterative method requires more iterations to achieve convergence, about 15–20 times. Therefore, the proposed CMWLS algorithm has better convergence and lower computational complexity than the traditional Taylor series expansion iterative method.
In addition, the time cost of the algorithm is also an important index for evaluating the computational efficiency and real-time feasibility. Let the accuracy of the 3D position state increment of the receiver be taken as the threshold condition at the end of the iteration process. The number of iterations required for different algorithms to converge to the same threshold accuracy varies, resulting in different running time costs of the algorithms. Moreover, the average running time cost of the algorithm can directly reflect the calculation efficiency and real-time feasibility. The average running time costs of the two algorithms at different convergence accuracies are shown in Figure 10. It can be seen from the results that compared with the traditional Taylor series expansion iterative method, the proposed CMWLS method takes a significantly shorter time to converge; this is associated with the lower number of iterations.
In summary, the experimental results in Figure 9 and Figure 10 prove that the computational efficiency and real-time feasibility of the proposed CMWLS algorithm in solving the PSDM model are higher than those of the traditional Taylor series expansion iterative method. This suggests that the proposed method is more suitable for real-time application in real-world environments.

5.6. Analysis of the Effect of BS-Receiver Distance on the Validity of the Height Approximation Constraint

In the proposed CMWLS method, the BS height is used to approximate the receiver’s height for initialization constraints and achieving positioning. Under the same height difference, the different distances between the receiver and the BS will lead to different projection errors. The effectiveness of the BS height approximation constraint is therefore related to the relative position between the receiver and the BS. The different pseudorange modeling errors caused by different projection errors may affect the positioning accuracy somewhat, thus affecting the effectiveness of this height approximation constraint.
To better analyze the effectiveness and robustness of using the BS height to approximate the receiver height to initialize constraints, a simulation experiment was designed. The simulation was carried out with two satellites and two BSs. Set the distance between BS and the receiver as a variable. Gaussian noise with a standard deviation of 5 m was added to the satellite signal and the BS signal pseudorange measurements. Since the effective coverage range of cellular signals used for opportunistic positioning is usually within 1 km, we mainly consider BSs within 1 km. The relationship between the distance from the BS and the receiver and the effectiveness of the approximate height constraint is shown in Figure 11. The index of effectiveness is displayed through the final positioning RMSE.
According to the experimental results in Figure 11, it can be seen that the distance between the BS and the receiver affects the effectiveness of using the BS height to approximate the receiver height to initialize the constraint to a certain extent. Under the same BS height approximation, the farther the BS is from the receiver, the lower the positioning RMSE after this height approximation constraint. This is because the larger the distance between the BS and the receiver, the lower the elevation between the cellular signal and the receiver, and the smaller the proportion of pseudorange modeling errors or projection errors in real pseudorange measurements.
More importantly, according to the results from Figure 11, although the distance between the BS and the receiver is related to the effectiveness of the height approximation constraint, it has little impact on effectiveness and the final positioning error. In Figure 11, under the same height difference, after initializing the constraint by using the height of the BS when 1 km away and 100 m away, respectively, the final positioning accuracy difference of the proposed method is only within 5 m. Therefore, the experimental results prove that using BS height to approximate the receiver’s height to initialize the constraint has strong robustness. Under the same BS height approximation, the different distance between the BS and the receiver has a small impact on the effectiveness of this approximation and final positioning accuracy.

6. Experimental Results and Analysis

To evaluate the performance of the proposed model algorithm, the field tests were conducted. This section first introduces the experimental equipment and the test environment. Then, experimental results were shown. Specifically, the performance of the proposed method was compared and analyzed with other state-of-the-art methods. Overall, the performance of the proposed positioning method in low-observability environments was comprehensively validated.

6.1. Experimental Equipment

The experimental platform was built to collect and process GNSS–cellular signals. This platform uses a Y590s version software-defined radio (SDR) receiver produced by V3 technology company in Beijing, China, which is based on ADRV9009 produced by Analog Devices, Inc (ADI) company in Norwood, MA, USA.
The hardware setup of the platform includes the following:
(1). Trimble antennas for collecting GNSS signals and consumer-grade cellular omnidirectional antennas for collecting cellular signals. (2). The RF front-end of the SDR receiver integrates dual ADRV9009 produced by Analog Devices, Inc (ADI) company in Norwood, MA, USA and an FPGA of ZYNQ 7100 produced by Xilinx company in San Jose, CA, USA, with the same clock source. (3). The OEM628E of NovAtel can obtain ground-truth results using GNSS signals. (4). PCIe cable, storage and battery, etc.
The software setup of the platform consists of the following:
(1) Different GNSS and cellular SOPs software receivers designed by the Beihang communication navigation timing laboratory were used to process the collected signals on the PC to extract cellular and GNSS signal measurements. (2) The fusion positioning algorithm was validated.
The devices and the workflow of the platform are shown in Figure 12. The RF front-end moved the received signal frequency to the baseband through the down-converter device, achieving a signal collection and quantification at the 30.72 MHz sampling rate. Then, the digital signals are stored in the PC and the signal processing is performed by different software receivers on the PC. From this, the demodulated satellite ephemeris and pseudorange measurements were obtained. Finally, the fusion positioning using the cellular SOP–GNSS was achieved by the proposed algorithms. The second version cellular SOPs software receiver was independently developed by the communication and navigation timing (CNT) laboratory of Beihang University. It can be used on software platforms, such as MATLAB produced by MathWorks company in Natick, MA, USA or Visual Studio with C++ produced by Microsoft corporation in Redmond, WA, USA, to achieve the synchronization, demodulation, and processing of cellular signals. Under conditions of sufficient cellular signals and good quality of pseudorange observations, the cellular SOPs software receiver design by the CNT laboratory of Beihang University in Beijing, China, can achieve a 2D positioning accuracy of 5–10 m using ranging observations. Our team has previously utilized the cellular SOPs software receiver to produce some valuable academic achievements, such as those in [25].

6.2. Experimental Environment

To better validate the performance of the proposed model and algorithm, two real signal experiments were conducted. In Experiment 1, the adequate GNSS satellites and Long Term Evolution (LTE) BS signals were collected. There are two reasons for this experimental setup. Firstly, sufficient GNSS signals ensure that the actual position coordinates of the test trajectory can be accurately obtained through OEM268E, which provides a more accurate reference for subsequent quantitative analysis of positioning errors. Secondly, different numbers of cellular SOP–GNSS signals can be selected to effectively analyze the positioning performance of the proposed positioning method. On the other hand, to better verify the performance of the proposed method in real urban occlusion scenes, a real occlusion scene (Experiment 2) was also set up.

6.2.1. The Real Signal: Experiment 1

The data are collected and processed with the movement of the receiver, and the collection location was the campus playground of Beihang University. The equipment was placed on the experimental cart, as shown in Figure 13. The experimental environment is shown in Figure 13, where the black line is the test trajectory. The equipment is moved from point A to B. During the testing, the height of the receiver remains almost unchanged.
In the real Experiment 1, the data collection process lasted for 302 s, and the period from 0 to 300 s was used to test the performance of the proposed algorithm. During the testing, signals from 5 GPS satellites with a frequency of 1575.42 MHz and 4 LTE BSs were collected. The skyplot of GPS satellites is shown in Figure 14. The information on LTE BS is shown in Table 3. Note that the heights of the BSs are altitudes. The PSDM measurements of LTE BS signals and GPS signals during the collection process are shown in Figure 15. The extraction interval for measurement is 1 s. The number of epochs L is an integer multiple of 1 s. The missing part in Figure 15a represents the epoch where pseudorange measurements of the LTE BSs are not available. In these epochs, the pseudorange observations of the corresponding LTE BS signals do not participate in positioning due to significant errors caused by occlusion or the multipath effect.

6.2.2. The Real Signal: Experiment 2

To better verify the performance of the proposed system in real low-observability environments, a real occlusion experiment was conducted on campus south road at Beihang University, as shown in Figure 16. The collection device was pushed from point C, moving from west to east, and ended at point D. The data collection period lasted for 276 s. The test route was only approximately 9.5 m away from the tall building in the north direction, while trees on the roadside obstructed the view of the zenith. Thus, there were almost no line-of-sight (LOS) signals received from the north and overhead. During the testing period of Experiment 2, the GPS signals of SVN 15, 19, 26, 27, and 30 were received with the L1 band. According to the carrier to carrier-to-noise ratio of the received GPS signals, SVN 19, 26 and 30 were considered non-LOS (NLOS) signals and should be excluded for positioning.
Similarly, due to occlusion, only BSs 1 and 4 were able to extract available measurements for most of the testing time of experiment 2. The total number of visible signals did not exceed four for more than 85% of the testing period.

6.2.3. The Densely Built Areas: Experiment 3

Experiment 2 may not fully represent densely built areas or areas obstructed by tall buildings. Therefore, to better verify the advantages of the proposed method in different urban environments. We have expanded the field tests to densely built areas or areas with tall obstacles, and added a real signal obstruction experiment 3. The scene of Experiment 3 is shown in Figure 17, where the receiver moves from point E to point F and the red line is the receiver’s travel trajectory. The data collection lasted for 207 s. It can be seen from the figure that there are many tall buildings distributed around the receiver’s trajectory. Therefore, the scene of Experiment 3 is suitable for dense buildings or tall occluded areas. During the Experiment 3 testing period, the total number of collected GNSS and cellular signals was about 3–5, with over 82% of the time being less than 4, which is consistent with the low observability scenario studied in this paper.

6.3. Experimental Results for Experiment 1

6.3.1. Positioning Performance with Different Numbers of Signals

In this section, the extraction interval of measurements is set to 2 s, and a total of 150 epoch differential pseudorange measurements are used to verify the positioning performance of different numbers of signals and algorithms.
(1) N b s = 2 and N g n s s = 2
At the beginning of the test, the receiver was stationary for 3 min and the change rate of the TOAs of the cellular SOPs was summarized. The clock drift estimation of the receiver was 0.0844 m/s. The altitude of the receiver was set to the height of BS 2, which is 77 m. These parameters were substituted into the CMWLS method, and the positioning results of the TWLS and Pei methods were compared with the proposed method.
The number of iterations was set to 10. For SVN (27, 16)-BS (2, 3), the positioning errors and trajectories of the three methods are shown in Figure 18. The positioning RMSEs and average errors are summarized in Table 4. From the results in the figure and table, it can be seen that the positioning performance of the proposed algorithm is significantly better than the other two methods with a positioning accuracy of up to 9.7 m.
(2) N b s = 1 and N g n s s = 2
The TWLS and Pei methods cannot be used under the 2 GSs-1 BS scenario. In the CMWLS method, the positioning result of the CTWLS is used to initialize the PSDM model, and the minimum number of signals required is 3. In addition, in the CTWLS method, the constraint process is mainly reflected in the first step. Therefore, compared to the proposed CMWLS method, initializing the PSDM model using the positioning results of the first step of CTWLS may have poorer performance. For simplicity, this method is defined as CTWLS-1 initialization.
For the SVN (27, 16)-BS (1), the positioning errors and trajectories of the CMWLS, CTWLS, and CTWLS-1 initialization methods are shown in Figure 19. The RMSEs and average errors are shown in Table 5. It can be seen that when there are 1 BS and 2 GSs, the positioning performance of the proposed CMWLS method is superior to the other two methods. In addition, the positioning accuracy of PSDM initialized using CTWLS-1 is lower than that of the CTWLS initialization.
(3) N b s = 2 and N g n s s = 1
For the SVN (16)-BS (2, 3), the positioning errors and trajectories of the CMWLS, CTWLS, and CTWLS-1 initialization methods are shown in Figure 20. The RMSEs of the three positioning methods are shown in Table 6. According to the results, it can be seen that the performance of the proposed algorithm is superior to that of the other two methods with 1 GS-2 BSs. This is similar to the conclusion when there was 1 GSs and 2 BSs.

6.3.2. Performance Analysis for Different Numbers of Epochs

The number of PSDM measurements is related to the number of signals and epochs. Variation in the number of epochs may affect the performance of the proposed algorithm. The performances of the proposed algorithm at different epoch numbers are shown in Figure 21. It can be seen from the results that as the number of epochs increases, the positioning accuracy of the proposed algorithm gradually improves.

6.3.3. Performance of Initialization Constraints for Different Height Differences

The proposed method requires prior information about the receiver height when initializing constraints. Considering the small difference between the BS height and the receiver height, the proposed method initializes the constraint conditions using the BS height as an approximation of the receiver height. Therefore, the performance of the proposed method is related to the degree of approximation of the receiver altitude. To verify the effectiveness of this approximation, real signal experiments were conducted under different initialization constraints at different heights.
According to the actual location of the BSs in Table 3, the maximum height difference between a BS and a receiver is 48 m. Therefore, starting from a height difference of 50 m, the interval decreases by 10 m. The positioning RMSEs of the proposed method under different height initialization constraints are shown in Figure 22.
The results from Figure 22 show that the positioning accuracy of the proposed method improves as the height difference decreases. When the height difference is from 50 m to 0 m, the variation amplitude of the positioning error of the proposed method is basically within 5 m; i.e., the variability of height difference has a relatively small impact on positioning accuracy. Therefore, the proposed CMWLS algorithm is effective in initializing constraint conditions using the BS height as an approximation of the receiver height.

6.4. Experimental Results for Experiment 2

In the real occlusion experiment, since the number of visible signals may be less than four, the positioning performance of the proposed CMWLS method, CTWLS method, and CMWLS-1 initialization PSDM model is still compared. The positioning trajectories of the three methods are shown in Figure 23. Due to insufficient GNSS signals, accurate trajectory reference positions cannot be obtained through GNSS receivers. However, about 32 m south of the test section, the GNSS receiver can output positioning reference results. Due to the fact that the test route follows a straight path along the road, the position of the test trajectory can be roughly estimated based on this result as a reference. Although the reference position accuracy obtained through the above scheme is lower compared to that achieved through GNSS receivers, it can help to quantitatively analyze the positioning performance of different algorithms.
The positioning RMSEs and average error of the three methods are shown in Table 7. According to the results, it can be seen that the proposed PSDM fusion positioning model and CMWLS positioning method exhibit good positioning performance in real urban occlusion scenes, and do not require prior information on the initial position of the receiver.

6.5. Experimental Results for Experiment 3

In the field of signal fusion, EKF is a common signal fusion positioning method. However, this method requires precise initial values for initialization. Otherwise, the positioning is prone to divergence. Therefore, we will compare the positioning performance of the proposed CMWLS method with EKF, CTWLS, and CTWLS-1 initialization methods. The EKF model is initialized by using the BS position as the initial receiver position. The positioning trajectories of four methods for Experiment 3 are shown in Figure 24. The positioning RMSEs of four methods are shown in Table 8. From the results in the figure and table, it can be seen that the proposed CMWLS method exhibits good positioning performance. Compared with the other three methods, the proposed method has lower positioning error. Among them, the EKF model is difficult to converge due to the lack of precise initialization. The above experimental results further validate the effectiveness and practicality of the proposed method in densely built urban areas.

7. Conclusions

In this paper, a PSDM positioning model was established to achieve cellular SOP–GNSS fusion. Three main issues have been resolved. Firstly, the asynchronous BS clock bias problem was solved through differential pseudorange measurements between different epochs. Secondly, a closed-form solution based on pseudo-linearization was derived for PSDM positioning, and the necessity for prior information of the receiver’s initial position in localization was removed. Thirdly, to reduce the minimum number of signals required for positioning and improve the global convergence of positioning, the pseudo-linearization matrix was reconstructed through variable separation, and the CMWLS method was proposed to solve the PSDM positioning model. Finally, the performance of the proposed fusion positioning method was verified and analyzed through simulation experiments and field tests. The experimental results of the field test show that (1) the positioning performance of the proposed method is superior to that of the TWLS, Pei, CTWLS, and CTWLS-1 initialization methods in low-observability environments, with a positioning accuracy of about 10 m, and (2) in real occlusion scenarios, the proposed method maintains better positioning performance compared to the other methods, and positioning accuracy was improved by approximately 64.5% and 57.7%. In summary, this research provides an effective solution method for maintaining the continuity of positioning services in low-observability environments without prior information regarding the initial receiver position.
In future work, we will focus on further enhancing the stability and adaptability of the proposed positioning method in more severe low-observability situations.

Author Contributions

Conceptualization, P.Z. and T.J.; methodology, P.Z.; software, P.Z. and T.J.; validation, P.Z.; formal analysis, P.Z.; investigation, P.Z. and T.J.; resources, P.Z. and T.J.; data curation, P.Z.; writing—original draft preparation, P.Z.; writing—review and editing, P.Z., T.J., J.C. and Y.W.; visualization, P.Z. and T.J.; supervision, T.J., J.C. and Y.W.; project administration, T.J.; funding acquisition, T.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Key Research and Development Program of China, grant number 2023YFE0126500 and the National Natural Science Foundation of China, grant number 62071020.

Data Availability Statement

Data is contain within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Peng, Z.; Gao, Y.; Gao, C.; Shang, R.; Gan, L. Improving smartphone GNSS positioning accuracy using inequality constraints. Remote Sens. 2023, 15, 2062. [Google Scholar] [CrossRef]
  2. Shu, Y.; Xu, P.; Niu, X.; Chen, Q.; Qiao, L.; Liu, J. High-Rate Attitude Determination of Moving Vehicles With GNSS: GPS, BDS, GLONASS, and Galileo. IEEE Trans. Instrum. Meas. 2022, 71, 5501813. [Google Scholar] [CrossRef]
  3. Chen, G.Y.; Gan, M.; Chen, C.P.; Chen, L. A Two-Stage Estimation Algorithm Based on Variable Projection Method for GPS Positioning. IEEE Trans. Instrum. Meas. 2018, 67, 2518–2525. [Google Scholar] [CrossRef]
  4. Leng, M.; Tay, W.P.; See, C.M.S.; Razul, S.G.; Win, M.Z. Modified crlb for cooperative geolocation of two devices using signals of opportunity. IEEE Trans. Wirel. Commun. 2014, 13, 3636–3649. [Google Scholar] [CrossRef]
  5. Leng, M.F.; Quitin, W.; Tay, W.P.; Cheng, C.; Razul, S.G.; See, C.M.S. Anchor-Aided Joint Localization and Synchronization Using SOOP: Theory and Experiments. IEEE Trans. Wirel. Commun. 2016, 15, 7670–7685. [Google Scholar] [CrossRef]
  6. Robinson, M.; Ghrist, R. Topological localization via signals of opportunity. IEEE Trans. Signal Process. 2012, 60, 2362–2373. [Google Scholar] [CrossRef]
  7. Shamaei, K.; Kassas, Z.M. Receiver design and time of arrival estimation for opportunistic localization with 5G signal. IEEE Trans. Wirel. Commun. 2021, 20, 4716–4731. [Google Scholar] [CrossRef]
  8. Zhuang, Y.; Li, Y.; Qi, L.; Lan, H.; Yang, J.; El-Sheimy, N. A two filter integration of MEMS sensors and WiFi fingerprinting for indoor positioning. IEEE Sens. J. 2016, 16, 5125–5126. [Google Scholar] [CrossRef]
  9. Khairallah, N.; Kassas, Z.M. Ephemeris Tracking and Error Propagation Analysis of LEO Satellites with Application to Opportunistic Navigation. IEEE Trans. Aerosp. Electron. Syst. 2024, 60, 1242–1259. [Google Scholar] [CrossRef]
  10. Shamaei, K.; Khalife, J.; Kassas, Z.M. Navigation with cellular CDMA signals—Part I: Signal modeling and software-defined receiver design. IEEE Trans. Signal Process. 2018, 66, 2191–2203. [Google Scholar]
  11. Shamaei, K.; Kassas, Z.M. A joint TOA and DOA acquisition and tracking approach for positioning with LTE signals. IEEE Trans. Signal Process. 2021, 69, 2689–2705. [Google Scholar] [CrossRef]
  12. Kassas, Z.M.; Abdallah, A. No GPS no problem: Exploiting cellular OFDM-based signals for accurate navigation. IEEE Trans. Aerosp. Electron. Syst. 2023, 59, 9792–9798. [Google Scholar] [CrossRef]
  13. Neinavaie, M.; Khalife, J.; Kassas, Z.M. Cognitive opportunistic navigation in private networks with 5G signals and beyond. IEEE J. Sel. Top. Signal Process. 2021, 16, 129–143. [Google Scholar] [CrossRef]
  14. Maaref, M.; Kassas, Z.M. Autonomous integrity monitoring for vehicular navigation with cellular signals of opportunity and an IMU. IEEE Trans. Intell. Transp. Syst. 2021, 23, 5586–5601. [Google Scholar] [CrossRef]
  15. Shamaei, K.; Khalife, J.; Kassas, Z.M. Exploiting LTE signals for navigation: Theory to implementation. IEEE Trans. Wirel. Commun. 2018, 17, 2173–2189. [Google Scholar] [CrossRef]
  16. Khalife, J.; Kassas, Z.M. Navigation with cellular CDMA signals—Part II: Performance analysis and experimental results. IEEE Trans. Signal Process. 2018, 66, 2204–2218. [Google Scholar] [CrossRef]
  17. Shamaei, K.; Kassas, Z.M. LTE receiver design and multipath analysis for navigation in urban environments. Navigation 2018, 65, 655–675. [Google Scholar] [CrossRef]
  18. Khalife, J.; Kassas, Z.M. Differential Framework for Submeter-Accurate Vehicular Navigation with Cellular Signals. IEEE Trans. Intell. Veh. 2023, 8, 732–744. [Google Scholar] [CrossRef]
  19. Khalife, J.; Kassas, Z.M. On the Achievability of Submeter-Accurate UAV Navigation with Cellular Signals Exploiting Loose Network Synchronizatio. IEEE Trans. Aerosp. Electron. Syst. 2022, 58, 4261–4427. [Google Scholar] [CrossRef]
  20. Mensing, C.; Sand, S. Performance enhancement of GNSS positioning in critical scenarios by wireless communications system. In Proceedings of the IEEE/ION Position, Location and Navigation Symposium, Monterey, CA, USA, 6–8 May 2008. [Google Scholar]
  21. Yin, L.; Ni, Q.; Deng, Z. A GNSS/5G Integrated Positioning Methodology in D2D Communication Networks. IEEE J. Sel. Areas Commun. 2018, 36, 351–362. [Google Scholar] [CrossRef]
  22. Bai, L.; Sun, C.; Dempster, A.G.; Zhao, H.; Cheong, J.W.; Feng, W. GNSS-5G Hybrid Positioning Based on Multi-Rate Measurements Fusion and Proactive Measurement Uncertainty Prediction. IEEE Trans. Instrum. Meas. 2022, 71, 8501415. [Google Scholar] [CrossRef]
  23. Sun, C.; Zhao, H.; Bai, L.; Cheong, J.W.; Dempster, A.G.; Feng, W. GNSS-5G hybrid positioning based on TOA/AOA measurements. In Proceedings of the China Satellite Navigation Conference, Singapore, 23 May 2020. [Google Scholar]
  24. Campolo, F.; Blaga, A.; Rea, M.; Lozano, A.; Costa-Pérez, X. 5GNSS: Fusion of 5G-NR and GNSS Localization for Enhanced Positioning Accuracy and Reliability. IEEE Trans. Veh. Technol. 2024, 73, 13558–13568. [Google Scholar] [CrossRef]
  25. Jin, T.; Li, F.C.; Tian, Y.F.; Dongmei, L. Utilization of non-coherent accumulation for LTE TOA estimation in weak LOS signal environments. EURASIP J. Wirel. Commun. Netw. 2023, 2023, 38. [Google Scholar] [CrossRef]
  26. Jin, T.; Zhang, P.; Yuan, H.L.; Cong, L.; Lu, X.; Qu, J. Two-step unbiased estimation on small-delay multipath of GNSS signals based on S-curve bias. IEEE Trans. Instrum. Meas. 2023, 72, 21. [Google Scholar] [CrossRef]
  27. 3GPP. Base Station (BS) ElectroMagnetic Compatibility (EMC)[EB/OL]. 3GPP. 1 October 2021. Available online: https://www.3gpp.org/ftp/Specs/archive/38_series/38.113/ (accessed on 27 March 2025).
  28. Del Peral-Rosado, J.; Saloranta, J.; Destino, G.; López-Salcedo, J.A.; Seco-Granados, G. Methodology for simulating 5G and GNSS high accuracy positioning. Sensors 2018, 18, 3220–3244. [Google Scholar] [CrossRef]
  29. Geng, C.; Huang, H. A Bayesian Probabilistic Approach to Hybrid Localization with GNSS and LTE-OTDOA in Multipath Channels. In Proceedings of the IEEE International Conference on Communications Workshops (ICC Workshops), Kansas City, MO, USA, 20–24 May 2018. [Google Scholar]
  30. Khalife, J.; Kassas, Z.M. Opportunistic UAV navigation with carrier phase measurements from asynchronous cellular signal. IEEE Trans. Aerosp. Electron. Syst. 2020, 56, 3285–3301. [Google Scholar] [CrossRef]
  31. Khalife, J.; Kassas, Z. Evaluation of relative clock stability in cellular network. In Proceedings of the 30th International Technical Meeting of the Satellite Division of The Institute of Navigation, Portland, OR, USA, 25–29 September 2017. [Google Scholar]
  32. Chan, Y.T.; Ho, K.C. A simple and efficient estimator for hyperbolic location. IEEE Trans. Signal Process. 1994, 42, 1905–1915. [Google Scholar] [CrossRef]
  33. Ho, K.C.; Lu, X.; Kovavisaruch, L. Source localization using TDOA and FDOA measurements in the presence of receiver location errors: Analysis and solution. IEEE Trans. Signal Process. 2007, 55, 684–696. [Google Scholar] [CrossRef]
  34. Noroozi, A.; Oveis, A.H.; Hosseini, S.M.; Sebt, M.A. Improved algebraic solution for source localization from TDOA and FDOA measurements. IEEE Wirel. Commun. Lett. 2018, 7, 352–355. [Google Scholar] [CrossRef]
  35. Mao, Z.; Su, H.; He, B.; Jing, X. Moving source localization in passive sensor network with location uncertainty. IEEE Signal Process. Lett. 2021, 28, 823–827. [Google Scholar] [CrossRef]
  36. Ho, K.C.; Chan, Y.T. Geolocation of a known altitude object from TDOA and FDOA measurements. IEEE Trans. Aerosp. Electron. Syst. 1997, 333, 770–783. [Google Scholar] [CrossRef]
  37. Pei, Y.; Wu, G.; Guo, F. Geolocation a known-altitude moving source by TDOA and FDOA measurements. Electron. Lett. 2022, 58, 514–516. [Google Scholar] [CrossRef]
Figure 2. The flowchart of the proposed algorithm.
Figure 2. The flowchart of the proposed algorithm.
Sensors 25 05800 g002
Figure 3. Simulation experiment environment.
Figure 3. Simulation experiment environment.
Sensors 25 05800 g003
Figure 4. Convergence of the PSDM model for different initialization methods.
Figure 4. Convergence of the PSDM model for different initialization methods.
Sensors 25 05800 g004
Figure 5. Comparison of positioning errors of different positioning methods.
Figure 5. Comparison of positioning errors of different positioning methods.
Sensors 25 05800 g005
Figure 6. The relationship between the number of visible signals required for PSDM positioning and the number of observation epochs.
Figure 6. The relationship between the number of visible signals required for PSDM positioning and the number of observation epochs.
Sensors 25 05800 g006
Figure 7. The relationship between the number of visible signals required for PSDM positioning and the number of epochs.
Figure 7. The relationship between the number of visible signals required for PSDM positioning and the number of epochs.
Sensors 25 05800 g007
Figure 8. Positioning accuracy under different receiver’s clock drift estimation errors.
Figure 8. Positioning accuracy under different receiver’s clock drift estimation errors.
Sensors 25 05800 g008
Figure 9. The number of iterations required by the proposed algorithm and the traditional Taylor series expansion iterative method to achieve positioning convergence.
Figure 9. The number of iterations required by the proposed algorithm and the traditional Taylor series expansion iterative method to achieve positioning convergence.
Sensors 25 05800 g009
Figure 10. The average running time cost of the CMWLS algorithm and the traditional Taylor iterative algorithm at different convergence accuracies.
Figure 10. The average running time cost of the CMWLS algorithm and the traditional Taylor iterative algorithm at different convergence accuracies.
Sensors 25 05800 g010
Figure 11. Relationship between the effectiveness of the height approximate constraints and the distance of the receiver-BS.
Figure 11. Relationship between the effectiveness of the height approximate constraints and the distance of the receiver-BS.
Sensors 25 05800 g011
Figure 12. Signal collection and processing platform.
Figure 12. Signal collection and processing platform.
Sensors 25 05800 g012
Figure 13. Test environment 1. The left figure shows a schematic of the experimental testing scenario. The test trajectory is shown in the figure on the right. Point A is the starting point of the receiver, point B is the ending point of the receiver’s trajectory, the black line is the receiver’s travel trajectory, the arrow is the receiver’s travel direction, and letter N and the white solid arrow are the north direction.
Figure 13. Test environment 1. The left figure shows a schematic of the experimental testing scenario. The test trajectory is shown in the figure on the right. Point A is the starting point of the receiver, point B is the ending point of the receiver’s trajectory, the black line is the receiver’s travel trajectory, the arrow is the receiver’s travel direction, and letter N and the white solid arrow are the north direction.
Sensors 25 05800 g013
Figure 14. GPS satellite skyplot.
Figure 14. GPS satellite skyplot.
Sensors 25 05800 g014
Figure 15. PSDM measurements of LTE BS signals and GNSS signals. (a) LTE BS signal PSDM measurements; (b) GNSS signals PSDM measurements.
Figure 15. PSDM measurements of LTE BS signals and GNSS signals. (a) LTE BS signal PSDM measurements; (b) GNSS signals PSDM measurements.
Sensors 25 05800 g015
Figure 16. Real occlusion environment for Experiment 2. The orange arrow indicates enlargement. In the figure on the right, point D is the starting point of the receiver, point C is the ending point of the receiver’s trajectory, the red line is the receiver’s travel trajectory, and letter N and the white arrow are the north direction.
Figure 16. Real occlusion environment for Experiment 2. The orange arrow indicates enlargement. In the figure on the right, point D is the starting point of the receiver, point C is the ending point of the receiver’s trajectory, the red line is the receiver’s travel trajectory, and letter N and the white arrow are the north direction.
Sensors 25 05800 g016
Figure 17. Real occlusion environment for Experiment 3. Point E is the starting point of the receiver, point F is the ending point of the receiver’s trajectory, the red line is the receiver’s travel trajectory, and letter N and the white arrow are the north direction.
Figure 17. Real occlusion environment for Experiment 3. Point E is the starting point of the receiver, point F is the ending point of the receiver’s trajectory, the red line is the receiver’s travel trajectory, and letter N and the white arrow are the north direction.
Sensors 25 05800 g017
Figure 18. Performances of different algorithms under 2 GSs-2 BSs. (a) 3D Position RMSE; (b) 2D positioning trajectory.
Figure 18. Performances of different algorithms under 2 GSs-2 BSs. (a) 3D Position RMSE; (b) 2D positioning trajectory.
Sensors 25 05800 g018
Figure 19. Performances of different algorithms under 2 GSs-1 BS. (a) 2D Position RMSE; (b) 2D positioning trajectory.
Figure 19. Performances of different algorithms under 2 GSs-1 BS. (a) 2D Position RMSE; (b) 2D positioning trajectory.
Sensors 25 05800 g019
Figure 20. Performances of different algorithms under 1 GS-2 BSs. (a) 2D Position RMSE; (b) 2D positioning trajectory.
Figure 20. Performances of different algorithms under 1 GS-2 BSs. (a) 2D Position RMSE; (b) 2D positioning trajectory.
Sensors 25 05800 g020
Figure 21. The positioning performance of the proposed algorithm under different epoch numbers.
Figure 21. The positioning performance of the proposed algorithm under different epoch numbers.
Sensors 25 05800 g021
Figure 22. Positioning error of proposed methods under initialization constraints at different heights.
Figure 22. Positioning error of proposed methods under initialization constraints at different heights.
Sensors 25 05800 g022
Figure 23. Positioning performance of different algorithms in real occlusion Experiment 2.
Figure 23. Positioning performance of different algorithms in real occlusion Experiment 2.
Sensors 25 05800 g023
Figure 24. Positioning performance of different algorithms in real occlusion Experiment 3.
Figure 24. Positioning performance of different algorithms in real occlusion Experiment 3.
Sensors 25 05800 g024
Table 1. Simulation experiment configuration.
Table 1. Simulation experiment configuration.
BS Position/mSatellite Position (on Field Test Data)
Number 1(−100, −100, 101)GPS SVN 16
Number 2(500, 700, 77)GPS SVN 27
Number 3(100, 300, 81)GPS SVN 4
Table 2. Positioning RMSEs for different positioning methods under different noise standard deviations.
Table 2. Positioning RMSEs for different positioning methods under different noise standard deviations.
Noise: 0.01 mNoise: 1 mNoise: 5 mNoise: 10 m
TWLS0.37 m6.2 m193.7 m376.4 m
Pei0.31 m5.3 m121.6 m235.9 m
CTWLS0.21 m3.7 m9.4 m136.2 m
CMWLS0.17 m0.89 m6.7 m18.6 m
Table 3. Information on LTE BSs.
Table 3. Information on LTE BSs.
No.Position in ENU/mCarrier FrequencyBandwidthCELL ID
1(0, 0, 101) 2644.4 MHz20 MHz46
2(5.4, 354.9, 77) 2017.5 MHz15 MHz7
3(315.4, 343.9, 81) 2017.5 MHz20 MHz367
4(82.2, −207.6, 73) 2330 MHz20 MHz260
Table 4. Positioning performance of the three methods under 2 GSs-2 BSs.
Table 4. Positioning performance of the three methods under 2 GSs-2 BSs.
CMWLSTWLSPei
3D RMSE (m)15.7327.8257.7
2D RMSE (m)9.7276.4211.9
East RMSE (m)5.973.5118.7
North RMSE (m)7.5268.8175.1
Up RMSE (m)13.9185.3147.2
Table 5. Positioning performance of the three methods under 2 GSs-1 BS.
Table 5. Positioning performance of the three methods under 2 GSs-1 BS.
CMWLSCTWLSCTWLS-1 Initialization
2D RMSE (m)10.269.629.7
East RMSE (m)6.934.422.9
North RMSE (m)7.559.819.4
Table 6. Positioning performance of the three methods under 1 GS-2 BSs.
Table 6. Positioning performance of the three methods under 1 GS-2 BSs.
CMWLSCTWLSCTWLS-1 Initialization
2D RMSE (m)11.689.223.5
East RMSE (m)7.562.615.2
North RMSE (m)8.163.117.9
Table 7. Positioning errors of different algorithms in a real occlusion scene Experiment 2.
Table 7. Positioning errors of different algorithms in a real occlusion scene Experiment 2.
CMWLSCTWLSCTWLS-1 Initialization
2D RMSE (m)18.953.243.5
2D mean error (m)18.251.641.8
Table 8. Positioning errors of different algorithms in a real occlusion Experiment 3.
Table 8. Positioning errors of different algorithms in a real occlusion Experiment 3.
CMWLSCTWLS-1 InitializationCTWLSEKF
2D RMSE (m)16.551.359.7179.2
2D mean error (m)15.247.656.147.6
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhang, P.; Jin, T.; Chakwizira, J.; Wang, Y. Multi-Epoch Differential Pseudorange Joint Positioning Using GNSS Signals and Terrestrial Cellular Signals-of-Opportunity. Sensors 2025, 25, 5800. https://doi.org/10.3390/s25185800

AMA Style

Zhang P, Jin T, Chakwizira J, Wang Y. Multi-Epoch Differential Pseudorange Joint Positioning Using GNSS Signals and Terrestrial Cellular Signals-of-Opportunity. Sensors. 2025; 25(18):5800. https://doi.org/10.3390/s25185800

Chicago/Turabian Style

Zhang, Pei, Tian Jin, James Chakwizira, and Yuchen Wang. 2025. "Multi-Epoch Differential Pseudorange Joint Positioning Using GNSS Signals and Terrestrial Cellular Signals-of-Opportunity" Sensors 25, no. 18: 5800. https://doi.org/10.3390/s25185800

APA Style

Zhang, P., Jin, T., Chakwizira, J., & Wang, Y. (2025). Multi-Epoch Differential Pseudorange Joint Positioning Using GNSS Signals and Terrestrial Cellular Signals-of-Opportunity. Sensors, 25(18), 5800. https://doi.org/10.3390/s25185800

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop