Skip to Content
TelecomTelecom
  • Article
  • Open Access

3 August 2026

19 Pages

Northern Goshawk-Based Pseudolite Positioning Algorithm in Indoor Strong Multipath Environments

,
and
1
School of Automation and Electronic Information, Xiangtan University, Xiangtan 411105, China
2
College of Materials Science and Engineering, Xiangtan University, Xiangtan 411105, China
*
Author to whom correspondence should be addressed.

Abstract

Aiming at the problem of high-precision positioning difficulties caused by the complete loss of lock of GNSS signals, strong multipath, and non-line-of-sight (NLOS) propagation in indoor pseudolite positioning, this paper builds a pseudolite positioning prototype system for small-scale indoor scenarios and proposes a Northern Goshawk Optimization-based ambiguity function method (AFM) single-epoch resolution algorithm (AFM-NGO). First, this method constructs the ambiguity function using double-difference carrier phase observations, takes the 3D coordinates of the station as the search variable, and jointly estimates the coordinates and integer ambiguities in the coordinate domain. Then, the Northern Goshawk swarm intelligence optimization algorithm is introduced to perform global and local collaborative search on the AFM search space, avoiding the large computational load of traditional grid search. Meanwhile, the statistical characteristics of multipath residuals and observation noise are explicitly considered in the fitness function, thereby enhancing the robustness of the algorithm in complex indoor environments. Based on a 6 m × 5 m × 2 m indoor strong multipath experimental scenario, 2D and 3D positioning tests were carried out on the pseudolite system. The results show that the proposed AFM-NGO algorithm can achieve stable centimeter-level positioning accuracy through single-frequency single-epoch carrier phase observations without initialization using high-precision known points; the error curve of consecutive epochs is smooth with no obvious outliers. Compared with traditional pseudolite positioning methods, it has smaller 3D root mean square error (RMSE) and better temporal stability of errors, which verifies the effectiveness and engineering application prospects of the algorithm in indoor strong multipath pseudolite positioning applications.

1. Introduction

Global Navigation Satellite Systems (GNSS) offer advantages such as wide coverage, all-weather availability, and low cost, and are widely used in fields like transportation, precision surveying, and disaster monitoring. However, GNSS signals are weak satellite signals transmitted from above, which are highly susceptible to severe attenuation and reflection by buildings, terrain blockage, and indoor structures. In strongly constrained environments such as indoors, underground spaces, and urban canyons, usable positioning solutions are often difficult to obtain, which largely limits their application potential in complex environments.
To fill the GNSS signal blind areas in indoor environments, academia and industry have proposed a variety of indoor positioning technologies, including Wi-Fi/Bluetooth fingerprint matching methods [1], ultra-wideband (UWB) high-precision ranging methods [2], visible light positioning, and inertial navigation system (INS)/odometer integrated navigation [3]. Although these approaches achieve satisfactory performance in specific scenarios, they still have deficiencies in terms of system compatibility, deployment cost, positioning accuracy, and seamless integration with the existing GNSS system. In contrast, indoor pseudolite systems that simulate GNSS constellation signals via ground transmitters are inherently compatible with conventional GNSS receivers in signal mechanism and possess controllable transmitters and flexible geometric configurations, thus emerging as a vital development direction for indoor high-precision positioning. Typical pseudolite systems such as Locata and I-Going have verified that centimeter-level or even millimeter-level high-precision positioning can be realized in local spaces by constructing small-scale satellite-like constellations [4]. However, such systems generally rely on high-precision atomic clocks and sophisticated clock synchronization and control mechanisms, leading to high overall costs and hindering their large-scale popularization in ordinary indoor environments.
In indoor pseudolite positioning systems, multipath effects and non-line-of-sight (NLOS) propagation are more prominent: signals undergo strong specular reflections and scattering between glass, metal door frames, floors, and walls, leading to significantly increased pseudorange observation errors, and carrier phase observations experiencing frequent interruptions or cycle slips [5,6]. At the same time, because pseudolites and receivers are typically stationary during observation periods, their geometric configuration remains largely unchanged for extended periods, resulting in highly correlated observation equations across epochs. This makes it difficult to directly apply the traditional idea of improving ambiguity resolution reliability through “multi-epoch accumulation.” Consequently, the ambiguity fixing problem for indoor pseudolite systems is more challenging, especially in complex environments employing low-cost hardware platforms, with low signal-to-noise ratios and severe multipath.
Similar to GNSS, reliable carrier phase ambiguity fixing is the core prerequisite for achieving centimeter-level positioning accuracy in pseudolite systems. Existing ambiguity resolution (AR) methods are mainly divided into two categories. The first category is classic Integer Least Squares (ILS) methods performing searching in the ambiguity domain, represented by the widely used Least-squares AMBiguity Decorrelation Adjustment (LAMBDA) algorithm [7,8]. The second category refers to positioning solution methods that directly search receiver coordinates in the coordinate domain, such as the ambiguity function method (AFM) [9]. The former generally requires high-precision prior coordinates or favorable pseudorange positioning results for initialization. When adopting the known point initialization (KPI) strategy, centimeter-level or even higher-precision reference coordinates are usually indispensable; otherwise, wrong ambiguity fixing may occur even with the LAMBDA algorithm, which is difficult to satisfy in engineering practice for moving stations without high-precision centering equipment. By contrast, the AFM constructs objective functions and searches for optimal coordinate candidates within preset search spaces, enabling joint estimation of ambiguities and coordinates under single-epoch conditions in theory. It is more applicable to pseudolite scenarios with stationary geometric configurations and inaccessible high-precision prior coordinates.
However, traditional AFM typically relies on regular grid search. When the search space is 1 m × 1 m × 1 m, and the step size is 1 mm, the number of search points can reach the order of 10 9 , resulting in a huge computational load, severely restricting its application in real-time or quasi-real-time high-precision positioning. Furthermore, the fitness function of AFM often exhibits obvious multi-peak characteristics. Under the influence of observation noise, multipath residuals, and model errors, simply selecting the candidate point with the “largest function value” does not always correspond to the true station position, especially when the search space is large or signal quality is poor, making it prone to falling into local optima [9]. Precisely because of issues like high computational complexity and susceptibility to local optima, AFM, despite its inherent advantages of single-epoch and non-linear solution capabilities, has not been fully utilized in the field of pseudolite AR.
To address the above issues, intelligent optimization algorithms (such as Particle Swarm Optimization, Grey Wolf Optimizer, Firefly Algorithm, etc.) [10,11,12] have been widely introduced into complex non-linear, multi-peak optimization problems in recent years, demonstrating good performance in engineering optimization and parameter estimation [13]. Inspired by this, this paper introduces the Northern Goshawk Optimization algorithm within the AFM framework, using it as a search engine to perform global and local collaborative exploration of the three-dimensional coordinate search space [14,15]. On one hand, the excellent global optimization capability of the Northern Goshawk algorithm is utilized to quickly locate high-value regions of the AFM function within a limited number of iterations, significantly reducing the overall computational load. On the other hand, by modeling behavioral patterns such as attack, pursuit, and capture, the algorithm’s ability to escape local optima is enhanced, enabling it to stably find optimal candidate points close to the true position even in strong multipath environments. Based on this, this paper proposes an AFM-NGO algorithm suitable for indoor strong multipath environments, which can achieve high-precision ambiguity resolution and three-dimensional positioning for pseudolite systems through single-epoch carrier phase observations, without the need for high-precision known point initialization.
In summary, the main work and innovations of this paper include:
①
Theoretical modeling innovation: A dual-difference carrier phase observation error mechanism model for pseudolites is established targeting the propagation characteristics of severe indoor multipath and NLOS signals. Gaussian statistical prior constraints of multipath residuals and observation noise are introduced, breaking the limitation that traditional dual-difference models ignore the statistical characteristics of indoor multipath effects, and further improving the theoretical system of indoor pseudolite carrier phase observation.
②
Model reconstruction innovation: The fitness function expression of the ambiguity function embedded with multipath statistical constraints is reconstructed, which abandons the single construction mode of traditional AFM relying merely on cosine matching of phase residuals, and enhances the algorithm’s capability to suppress multipath interference at the objective function level.
③
Algorithm framework innovation: A single-epoch ambiguity resolution framework integrating Northern Goshawk Optimization and the ambiguity function method is constructed. Intelligent optimization searching replaces traditional dense grid searching, balancing global search efficiency and local positioning accuracy. The inherent defects of traditional AFM, including heavy computation load and local optimum trapping, are resolved. This framework eliminates the demand for centimeter-level high-precision initial value initialization and fits well with low-cost indoor pseudolite engineering application scenarios.
④
Engineering implementation and experimental verification: A prototype experimental platform covering a 6 m × 5 m × 2 m indoor space with severe multipath interference is built. Comparative two-dimensional and three-dimensional positioning tests are carried out to verify the comprehensive superiority of the proposed algorithm in terms of positioning accuracy, time-sequence stability, and multipath suppression performance.
The remainder of this paper is organized as follows. Section 2 establishes the double-difference carrier phase observation model of indoor pseudolites and elaborates the complete framework of the proposed AFM-NGO algorithm, including the rigorous derivation of the improved fitness function embedded with multipath and noise statistical priors, the mathematical principle of Northern Goshawk Optimization, and the coordinate transformation and soft constraint penalty strategies. Section 3 introduces the indoor strong multipath experimental platform with a size of 6 m × 5 m × 2 m, calibrates all statistical and weight parameters, and compares the 2D and 3D positioning performance of AFM-NGO with the AFM-PSO contrast algorithm from the aspects of positioning scatter distribution, ambiguity function value stability, and epoch-wise positioning error. Section 4 summarizes the core contributions of this study and prospects the follow-up research directions.

2. Pseudolite Observation Model and AFM-NGO Algorithm Framework

2.1. Overall Framework of AFM-NGO

This paper proposes a single-epoch positioning framework of ambiguity function based on Northern Goshawk Optimization (AFM-NGO) for high-precision pseudolite positioning in indoor severe multipath environments. Taking double-differenced carrier phase observations as inputs, this framework jointly estimates receiver station coordinates and integer ambiguities in the coordinate domain [16,17]. It replaces the conventional grid search with the Northern Goshawk Optimization algorithm, so as to realize centimeter-level positioning with single-epoch processing, no high-precision initialization requirement, and strong robustness against multipath interference. The specific workflow is illustrated in Figure 1.
Figure 1. Workflow of the AFM-NGO Algorithm.

2.2. Pseudolite Double-Difference Observation Model

Figure 2 shows the geometric relationship of the receiver-pseudolite pair. The key observation variables are marked, including pseudorange, clock error, carrier phase, and integer ambiguity, which intuitively explain the composition of the pseudolite observation model.
Figure 2. Schematic diagram of pseudolite double-difference observation model.
Pseudolite observations include pseudorange and carrier phase between receiver-pseudolite pair Sr, which can be represented as P r s   a n d   ϕ r s , respectively. The observation equations can be expressed as:
P r s = ρ r s + c d t r s + e r s ϕ r s = ρ r s + c d t r s + λ N r s + ε r s
where ρ r s is the receiver-pseudolite distance, d t r s is the clock error, N r s is the carrier phase ambiguity, c is the speed of light, λ is the wavelength of the corresponding carrier phase, e r s   a n d   ε r s are the remaining error terms.
According to Formula (1), the structure of pseudorange observations and carrier phase observations is similar, with the latter containing an ambiguity term. This structure implies that as long as the ambiguity can be correctly resolved, the carrier phase observation transforms into a high-precision receiver-pseudolite pseudorange. Formula (1) includes two clock bias terms. We usually adopt the classic double-difference model to eliminate them. Double-difference observations use simultaneous observations from two receivers and two pseudolites, differencing between different satellites within the same epoch and between different stations, respectively, which can eliminate the two clock bias terms. This can be described as:
P q r l s = ρ q r l s + e q r l s ϕ q r l s = ρ q r l s + λ N q r l s + ε q r l s

2.3. Overview of the Ambiguity Function Method

AFM does not use Least Squares (LS) or Extended Kalman Filter (EKF) estimation to explicitly solve the ambiguity parameters; instead, it searches for the optimal solution of the station coordinates within a predefined search space; therefore, it is a coordinate-based method. The AFM corresponding to single-frequency and single-epoch carrier phase observations is defined as follows:
A F V X c , Y c , Z c = 1 n ∑ i = 1 n c o s 2 π ϕ o b s l s E 1 i | E 2 i − ϕ c a l l s E 1 i | X c , Y c , Z c
where AFV represents the ambiguity function value, E 1 i denotes the reference station for the i-th set of observations, E 2 i denotes the rover station for the i-th set of observations, (Xc, Yc, Zc) are the search candidate coordinates of the rover station, ϕ o b s l s is the double-difference observation, and ϕ c a l l s is the calculated double-difference observation based on the candidate point. If the candidate’s (Xc, Yc, Zc) position is similar to E2, due to the integer nature of DD ambiguities, the difference between ϕ o b s l s and ϕ c a l l s inside the cosine function should be equal to an integer, and the corresponding AFV should be close to 1. Considering the noise and multipath effects of pseudolite carrier observations, the corresponding AFV will be close to 1.
However, AFM has two drawbacks. First, the traditional grid search method is computationally inefficient. Assuming a search space of 1 m × 1 m × 1 m and a corresponding search step size of 1 mm, then a single observation requires 10 9 individual search points. Clearly, the large computational load leads to low computational efficiency. Secondly, AFM is a multi-peak function, meaning there may be more than one point where AFV is close to 1. Under the influence of observation noise and unmodeled errors, choosing the point with the largest AFV value may not be the optimal solution for the rover station, especially when the search space is large [18]. These two shortcomings have been limiting the application of AFM, despite its many advantages such as single-epoch and non-linear AR capability. Therefore, compared with the traditional AFM, we incorporate the statistical characteristics of multipath residuals and observation noise to improve the robustness of the algorithm in complex indoor environments. The detailed derivation is given as follows.

2.3.1. Stochastic Modeling of Double-Difference Carrier Phase Residuals with Indoor Multipath

For indoor pseudolite double-difference (DD) carrier phase observations, the residual of the candidate coordinate
X c   = [ X c   , Y c   , Z c   ] T is defined as:
δ ϕ i l s ( X c ) = ϕ o b s , i l s   − ϕ c a l , i l s ( X c )
where ϕ o b s , i l s is the DD carrier phase observation of the i-th pseudolite pair; ϕ c a l , i l s   ( X c   ) is the DD carrier phase calculated geometric distance from the candidate rover coordinate Xc.
Decompose the residual into three mutually independent stochastic components under indoor strong multipath environments:
δ ϕ i l s = λ N i l s + ε n o i s e , i + ε m p , i  
where λ N i l s   is the integer ambiguity term. It is an integer multiple of the carrier wavelength λ . If Xc matches the true rover position, δ ϕ i l s   mod 1 = 0, which forms the theoretical basis of the traditional AFM cosine matching term. ε n o i s e , i is the observation thermal noise. Receiver thermal noise, clock jitter, and hardware random noise follow a zero-mean Gaussian distribution: ε n o i s e , i ~ N 0 , σ n o i s e 2 ,   σ n o i s e is the standard deviation of single DD carrier phase thermal noise, calibrated via zero-baseline static observation pre-experiment. ε m p , i   is the indoor multipath residual stochastic model. Indoor glass, metal, wall specular reflection introduces time-correlated multipath residuals, which are modeled as zero-mean Gaussian random variables with larger variance than thermal noise: ε m p , i   ~   N 0 , σ m p 2 , where σ m p is the multipath residual standard deviation, calibrated under the target 6 m × 5 m × 2 m strong multipath indoor scene; for NLOS signals, ε m p is assigned an amplified scale factor k N L O S > 1 . ε n o i s e , i and ε m p , i are mutually independent, and residuals of different pseudolite pairs are weakly uncorrelated after double-difference elimination of common clock errors.
The total residual variance of the i-th DD observation is:
σ δ ϕ , i 2 = σ n o i s e 2 + σ m p 2  

2.3.2. Likelihood Objective Function Derivation Based on Stochastic Priors

Given the three independent residual components, the joint log-likelihood of all n DD observations under candidate coordinate Xc is constructed:
ln L ( X c ) = − 1 2 ∑ i = 1 n   δ ϕ i l s X c − λ N i l s 2 σ δ ϕ , i 2 − n 2 ln ( 2 π σ δ ϕ , i 2 )
The constant term −   n 2 ln ( 2 π σ δ ϕ , i 2 ) is irrelevant to coordinate optimization and can be discarded during optimization. The likelihood maximization objective reduces to minimizing the weighted residual sum of squares:
min X c J ( X c ) = ∑ i = 1 n δ ϕ i l s X c − λ N i l s 2 σ n o i s e 2 + σ m p 2
Traditional AFM only uses the cosine matching term cos ( 2 π δ ϕ i l s ) to quantify cycle consistency, ignoring the different statistical magnitudes of multipath and thermal noise. We fuse the Gaussian likelihood weight into the ambiguity function value to construct a statistically weighted matching term.
Rewrite the cosine term with variance weighting:
A F V i ( X c ) = cos ( 2 π ⋅ δ ϕ i l s X c σ δ ϕ , i / σ r e f )
where σ r e f is a reference standard deviation to normalize the residual amplitude; this weighting amplifies the penalty for observations with large multipath variance σmp2. The weighted average ambiguity function value over all n DD pairs becomes:
F A F V ( X c ) = 1 ∑ i = 1 n w i ∑ i = 1 n w i ⋅ cos ( 2 π δ ϕ i l s X c )
Weight coefficient w i encodes multipath and noise statistical priors:
w i = 1 σ n o i s e , i 2 + σ m p , i 2

2.4. Northern Goshawk Optimization Algorithm

As shown in Figure 3, the optimization process of the Northern Goshawk algorithm can be divided into the following steps:
Figure 3. Northern Goshawk Optimization algorithm flowchart.
Step 1: Initialize the Northern Goshawk population: Randomly generate a certain number of individuals (Northern Goshawks), and randomly assign a position to each individual. The initialization expression is as follows:
x = l b + r a n d × u b − l b
In this formula, x refers to the coordinate of each goshawk individual; lb and ub are the lower and upper bounds of the coordinate search interval, respectively; rand is a uniform random number ranging from 0 to 1, which is adopted to generate the initial population.
Step 2: Identification and Attack: The identification and attack phase enhances the algorithm’s exploration capability by randomly selecting prey in the search space, aiming for a global search of the space to determine the best region. Its expression is as follows:
x i , j n e w , P 1 = x i , j + r p i , j − I x i , j , F P i < F i x i , j + r x i , j − p i , j ,       F P i ≥ F i
In this formula, x i , j denotes the j-th dimensional coordinate of the i-th goshawk, and x i , j n e w , P 1 is the updated coordinate. r is a random step coefficient,   p i , j is the coordinate of a randomly selected prey, and I is a random weight integer. F i and F P i represent the fitness values (i.e., ambiguity function values) corresponding to the positions of the goshawk and the prey, respectively. Two different updating strategies are adopted according to the magnitude of the two fitness values to realize global spatial exploration.
Step 3: After the Northern Goshawk attacks the prey, the prey attempts to escape. Therefore, in a series of chasing and evading processes, the Northern Goshawk continuously pursues the prey. Due to the high maneuverability of Northern Goshawks, they can pursue prey in almost any situation and ultimately capture it. This behavior simulation enhances the algorithm’s exploitation ability for local search in the search space. This hunting behavior is closely related to the attack position within a radius R. Its expression is as follows:
x i , j n e w , P 2 = x i , j + R 2 r − 1 x i , j R = 0.02 1 − t T X i = X i n e w , P 2 , F i n e w , P 2 < F i X i , F i n e w , P 2 ≥ F i
In this formula, R is a dynamically decaying search radius varying with iterations, where t is the current iteration number, and T is the maximum iteration number. The term (2r − 1) serves as a bidirectional random perturbation term. After coordinate updating, the fitness values F i n e w , P 2 and F i of the new and original positions are compared, and only the coordinates with higher fitness are retained to achieve a refined approximation of the optimal solution in the local region.
When adopting AFM for ambiguity searching, the preset range of the search space is generally determined by the accuracy of the approximate receiver coordinates. If high-precision approximate coordinates are available, both a smaller search space and higher search efficiency are required. Satisfactory results can be obtained with fewer observations, since incorrect candidates can be eliminated within a relatively confined search space in AFM decision-making. Therefore, reasonably acquiring approximate coordinates of the rover station is critical to improving the reliability of AFM in pseudolite systems, mainly including known point initialization (KPI) and receiver initialization.
In conventional GNSS positioning, the approximate coordinates of the rover station at the initial observation epoch can be derived from code-based DGNSS positioning results. Nevertheless, limited by narrow indoor observation spaces and relatively low pseudorange accuracy, pseudolite systems fail to achieve precise positioning, which renders static simulated observations invalid. For this reason, the KPI method is commonly adopted to resolve carrier phase ambiguities. Theoretically, higher accuracy of approximate coordinates corresponds to a higher success rate of obtaining correct integer ambiguities. When employing the Integer Rounding (IR) method or LAMBDA algorithm, people often mistakenly regard approximate coordinates as reaching centimeter-level precision, while their actual accuracy is far worse than this level. Without auxiliary algorithms such as Gauss-Newton least squares iteration or dedicated searching strategies prior to applying LAMBDA, it is difficult to guarantee correct ambiguity solutions.
In contrast, the proposed ambiguity resolution (AR) method is a coordinate-domain searching scheme, which eliminates the demand for ultra-high-precision pre-defined approximate coordinates. As long as the optimal candidate coordinates fall within the preset search scope, the true position of the rover station can still be retrieved. The accuracy requirements for approximate coordinates at the initial observation epoch will be elaborated in subsequent experiments. Determining reasonable approximate receiver coordinates remains essential for the proposed single-epoch AR method. Although pseudorange single-point positioning or field measurement can provide decimeter-level approximate coordinates, such precision cannot meet the centimeter-level requirement of the IR and LAMBDA algorithms. It will cause obvious deviations in float ambiguity solutions and further lead to wrong ambiguity fixing. Hence, such initialization approaches are not sufficiently reliable and feasible for practical indoor pseudolite applications.
Specifically, in the proposed AFM-NGO framework, the Northern Goshawk Optimization (NGO) algorithm is not merely utilized as an isolated black-box optimizer, but tightly coupled with ambiguity function construction, coordinate parameterization, and pseudolite observation models. Firstly, after establishing the double-differenced observation model and obtaining coarse prior coordinates (e.g., decimeter-level positions acquired via pseudorange single-point positioning or field measurement), a constrained 3D search domain is constructed around the prior point, with search boundaries and maximum step sizes set in the east, north, and up directions. Afterward, each individual in the NGO population is directly encoded as a candidate receiver coordinate vector x i = E i , N i , U i T , enabling the algorithm to search practical geometric positions in physical space rather than abstract dimensionless parameter spaces during iteration.
In the iterative optimization process, the NGO algorithm realizes seamless combination of global exploration and local refined search by simulating predation behaviors including searching, locking, diving, and capturing. In the early iteration phase, individual position updates tend to perform large-scale random movement and global exploration, maintaining sufficient diversity of candidate coordinates across the whole search space and preventing premature convergence to local extremes caused by severe multipath interference and abnormal observations. As iterations proceed, the algorithm dynamically adjusts search step size and direction according to the current global optimal solution and group average status, gradually converging candidate points toward high-value regions of the ambiguity function and implementing intensive local searching near potential true positions.
Furthermore, to accommodate common prior constraints in pseudolite systems such as known height information and approximate baseline length, soft constraint penalty terms and coordinate transformation strategies are introduced into the position updating formula of the NGO algorithm. On the one hand, height and baseline length constraints can be explicitly embedded into the objective function to impose penalty weights on candidates that deviate greatly from prior information. On the other hand, 2D searching can be conducted only in the east–north plane with height fixed as a constant in height-known scenarios, which effectively reduces search dimensions and accelerates convergence speed.
The specific conditions are as follows:

2.4.1. Coordinate Transformation Strategy

For indoor scenarios where the height of the rover station is approximately known, the three-dimensional search is reduced to two-dimensional searching on the east–north plane, with the height fixed as a prior constant. The constraints are expressed as:
E i ∈ [ E 0 − Δ E , E 0 + Δ E ]       N i ∈ [ N 0 − Δ N , N 0 + Δ N ] U i = U ¯
where E 0 and N 0 denote the rough prior horizontal coordinates; U ¯ is the known fixed height; Δ E and Δ N represent the half-width of the horizontal search range. The dimension reduction from 3D to 2D greatly cuts down optimization dimensions and improves convergence speed and real-time positioning performance.

2.4.2. Construction of Soft Constraint Penalty Terms

On the basis of the original ambiguity function value, height deviation penalty and baseline vector deviation penalty are introduced to establish a comprehensive fitness function with prior constraints:
F t o t a l = F A F V − ω 1 P U − ω 2 P B
The penalty terms are defined as:
P U = | U i − U ¯ |   ,       P B = | B i − B ¯ |
In the formulas above: F A F V denotes the ambiguity function value incorporating the statistics of multipath residuals and prior information of observation noise; ω 1 and ω 2 are the penalty weights for height and baseline, respectively; P U is the deviation between the candidate height and the prior height; P B is the magnitude deviation between the candidate baseline vector and the known prior baseline B ¯ ; B i refers to the baseline vector between the base station and the rover station corresponding to the coordinate of the current individual.
The penalty weights ω 1 and ω 2 control the restraint strength of geometric soft prior terms in the overall fitness function F t o t a l . Different from the stochastic observation weights w i derived from calibrated multipath and noise statistical priors, ω 1 and ω 2 are assigned via manual empirical tuning rather than grid search or optimization based on independent validation datasets.
Benefiting from the above coupling design, the NGO algorithm is integrated organically with the AFM objective function formulation, statistical characteristics of observation noise, and practical engineering prior information, instead of being simply invoked as an independent optimization module. This integrated design not only ensures high searching efficiency, but also improves the physical rationality of candidate solutions and enhances the stability and reliability of ambiguity fixing.

2.5. Theoretical Threshold Analysis on Accuracy of Approximate Coordinates at Initial Epoch

Traditional ambiguity resolution methods, including LAMBDA and Integer Rounding (IR), are highly dependent on the accuracy of initial approximate coordinates. Excessively large initial coordinate errors will cause the double-differenced carrier phase residuals to deviate from the normal distribution, lead to severe drift of float ambiguity solutions, and eventually result in incorrect ambiguity fixing.
Let the true station coordinate be X = [ X , Y , Z ] T and the initial approximate coordinate be X 0 . The initial coordinate error vector is defined as:
Δ X = X 0 − X
The theoretical double-differenced carrier phase observations and observation residuals satisfy the following formula:
δ ϕ = ϕ o b s − ϕ c a l ( X 0 )
As the magnitude of initial coordinate error | Δ X | increases, phase residuals drift out of the random noise range, the multi-peak distortion of the AFM ambiguity function becomes more severe, and intelligent optimization algorithms tend to converge to false local optimal peaks.
The theoretical accuracy constraint condition is derived as follows:
Let the carrier phase wavelength be λ . To ensure that the phase modeling error induced by initial coordinates is less than half a wavelength and avoid confusion caused by integer cycle ambiguity jumps, the following condition shall be satisfied:
‖ Δ X ‖ < λ 2
Taking GPS L1 carrier as an example, where λ ≈ 0.1903   m , the theoretical threshold is obtained as:
‖ Δ X ‖ < 0.095   m
That is, traditional algorithms require the initial coordinate accuracy to be better than 9.5 cm, which can only be achieved by high-precision known point initialization.
In contrast, the proposed AFM-NGO algorithm adopts wide-range intelligent optimization searching in the coordinate domain without relying on iteration of float ambiguity solutions. Theoretically, it can tolerate initial coordinate errors at the decimeter level. As long as the true coordinates are within the boundaries of the preset three-dimensional search space, the optimal solution can be obtained via combined global and local searching, which breaks the strict centimeter-level initial value limitation of conventional methods.
Further analysis is conducted from the perspective of search space matching. Given that the side length of the 3D search interval is L, the true position can be covered within the search domain as long as the initial approximate coordinate error is no more than L/2. In this engineering research, a unilateral search boundary of 0.5 m is adopted, which can theoretically accommodate initial coordinate errors up to 0.5 m. It is fully compatible with decimeter-level rough initial coordinates obtained by pseudorange single-point positioning and on-site tape measurement, eliminating the need for high-precision centering with total stations.

2.6. AFM-NGO Algorithm Pseudocode

To standardize the full implementation logic, parameter configurations, and iteration termination criteria of the single-epoch ambiguity resolution algorithm proposed in this paper, the complete pseudocode of AFM-NGO Algorithm 1 is presented in the following section. It covers double-difference observation preprocessing, weighted ambiguity fitness calculation integrated with multipath and noise statistical priors, global-local collaborative search of Northern Goshawk Optimization, geometric soft constraint penalty, and dual iteration stopping criteria.
Algorithm 1. AFM-NGO Algorithm Pseudocode.
// Input Definition
// 1. Observation data: DD carrier phase observations {φ_obs,i}, pseudolite coordinate set S, reference station coordinate X_ref
// 2. Statistical priors (calibrated in Section 2.6): σ_ε (noise std), μ_m (multipath bias), σ_m (multipath residual std)
// 3. Search domain parameters: rough initial coordinate X0 = [E0, N0, U0], search half-range ΔE, ΔN, ΔU
// 4. NGO hyperparameters: Population size Pop, max iteration T, decay coefficient R0 = 0.02
// 5. Constraint penalty weights: ω1 (height penalty), ω2 (baseline penalty), prior height Ū, prior baseline B−
// 6. Stopping criteria: ① Maximum iterations T reached; ② Fitness convergence threshold tol = 0.01
// Precompute observation stochastic weights from multipath & noise statistics
For each DD observation i ∈ [1, n]:
  w_i = 1/(σ_ε2 + σ_m2)   // Weight determined by multipath residual statistics and noise prior
  δφ_bias_i = μ_m       // Multipath bias correction term for phase matching
// Step 1: Initialize NGO population (each individual = candidate rover coordinate X = [E, N, U])
Population = empty array
For idx = 1 to Pop:
  E_idx = E0 + rand() × 2ΔE − ΔE
  N_idx = N0 + rand() × 2ΔN − ΔN
  U_idx = U0 + rand() × 2ΔU − ΔU
  X_idx = [E_idx, N_idx, U_idx]
  Population.append(X_idx)
// Global optimal storage
X_global_opt = null
F_global_max = −Inf
// Step 2: Main iterative optimization loop of Northern Goshawk Algorithm
For t = 1 to T:
  // Substep 2.1 Calculate total fitness F_total for all individuals (weighted AFM + constraint penalties)
  Fitness_List = empty array
  For each X in Population:
    // Compute weighted ambiguity function value F_AFV, weighted
    sum_cos = 0
    sum_w = 0
    For i = 1 to n:
      // Calculate geometric double-difference phase from candidate coordinate X
      ρ_calc = ComputeDDRange(X, S, X_ref)/λ
      δφ_i = φ_obs,i − ρ_calc − δφ_bias_i
      sum_cos = sum_cos + w_i × cos(2π × δφ_i)
      sum_w = sum_w + w_i
    F_AFV = sum_cos/sum_w
    // Calculate soft constraint penalty terms
    U_curr = X[3]
    P_U = abs(U_curr − Ū)
    B_curr = Norm(X − X_ref)
    P_B = abs(B_curr − B−)
    F_penalty = ω1 × P_U + ω2 × P_B
    // Total fitness function (maximization objective)
    F_total = F_AFV − F_penalty
    Fitness_List.append(F_total)
  // Substep 2.2 Update global optimal solution
  Current_Max_F = max(Fitness_List)
  Current_Best_X = Population[argmax(Fitness_List)]
  If Current_Max_F > F_global_max:
    F_global_max = Current_Max_F
    X_global_opt = Current_Best_X
  // Stop Criterion 1: Convergence reached (fitness change below threshold)
  If t > 1 and abs(Current_Max_F − F_global_last) < tol:
    Break loop
  // Substep 2.3 Global search: Identification & Attack phase (NGO global exploration)
  For i = 1 to Pop:
    X_i = Population[i]
    // Randomly select prey individual p
    p_idx = floor(rand() × Pop) + 1
    X_p = Population[p_idx]
    F_i = Fitness_List[i]
    F_p = Fitness_List[p_idx]
    r = rand()
    I = random integer ∈ {1,2}
    If F_p < F_i:
      X_new_P1 = X_i + r × (X_p − I × X_i)
    Else:
      X_new_P1 = X_i + r × (X_i − X_p)
    // Boundary constraint: clamp coordinate within search range
    X_new_P1[1] = Clamp(X_new_P1[1], E0 − ΔE, E0 + ΔE)
    X_new_P1[2] = Clamp(X_new_P1[2], N0 − ΔN, N0 + ΔN)
    X_new_P1[3] = Clamp(X_new_P1[3], U0 − ΔU, U0 + ΔU)
    Population[i] = X_new_P1
  // Substep 2.4 Local search: Chase & Capture phase (NGO local exploitation)
  R = R0 × (1 − t/T)    // Dynamic decaying search radius
  For i = 1 to Pop:
    X_i = Population[i]
    r = rand()
    perturb = 2 × r − 1
    X_new_P2 = X_i + R × perturb × X_i
    // Boundary constraint
    X_new_P2[1] = Clamp(X_new_P2[1], E0 − ΔE, E0 + ΔE)
    X_new_P2[2] = Clamp(X_new_P2[2], N0 − ΔN, N0 + ΔN)
    X_new_P2[3] = Clamp(X_new_P2[3], U0 − ΔU, U0 + ΔU)
    // Recalculate fitness for new candidate
    F_new = CalculateFitness(X_new_P2, w, δφ_bias, ω1, ω2, Ū, B−)
    If F_new > Fitness_List[i]:
      Population[i] = X_new_P2
  // Record fitness of this iteration for convergence judgment
  F_global_last = Current_Max_F
// Stop Criterion 2: Loop exit when max iteration T is finished
// Step 3: Integer ambiguity fixing & final positioning output
N_DD = Round(φ_obs,i − ComputeDDRange(X_global_opt, S, X_ref)/λ)
3D_Pos = X_global_opt
// Output results
Print(“Optimal Rover Coordinate: ”, 3D_Pos)
Print(“Fixed Double-Difference Integer Ambiguities: ”, N_DD)
Print(“Maximum Weighted AFV Fitness: ”, F_global_max)
Print(“Termination Reason: ”, “Convergence Threshold” if early break else “Max Iterations Reached”)

3. Simulation Experiment and Analysis

This section presents the indoor strong multipath positioning experiment, prototype platform construction and quantitative performance comparison of the proposed AFM-NGO algorithm, which is divided into three subsections with clear research objectives: Section 3.1 introduces the composition of the pseudolite hardware experimental system, the layout of the 6 m × 5 m × 3 m test site with severe multipath interference, and the calibration method of all equipment and spatial coordinates measured by total station. Section 3.2 calibrates the statistical parameters and penalty weights embedded in the improved fitness function, then conducts 2D and 3D positioning contrast tests between AFM-NGO and the AFM-PSO benchmark algorithm, and analyzes positioning scatter distribution, ambiguity function value stability, and continuous epoch error curves.

3.1. Positioning Test

The system consists of pseudolite base stations and transmitting antennas, capable of modulating and broadcasting GPS L1 band signals. The signal generation board inside the pseudolite base station operates under the drive of the clock signal provided by the time-frequency board, generating indoor pseudolite signals according to preset configuration information. Subsequently, the RF daughter card performs signal frequency conversion processing, outputting six channels of pseudolite signals, which are finally broadcast indoors via transmitting antennas. After receiving the signals broadcast by the pseudolites, the indoor positioning receiver terminal can complete the positioning solution through the signal processing flow. Additionally, the system incorporates pulse modulation technology to suppress cross-correlation interference caused by the near-far effect in pseudolite signal processing.
As shown in Figure 4, the experimental site has spatial dimensions of approximately 6 m × 5 m × 3 m and is a laboratory storage room, with pseudolite transmitting antennas installed on the ceiling. The black cuboids represent sundries placed indoors, and the layout of sundries in this schematic diagram is for reference only. The site contains a large amount of glass material, and the walls and floor surfaces are relatively smooth, along with numerous indoor clutter items, which can easily cause strong specular reflections of pseudolite signals during propagation, leading to multipath interference. Therefore, this environment is suitable for conducting experiments related to multipath error modeling and mitigation. The equipment used in the experiment includes 8 pseudolites (including transmitting antennas), 2 u-blox commercial receivers (U-bolx, Thalwil, Switzerland) (for receiving indoor pseudolite signals), and 2 laptops (used for storing observation data from the reference station and rover station, respectively). The baseline between the test reference station and rover station was set to 1.6 m. Pseudolites are numbered PL1 ~ PL8, with PL1 serving as the reference satellite. The coordinates of pseudolite antennas, the reference station, and rover station sampling points were precisely calibrated using a total station and converted into three-dimensional positions in the local topocentric coordinate system. The Figure 5 illustrates the internal structure and operating status of the eight pseudolite transmitter hardware devices.
Figure 4. Experimental layout schematic.
Figure 5. Internal structure and working status display of the pseudolite transmitter hardware device.
To fully verify the stability of the proposed AFM-NGO algorithm at different spatial positions, several test points are randomly selected across the entire indoor experimental site, and repeated tests are carried out with identical parameter configurations. All two-dimensional and three-dimensional positioning comparison tests in this paper adopt the same raw observation datasets, which are synchronously collected at each test point. The only difference lies in the distinct coordinate search constraint rules configured in the algorithm solving module. No separate additional data collection is required for planar and spatial positioning experiments. The experimental results reveal that the error variation trends and positioning performance gaps of the AFM-NGO algorithms are basically consistent at all measurement points, with only slight numerical discrepancies in positioning errors. Accordingly, a typical test point is chosen as a representative sample, and epoch-wise error curves of east, north, and up components are plotted for intuitive comparison and analysis.

3.2. Test Results

For the test, the population size of the Particle Swarm Optimization (PSO) algorithm is set to 100 and the maximum iteration number to 200. The convergence threshold is set to 0.01, the inertia weight is 0.7, both learning factors are configured as 2.0, and the velocity initialization coefficient is 0.2. The population size of the Northern Goshawk algorithm was set to 100, the number of iterations to 200, the approximate baseline was set to [1, 0.3, 1], the convergence precision was set to 0.01, and the search step size was set to 0.2 m. The two-dimensional positioning results are as follows:
It can be seen from Figure 6 that compared with the traditional PSO algorithm, the positioning results of the NGO algorithm are more densely distributed within a small area around the true value without obvious scattered outliers. This indicates that the AFM-NGO algorithm delivers positioning results with low dispersion and exhibits excellent operational stability in the experimental scenario. Meanwhile, the east and north deviations of most positioning results relative to the true value remain within a narrow range. Given that the experimental environment is a semi-enclosed space with multipath interference, it is verified that the AFM-NGO algorithm features strong adaptability to multipath interference and can achieve high-precision positioning for indoor pseudolite systems.
Figure 6. Two-dimensional positioning results.
Figure 7 visually presents, in the form of a dual subplot, the dynamic variation in positioning error with epoch (continuous positioning sampling moments) for the AFM-NGO algorithm and a traditional pseudolite positioning algorithm in an indoor pseudolite positioning experiment. The left subplot corresponds to the error variation curve of the AFM-NGO algorithm (blue). From the figure, it can be clearly seen that this curve maintains a gentle, small-amplitude fluctuation state throughout the epoch sequence (0 to 200 epoch intervals). The error amplitude shows no obvious sudden changes or large jumps, and the overall error converges within a narrow numerical range. Considering the experimental scenario (a semi-enclosed indoor environment with specular reflections), this characteristic precisely reflects the strong multipath interference suppression capability of the AFM-NGO algorithm. It can maintain the temporal correlation and stability of positioning errors during continuous sampling, avoiding significant impacts on error from instantaneous environmental interference. The right subplot corresponds to the error curve of the traditional algorithm (red), which shows a completely different performance. The curve exhibits intense and irregular fluctuations overall, with error amplitudes frequently experiencing large rises and falls as the epoch progresses. Some epoch points even show significant error peaks, and the fluctuation range is far greater than that of the AFM-NGO algorithm. This indicates that the traditional algorithm has weaker adaptability to indoor multipath environments, and its positioning results are susceptible to random interference from reflected signals, leading to poor error stability during continuous positioning. In summary, through the comparison of error dynamic changes between the two algorithms, this figure further verifies the advantage of the AFM-NGO algorithm in indoor pseudolite positioning scenarios with multiple interferences. It can more stably control error fluctuations during continuous positioning, possessing more reliable dynamic working performance.
Figure 7. AFV convergence value and number of iterations.
Figure 8 shows the variation characteristics of positioning errors in the east, north, and up dimensions of the AFM-NGO algorithm with epoch (continuous sampling moments) in an indoor pseudolite positioning experiment. In the figure, the orange curve corresponds to the east error, the blue curve to the north error, and the green curve to the up error. The vertical axis is the positioning error (unit: m), and the horizontal axis is the epoch sequence (covering the 100 to 500 epoch interval). Meanwhile, Table 1 presents statistical indicators such as mean error, standard deviation, and root mean square error (RMSE) of the AFM-NGO algorithm tested at various measurement points.
Figure 8. Three-dimensional positioning results.
Table 1. Summary of experimental results.
Judging from the variation patterns of errors in each dimension, the east error overall remains within an extremely small range of −0.05 m to 0.05 m, showing only gentle, small-amplitude fluctuations with no obvious error jumps. The north error is mainly concentrated in the range of −0.20 m to −0.10 m, with the curve also maintaining a stable, gentle trend, and the variation range of error amplitude is narrow. Although the up error is relatively slightly larger, concentrated around −0.30 m, it still remains within a stable fluctuation range with no significantly deviating discrete points. Considering the semi-enclosed multipath environment of the experiment (with specular reflection interference), this result indicates that the AFM-NGO algorithm can achieve stable control of positioning errors simultaneously in the east, north, and up dimensions. It not only ensures that the fluctuation amplitude of errors in each dimension remains at a low level but also avoids severe error fluctuations caused by environmental interference, fully demonstrating the accuracy, stability, and environmental adaptability of this algorithm in indoor pseudolite three-dimensional positioning scenarios.

4. Summary

This paper addresses the need for high-precision pseudolite positioning in indoor strong multipath environments, constructing an indoor positioning experimental system based on ground pseudolite transmitters. On this basis, it proposes the AFM-NGO single-epoch ambiguity resolution algorithm. This algorithm is based on double-difference carrier phase observations, constructs an ambiguity function in the coordinate domain, takes the three-dimensional station coordinates as optimization variables, and performs adaptive global and local search on the AFM search space through the Northern Goshawk swarm intelligence optimization strategy, effectively overcoming the shortcomings of traditional AFM relying on dense grid search, having high computational complexity, and being prone to local optima. Compared with classic Integer Least Squares methods like Lambda that rely on high-precision prior coordinates, the proposed method significantly relaxes the initial coordinate accuracy requirements, making it more suitable for indoor pseudolite positioning scenarios in practical engineering where accurate centering is difficult.

Author Contributions

Conceptualization, B.W.; Methodology, C.C. and K.X.; Software, K.X.; Validation, C.C.; Formal analysis, C.C. and K.X.; Investigation, B.W.; Data curation, B.W. and K.X.; Writing—review & editing, B.W. and K.X.; Visualization, B.W.; Project administration, B.W.; Funding acquisition, C.C. All authors have read and agreed to the published version of the manuscript.

Funding

We extend our gratitude to the National Key Research and Development Program of China (Grant No. 2020YFA0713501) for the funding provided.

Data Availability Statement

No new data were created or analyzed in this study.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Chen, R.Z.; Guo, G.Y.; Chen, L.; Niu, X.G. Application Status, Development and Future Trend of High-Precision Indoor Navigation and Tracking. Geomat. Inf. Sci. Wuhan Univ. 2023, 48, 1591–1600. [Google Scholar]
  2. Chen, Y.Z. Research on Key Technologies of Indoor Spatial Positioning Based on UWB. Internet Things Technol. 2025, 15, 40–44. [Google Scholar]
  3. Su, C.X.; Zhang, Y.Y.; Li, D.; Shen, L.H.; Wu, Q.; Zhang, J. Indoor visible light positioning method based on spatial optimization. Acta Opt. Sin. 2024, 44, 1306006. [Google Scholar]
  4. Rizos, C.; Li, Y.; Politi, N.; Barnes, J.; Gambale, N. Locata: A New Constellation for High Accuracy Outdoor and Indoor Positioning. In Proceedings of the FIG Working Week 2011, Marrakech, Morocco, 18–22 May 2011. [Google Scholar]
  5. Sun, Y.; Wang, J.L. Mitigation of multipath and NLOS with stochastic modeling for ground-based indoor positioning. GPS Solut. 2022, 26, 47. [Google Scholar]
  6. Hao, H.; Zhang, L. Performance analysis and application of the improved dung beetle optimization algorithm. Foreign Electron. Meas. Technol. 2024, 43, 24–33. [Google Scholar]
  7. Teunissen, P.J.G. Integer least-squares theory for the GNSS compass. J. Geod. 2010, 84, 433–447. [Google Scholar] [CrossRef] [Scilit]
  8. Teunissen, P.J.G. An optimality property of the integer least-squares estimator. J. Geod. 1999, 73, 587–593. [Google Scholar] [CrossRef] [Scilit]
  9. Li, X.; Rizos, C.; Wang, J. Improved Ambiguity Function Method for Indoor Pseudolite Single-Epoch Ambiguity Resolution. Sensors 2017, 17, 921. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  10. Chen, J.; Liu, Y.; Liu, X.; Liu, Z. Improvement of artificial bee colony optimization for underwater positioning using Logistic chaotic mapping and differential evolution. Adv. Eng. Sci. 2025, 57, 57–67. [Google Scholar]
  11. Eberhart, R.; Kennedy, J. A new optimizer using particle swarm theory. In Proceedings of the Sixth International Symposium on Micro Machine and Human Science (MHS′95); IEEE: New York, NY, USA, 1995; pp. 39–43. [Google Scholar]
  12. Mirjalili, S.; Mirjalili, S.M.; Lewis, A. Grey wolf optimizer. Adv. Eng. Softw. 2014, 69, 46–61. [Google Scholar] [CrossRef] [Scilit]
  13. Meng, Q.T.; Liu, W.G.; Zhu, H.B. Fault Diagnosis of TDBO-SVM Transformer Based on SMOTE. J. Jiamusi Univ. (Nat. Sci. Ed.) 2025, 7. [Google Scholar]
  14. Chen, P.; Yu, X.; Zhang, H. GPS/BDS tightly coupled positioning method based on particle swarm optimization algorithm and its accuracy analysis. J. Hefei Univ. Technol. (Nat. Sci. Ed.) 2021, 44, 107–111. [Google Scholar]
  15. Zhao, J. An improved particle swarm optimization-based ultra-fast BDS satellite clock bias prediction method. J. Navig. Position. 2023, 11, 156–163. [Google Scholar]
  16. Jiao, Y.; Li, K.; Tian, C.; Zhu, G.; Yue, Z.; Xu, K. Improved GNSS integer ambiguity resolution method based on the column-oriented Cholesky decomposition. Sci. Rep. 2023, 13, 4454. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  17. Liu, Y.; Dai, J. A deformation detection algorithm for main structural members of power transmission towers based on carrier phase differential technology. J. Jilin Univ. (Eng. Technol. Ed.) 2024, 54, 3693–3698. [Google Scholar]
  18. Li, H.; Wang, Y.; Li, X.; Kang, J. Solving integer ambiguity based on simulated annealing genetic algorithm. J. Jishou Univ. (Nat. Sci. Ed.) 2018, 39, 9–14. [Google Scholar]
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.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.