Next Article in Journal
Human-In-The-Loop Assessment of an Ultralight, Low-Cost Body Posture Tracking Device
Previous Article in Journal
An Oximetry Based Wireless Device for Sleep Apnea Detection
Previous Article in Special Issue
A Malicious Behavior Awareness and Defense Countermeasure Based on LoRaWAN Protocol
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

BeiDou Satellite Positioning Method Based on IoT and Edge Computing

1
School of Computer and Communication Engineering, University of Science and Technology Beijing, Beijing 100083, China
2
Shunde Graduate School, University of Science and Technology Beijing, Foshan 528300, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(3), 889; https://doi.org/10.3390/s20030889
Submission received: 25 November 2019 / Revised: 31 January 2020 / Accepted: 4 February 2020 / Published: 7 February 2020

Abstract

:
The BeiDou navigation satellite system (BDS) developed by China can provide users with high precision, as well as all-weather and real-time positioning and navigation. It can be widely used in many applications. However, new challenges emerge with the development of 5G communication system and Internet of Things (IoT) technologies. The BDS needs to be suitable for the large-scaled terminal scenario and provides higher positioning precision. In this paper, a BeiDou differential positioning method based on IoT and edge computing is proposed. The computational pressure on the data center is offloaded to the edge nodes when the massive positioning requests of IoT terminals need to be processed. To ensure the load balancing of the edge nodes, the resource allocation of the terminal positioning requests is performed with the improved genetic algorithm, thereby reducing the service delay of the entire edge network. Moreover, the optimized unscented Kalman filter based on the edge node (EUKF) algorithm is used to improve the positioning precision of IoT terminals. The results demonstrate that the proposed positioning method has better positioning performance which can provide the real-time positioning service for the large-scale IoT terminals.

1. Introduction

The BeiDou navigation satellite system (BDS) is a self-developed global navigation satellite system in China [1,2,3]. It has been widely used in military, civil navigation, intelligent monitoring and transportations, and marine fields, etc. [4,5]. However, challenges still remain in the BDS with the development of the 5G networking technologies and application requirements. The 5G communication system supports efficient access and management of large-scale Internet of Things (IoT) terminals [6]. Consequently, the BDS needs the rapid response time and high positioning precision to promote its development and competitiveness.
Differential positioning is the most widely used positioning algorithm and relies on centralized approaches. The reference station transmits the received satellite observations to the data center. Then, the data center processes the received data and computes correction information by eliminating the errors of the satellite orbit, clock, and ionosphere. The correction information can be transmitted to the terminals in real-time through satellites, digital broadcasting, and mobile communication system [7]. However, this method is easy to cause traffic overload and signal congestion in high-throughput and large-scale IoT terminals scenario. The data center cannot effectively process terminal requests in real-time.
Recently, there are a lot of researches to solve the problems of computational pressure and bandwidth constraints in the data center [8,9,10,11]. The authors of [8] proposed a method for broadcasting real-time kinematic (RTK) positioning data to mobile terminals through mobile communication networks, which can expand the scope of positioning service by the data center. Compared with cloud computing based on the data center, edge computing could undoubtedly reduce latency, which is very important for real-time service [9]. The authors of [10] investigated the task offloading problems of the ultra-dense network. To minimize the task duration, a scheme to offload the task on edge cloud or process locally was proposed. However, this method does not consider the terminals with more complex mobility. The authors of [11] designed an application-aware workload allocation scheme for edge computing-based IoT to minimize the response time of IoT application. It chooses cloudlet as the computing node. Since processing several types of IoT applications requires stronger computing ability, whereas the edge nodes do not need more.
Edge computing adds processing ability of task computing and data analyses to the network edge devices. Here, the main functionality of the edge nodes is data offloading, processing, and computing. Edge computing mainly has these benefits: It can reduce the computing load of the data center, it reduces the pressure of network bandwidth, improves the data processing efficiency of the IoT terminals, and it provides users with high reliability and low latency positioning service [12].
This paper proposes a BeiDou satellite positioning method based on IoT and edge computing, which can provide real-time, low latency, and high precision positioning service for massive IoT terminals. In this method, the upgraded cellular base stations are used as the edge nodes to offload the computational pressure on the data center. Additionally, the differential correction information is calculated and broadcast in real-time. To cope with the multi-access IoT terminals, an improved genetic task allocation algorithm is formulated, which minimizes the service delay while ensuring the load balancing of edge nodes. Then, the optimized unscented Kalman filter based on the edge node (EUKF) algorithm is used to improve the positioning precision of IoT terminals.
The remainder of this article is organized as follows. Section 2 introduces the pseudo-range differential positioning algorithms. Section 3 presents the proposed positioning method based on IoT and edge computing. The improved GA is used to address the load balancing issue and reduce the positioning delay. In addition, the optimized EUKF algorithm is used to improve the positioning precision. Section 4 provides the simulation results and analyses. Finally, the conclusions are drawn in Section 5.

2. Algorithm Principle

According to the difference of correction information from the reference stations, differential positioning can be divided into position differential positioning, pseudo-range differential positioning, and carrier phase differential positioning [13].
Pseudo-range differential positioning is most widely used and can meet the positioning and navigation requirements of general IoT terminals. In short, the reference station receiver r measures the pseudo-ranges P r of all visible satellites, and calculates the corrections information according to the known position coordinate. Then, it broadcasts the corrections information of all satellites to the data center. The IoT terminals select an optimal set of four satellites to measure pseudo-ranges and the approximate coordinates of users, send the approximate coordinates to the data center, and receive the pseudo-range corrections from the nearest reference station. Finally, the corrected position coordinate is obtained according to the pseudo-range corrections [14,15]. The differential positioning based on the data center is shown in Figure 1.
The satellite position coordinate ( x s , y s , z s ) can be calculated by the received ephemeris data. The precise coordinate of the reference station ( x r , y r , z r ) can be obtained by the static positioning of the receiver after a long time. The geometric distance from reference station r to satellite s is given in Equation (1).
R r s = ( x r x s ) 2 + ( y r y s ) 2 + ( z r z s ) 2 ,
The pseudo-range is the measurement distance between the satellite and the receiver. Due to the influences of satellite ephemeris, clock, ionosphere, and troposphere, there is a measurement error. The observation equation of pseudo-range is given in Equation (2).
ρ r s = R r s + c δ t r c δ t s + δ ρ r + I r + T r + ε r ,
where ρ r s represents the pseudo-range from the reference station receiver r to the satellite s , δ t r and δ t s are the receiver clock error and the satellite clock error, I r and T r are the ionosphere error and the troposphere error, δ ρ r is the satellite ephemeris error, εr is the pseudo-range measurement noise, c is the speed of light. The parameters in Equation (2) all represent the length quantity.
The pseudo-range correction of the reference station Δ ρ r s is the difference between the pseudo-range measurement value and the geometric distance, given in Equation (3).
ρ u s = R u s + c δ t u c δ t s + δ ρ u + I u + T u + ε u ,
The pseudo-range observation equation of the IoT terminal receiver u is given in Equation (4).
ρ u s = R u s + c δ t u c δ t s + δ ρ u + I u + T u + ε u ,
Combined with the pseudo-range correction of reference station, the corrected pseudo-range observation equation is expressed as Equation (5).
ρ c u s = ρ u s Δ ρ r s = R u s + c ( δ t u δ t r ) + ( δ ρ u δ ρ r ) + ( I u I r ) + ( T u T r ) + ( ε u ε r ) ,
Under the condition of a short baseline, the ephemeris error between the two receivers is almost constant, namely δ ρ u δ ρ r . Other correlated errors, such as ionospheric and tropospheric errors, are in the first order range, namely I u I r , T u T r . The measurement noise can be neglected, ε u ε r . Then, the corrected pseudo-range observation equation can be expressed as Equation (6).
ρ c u s = R u s + c δ t u = ( x u x s ) 2 + ( y u y s ) 2 + ( z u z s ) 2 + c δ t u ,
There are four unknown numbers in Equation (6), that is the IoT terminal position coordinate ( x u , y u , z u ) and the receiver clock error δ t u . The precise coordinate of the IoT terminal can be calculated by the least square method, as long as four or more satellites are observed at the same time.
However, this method centralizes the positioning request processing of IoT terminals to the data center, thereby resulting in the traffic overload. Therefore, edge computing is introduced into the positioning method. The edge nodes are used to offload the computing pressure on the data center, thereby providing effective and real-time positioning service.

3. Proposed Positioning Method Based on IoT and Edge Computing

3.1. Positioning System Architecture

The development of 5G communication technologies lays a foundation for the integration of navigation and communication. At the architecture level, navigation and communication equipment are integrated into one device. The base station in the cellular network is upgraded to serve as a reference station to observe navigation satellite signals. Combined with the existing and under construction continuous operation reference stations, the edge computing network is formed to provide navigation and positioning service for the IoT terminals. According to incomplete statistics, as of the beginning of 2017, China has established more than 6000 continuous operation reference stations.
Edge computing is a technology which conducts calculation at the network edge through a small data center closer to the terminals. The edge is the immediate first hop from the IoT device but not the IoT node itself, such as IoT gateways and base stations [16,17,18,19]. As an important part of the IoT, the base stations play a bridge role. It connects the IoT terminals and the cloud service. The continuous operation reference station situated at the IoT terminal side serves as an edge node which can provide high-precision positioning service with low latency, real-time interaction, mobility support, security, privacy for numerous deployed, and geographically dispersed IoT nodes.
The positioning system architecture based on IoT and edge computing has three layers, that is the cloud layer, edge layer, and things layer, shown in Figure 2. The cloud layer includes a cloud server and data center. The edge layer includes a continuous operation reference station and base station network. The things layer includes IoT terminals and sensors. The edge layer and things layer participate in the positioning, whereas the cloud layer does not participate in the positioning, but only does the data collection, analysis, and processing work.
IoT node: The IoT node consists of sensors, devices, and terminals. The terminal initiates the positioning request. The GPS sensor measures the satellite signal and sends the measurement data to the edge node. The edge node calculates according to certain rules and policies. Finally, the terminal user obtains the positioning result.
Edge node: Edge node, which is equivalent to the small data center, can provide computing and storage resources to meet the positioning service requirements of various IoT terminals. The edge node can perform data preprocessing, simple data analysis and prediction, and send aggregated results to the cloud servers or IoT terminals. The edge nodes can communicate with each other, connect into the edge computing network, and carry out distributed computing. According to the approximate coordinate of the positioning terminal, the edge node dynamically generates the differential correction information to provide users with real-time and high-precision positioning results.
Cloud: The cloud uses the collected data by the IoT terminals. It can provide core service for the IoT terminals that include historical data analyses, data storage, and user behavior prediction. The location-based service can provide users with a more intelligent service based on the analysis results. The cloud service includes IoT terminal users tracking, configuration, analysis, reporting, authentication, and authorization service [20].
The BDS positioning method based on IoT and edge computing aims to solve the high time delay problem of centralized computing in the data center. The base station is used as the edge node to calculate the differential correction information. When the terminal initiates the positioning request, the nearest edge node receives the positioning request and calculates the differential correction information, and sends the final result to the terminal for positioning calculation.

3.2. Positioning Method

The IoT terminals send positioning requests and each terminal will choose the nearest edge node for positioning calculation. This scheme does not consider the load balancing problem of edge nodes, which will lead to overload and delay the increase of some edge nodes. Additionally, it is difficult to respond to the sudden changes in terminal requests. In view of numerous IoT terminals and the uneven geographical distribution, it is easy to obtain the optimal load balancing results and minimize the service delay by formulating the link scheduling problems. The final differential correction information result is sent to the IoT terminal by the nearest edge node through the Internet, and the accurate positioning result of the terminal can be obtained in a short time.
The edge computing network can be represented by a weighted directional graph G = ( V , E ) , where V = { v 1 , , v i , , v m } is the set of edge nodes, and E = { e 1 , 2 , , e i , j , , e m 1 , m } is the set of edge links. The edge link between v i and v i is e i , j , and the communication delay of e i , j is τ i , j . Each edge node is granted with computing ability r i . The set of positioning request tasks is U = { u 1 , , u k , , u n } . The service delay processed by the whole computing task U in the edge computing network can be expressed as Equation (7).
d = m a x [ C i r i + t k , i + τ i , j x i , j ] ,
where C i is the request capacity on the edge node v i , C i r i is the computation time on the edge node v i . It can also indicate the waiting time of the task u k . t k , i is the transmission delay from the IoT terminal k to the nearest edge node v i . If the task u k is transmitted from edge node v i to v j and calculated at the edge node v j , let x i , j = 1 . Otherwise x i , j = 0 , the task u k is calculated at the nearest edge node v i .
Considering the mobility of the IoT terminal and the limited-service scope of edge nodes, the computing result backhaul delay can be expressed as Equation (8).
d b = { t k , i , t k , i ε t k , i + τ i , j , t k , i > ε ,
where ε is the service range of the edge node v i . If the IoT terminal k is within the coverage of edge computing node v i , the differential correction information is transmitted from the edge computing node v i to the IoT terminal k . Otherwise, it is transmitted by the nearest edge node v j to the IoT terminal k .
The service delay of positioning request in the edge computing network is equal to the maximum delay of all IoT terminals. To achieve the goal of minimum delay of positioning request, it is necessary to minimize the objective function d . Hence, the objective function of the task allocation problem can be formulated as follows.
m i n i V , k U { m a x [ C i r i + t k , i + τ i , j x i , j + d b ] } ,
When positioning tasks are assigned among the edge nodes, each positioning request should be allocated to the nearest edge node to minimize the service delay. Positioning task assignment is initialized by assigning all positioning requests to the nearest edge node.
Due to the uneven distribution of terminals’ geographical location and the different computing ability of each edge node, the initialization of positioning requests may cause overload of some edge nodes.
Reallocating the positioning requests on edge nodes to ensure load balancing can reduce the service delay of the whole system and maximize the throughput of the system. After the terminal positioning request is initialized, the average calculation time of the edge nodes is selected as the threshold. Then, the positioning requests exceeding the threshold φ are reallocated. On each edge node, there is the capacity Δ C i used for the reallocated positioning requests. The task allocation problem can be represented as Equation (10).
m i n i V , k U { m a x [ φ + Δ C i r i + τ i , j x i , j + d b ] } ,
Currently widely used task allocation algorithms include genetic algorithm (GA) and ant colony algorithm (ACA). The ACA is more complex and requires a longer running time, so it is not suitable for real-time positioning in this paper. The GA [21] based on natural selection can solve large-scale combinatorial optimization problems and perform a parallel search. It has been proved to have robust search capabilities and could jump out local search space to achieve optimal solutions in global space. The best solution or secondary solutions are achieved by repeating employing three genetic operations, selection, crossover, and mutation. The improved GA proposed by this paper is used to redistribute positioning requests beyond the threshold φ to ensure the minimum service delay of the system. In order to reduce the execution time of the GA, the first generation of the chromosome is initialized as a solution space on the edge node whose calculation time is lower than the threshold φ . The hybrid selection method is used as a chromosome selection strategy. First, the top 20% best individuals are selected into the next generation directly, and set c p = 0.2 . Then, the roulette algorithm is used as a selection operation for the remaining 80% individuals. The roulette algorithm is as follows.
(1) Calculate the fitness value of each individual f k .
(2) Calculate the probability of the selected individual k .
P k = f k k = 1 n f k ,
(3) Calculate the accumulation probability of an individual k .
Q k = i = 1 k P k ,
(4) Determine whether an individual is selected. Generate the random number between [0,1]. If r < Q 1 , select the individual 1. If Q k 1 < r Q k , select the individual k .
The crossover operator is the most important step in the genetic algorithm. It can determine the global search ability of the algorithm. The individuals selected by the selection operation have high adaptability. Randomly select two of the above-mentioned individuals for crossover operation. Judge the generated random number r a n d and crossover probability p c = 0.6 . If the crossover probability p c is large, the crossover operation is performed on two individuals to generate better individuals.
The mutation operation affects the diversity and local search ability of the population. In this paper, a single point mutation method is used to select one of the edge nodes randomly for gene mutation when the individual performs mutation operation. This randomness can enhance the local search ability of the algorithm, accelerate its convergence speed when the algorithm approaches the optimal solution, and reduce the immature convergence of the algorithm.
The above method reasonably assigns each positioning request to an edge node which calculates the differential correction information. It can effectively reduce positioning delay and provide real-time positioning services for terminals.
The load balancing degree of the edge computing network is measured by the standard deviation of task processing time (TSD) on each node [22]. For a good and stable load balancing performance, TSD should be low.
TSD = 1 n i = 1 n ( T i T ¯ ) 2 , T ¯ = 1 n i = 1 n T i ,
where i is the edge node, T i is the task processing time on the edge node i , T ¯ is the mean value of the time. Load balancing and service delay of the edge computing network affect the effectiveness of the task allocation algorithm.
The task allocation algorithm for the whole system is shown in Algorithm 1.
Algorithm 1: The Task Allocation Algorithm
1.Input: List of terminals positioning requests and list of edge nodes
2.Output: Minimum service delay
3.Initialize V , E , U , r i
4.Calculate φ and Δ C i for i V
5.For all i in edge nodes, i V
6.Initialize Δ C i , c p , p c , C H R O M O S O M E , I T E R A T I O N
7.Initialize the first generation chromosome
8.While i t e r a t i o n < I T E R A T I O N do
9.  Calculate fitness f k of each chromosome in the previous generation
10.  Calculate natural selection probability P k
11.  Copy top 20% best individuals into next generation directly
12.  The roulette algorithm is used to selection operation for the remaining individuals
13.  Crossover operator
14.  Mutation operator
15.  Calculate the optimal allocation scheme and task processing time in this iteration
16.  Generate the next generation chromosomes
17.End While
18.End For
19.Calculate service delay of the whole system
20.Return the optimal solution of service delay
After performing the task assignment algorithm, all terminals’ positioning requests are assigned to an edge node which is recorded as the master station. In the 5G scenario, there are lots of base stations used as edge nodes. The differential correction information of the approximate coordinates of the IoT terminal is calculated by using the master station in combination with at least two auxiliary stations around the IoT terminal [23]. Since the approximate coordinate of the IoT terminal ( x u , y u , z u ) is between several meters and ten meters apart from the real coordinate ( x u , y u , z u ) , the differential correction information of the approximate coordinates can be used to correct the pseudo-range observation to obtain accurate IoT terminal positioning results.
The 5G base station has a high density of stations, which is easily affected by multipath effects, resulting in a large noise of the observed signals. When the master station chooses the auxiliary station for calculation, auxiliary stations need to have good health, and the dilution of precision (DOP) is small and evenly distributed around the IoT terminal. DOP indicates the space distribution feature of the satellite when the receiver observes. The DOP value is smaller, the accuracy of navigation and positioning is higher. Otherwise, the navigation and positioning accuracy in the region becomes worse [24]. Position dilution of precision (PDOP), which is a measure of X , Y , Z position geometry, is generally less than three to obtain better positioning results [25]. If there are n available auxiliary stations in the edge computing network, the differential correction information Δ ρ m i s of auxiliary i relative to master station m is given in Equation (14).
Δ ρ m i s = Δ R m i + c Δ δ t m i + Δ δ ρ m i + Δ I m i + Δ T m i + Δ ε m i ,
For the approximation u of the IoT terminal, the single difference between the master station m and u can be expressed as Equation (15).
Δ ρ m i s = Δ R m i + c Δ δ t m i + Δ ρ m i + Δ I m i + Δ T m i + Δ ε m i ,
Equation (15) can represent a linear function of the difference between the coordinates of the master station m and u .
Δ ρ m u s = Δ ρ x ( x u x m ) + Δ ρ y ( y u y m ) = a 1 ( x u x m ) + a 2 ( y u y m ) ,
Similarly, for auxiliary stations 1 and 2, we have
{ Δ ρ m 1 s = a 1 ( x 1 x m ) + a 2 ( y 1 y m ) Δ ρ m 2 s = a 1 ( x 2 x m ) + a 2 ( y 2 y m ) ,
The coordinates of the master station and the auxiliary station are known, and the pseudo-range single difference can be calculated by the observation data, and the solution coefficient is given in Equation (18).
[ a 1 a 2 ] = [ x 1 x m y 1 y m x 2 x m y 2 y m ] 1 [ Δ ρ m 1 s Δ ρ m 2 s ] ,
Using Equation (16), we have
Δ ρ m u s = a 1 ( x u x m ) + a 2 ( y u y m ) = [ x u x m y u y m ] [ x 1 x m y 1 y m x 2 x m y 2 y m ] 1 [ Δ ρ m 1 s Δ ρ m 2 s ] ,
Then, the corrected pseudo-range observation equation of terminal u is represented as Equation (20).
ρ c u s = ρ u s Δ ρ m u s = R u s + c ( δ t u δ t u ) + ( δ ρ u δ ρ u ) + ( I u I u ) + ( T u T u ) + ( ε u ε u ) ,
Eliminate errors with a strong spatial correlation, such as ionosphere, troposphere, satellite orbit, and clock errors. The IoT terminal approximate coordinate is ( x u , y u , z u ) , and the geometric distance to satellite is given in Equation (21).
R u = ( x u x s ) 2 + ( y u y s ) 2 + ( z u z s ) 2 ,
According to the approximate coordinate of the IoT terminal, the distance difference can be expressed by the coordinate difference. Since the distance between the two coordinates is very close, the higher derivative of Taylor expansion is almost zero, and only the first derivative is retained. The error equation of the corrected pseudo-range observation equation is given in Equation (22).
v u u s = e x Δ x + e y Δ y + e z Δ z + c δ t u + ( R u s ρ u s + Δ ρ m u s ) ,
The number of satellites is n , the corresponding error equations is given in Equation (23).
V = A δ X + L ,
where
A = [ e x 1 e y 1 e z 1 1 e x 2 e y 2 e z 2 1 e x n e y n e z n 1 ] , δ X = [ Δ x Δ y Δ z c δ t u ] , L = [ R u 1 ρ u 1 + Δ ρ m u 1 R u 2 ρ u 2 + Δ ρ m u 2 R u n ρ u n + Δ ρ m u n ] ,
When four or more satellites are observed, the least square solution can be obtained by the weighted least square, where the mean value of L is 0 and the variance matrix is Q .
[ Δ x Δ y Δ z c δ t u ] = ( A T Q 1 A ) 1 A T Q 1 L ,
The covariance matrix of the least squares estimator is v a r ( δ X L S ) = ( A T Q 1 A ) 1 . Finally, the accurate coordinate of the IoT terminal is obtained.
[ x u y u z u ] = [ x u + Δ x y u + Δ y z u + Δ z ] ,
The flowchart of the BeiDou positioning method based on IoT and edge computing is shown in Figure 3.

3.3. Optimized Positioning Method

The least squares method described above is simple in calculation and the positioning results at each time are independent of each other, so the positioning error is large and unstable. Unscented Kalman filter (UKF) [26] is a recursive algorithm which is suitable for nonlinear systems and has the advantages of small calculation and high positioning accuracy. The UKF algorithm reduces the influence of errors on positioning accuracy through filters, enabling accurate target tracking.
Consider a nonlinear system as follows:
{ X k = f ( X k 1 , W k 1 ) Z k = h ( X k 1 , V k 1 ) ,
where f represents a nonlinear state function and h represents a nonlinear measurement function. W k and V k are mutually independent white noises with the mean of 0 and covariance matrices Q k and R k , respectively.
In order to ensure the unbiasedness of the estimation, the initial value of the filtering is
X ^ = E X 0 P 0 = E [ ( X 0 X ^ 0 ) ( X 0 X ^ 0 ) T ] ,
The core of UKF is unscented transformation, which uses sigma points to approximate the Gaussian distribution of nonlinear systems, and the obtained mean and covariance have higher precision. The n-dimensional random variable X with mean X ¯ and covariance P X X can be approximated by sigma points.
{ χ ( 0 ) = X ¯ χ ( i ) = X ¯ + ( ( n + λ ) P X X ) ( i ) , i = 1 , 2 , , n χ ( i ) = X ¯ ( ( n + λ ) P X X ) ( i n ) , i = n + 1 , n + 2 , , 2 n ,
The corresponding weights of the sigma points are given in Equation (30).
{ W m ( 0 ) = λ n + λ W c ( 0 ) = λ n + λ + 1 α 2 + β W m ( i ) = W c ( i ) = λ n + λ , i = 1 , 2 , , 2 n ,
where m is the mean and c is the covariance.
Calculate the sigma points at time k 1 .
{ χ ˜ k 1 ( 0 ) = X ^ k 1 χ ˜ k 1 ( i ) = X ^ k 1 + n + λ ( P k 1 ) ( i ) , i = 1 , 2 , , n χ ˜ k 1 ( i ) = X ^ k 1 n + λ ( P k 1 ) ( i n ) , i = n + 1 , n + 2 , , 2 n ,
Calculate one-step prediction at time k .
χ k / k 1 ( i ) = f [ χ k 1 ( i ) ] , i = 0 , 1 , 2 , , 2 n X ^ k / k 1 = i = 0 2 n W m ( i ) χ k / k 1 ( i ) P k / k 1 = i = 0 2 n W c ( i ) [ χ k / k 1 ( i ) X ^ k / k 1 ] [ χ k / k 1 ( i ) X ^ k / k 1 ] T + Q k 1 ,
Calculate one-step prediction sigma points at time k .
χ k / k 1 ( 0 ) = X ^ k / k 1 χ k / k 1 ( i ) = X ^ k / k 1 + n + λ ( P k / k 1 ) ( i ) , i = 1 , 2 , , n χ k / k 1 ( i ) = X ^ k / k 1 n + λ ( P k / k 1 ) ( i n ) , i = n + 1 , n + 2 , , 2 n k / k 1 ( i ) = h [ χ k / k 1 ( i ) ] , i = 0 , 1 , 2 , , 2 n Z ^ k / k 1 ( i ) = i = 0 2 n W m ( i ) k / k 1 ( i ) ,
Update the filter value.
P ( X Z ) k / k 1 = i = 0 2 n W c ( i ) [ χ k / k 1 ( i ) X ^ k / k 1 ] [ k / k 1 ( i ) Z ^ k / k 1 ] T P ( Z Z ) k / k 1 = i = 0 2 n W c ( i ) [ k / k 1 ( i ) Z ^ k / k 1 ] [ k / k 1 ( i ) Z ^ k / k 1 ] T + R k K k = P ( X Z ) k / k 1 P ( Z Z ) k / k 1 1 X ^ k = X ^ k / k 1 + K k [ Z k Z ^ k / k 1 ] P k = P k / k 1 K k P ( Z Z ) k / k 1 K k T ,
Combining the positioning model based on IoT and edge computing, an unscented Kalman filter based on the edge node (EUKF) is proposed in this paper. Considering the limited computing ability of the IoT terminal, the edge nodes are used to calculate the positioning results and sent to the IoT terminals. In order to improve the positioning accuracy, multiple edge nodes around the IoT terminals are used for coordinated positioning, and the positioning result is transmitted by the master station to the IoT terminal.
Independent filtering estimation of the IoT terminals is conducted by each edge node. The states of the N edge nodes are estimated as X ^ 1 , X ^ 2 , , X ^ N , and the corresponding estimated error covariances P 11 , P 22 , , P N N . The final filtered result can be expressed as Equation (35).
X ^ f = A 1 X ^ 1 + A 2 X ^ 2 + + A N X ^ N ,
The combined measurement update can be expressed as
X ^ k = X ^ k / k 1 + i K i k [ Z i k Z ^ i , k / k 1 ] P k = P k / k 1 i K i k P ( Z Z ) i , k / k 1 K i k T ,
Each recursion of the EUKF uses the edge node around the master station to correct the measurement error. The error covariance matrix can be expressed as Equation (37).
P ( Z Z ) i , k / k 1 = i = 0 2 n W c ( i ) [ k / k 1 ( i ) Z ^ k / k 1 ] [ k / k 1 ( i ) Z ^ k / k 1 ] T + A i R i k ,
where A i is a weighted matrix, which can be determined by the distance from the edge node to the IoT terminal and the confidence of the edge node. The weighted matrix A i is given in Equation (38).
A i = d i a g ( a 1 , a 2 , , a n ) ,
The error covariance directly affects the gain of the filter, and the filter gain can be expressed as Equation (39).
K i k = P ( X Z ) i , k / k 1 P ( Z Z ) i , k / k 1 1 ,
If the distance from the edge node to the IoT terminal is far and the confidence of the edge node is low, the value of A i is large, and the filter gain is correspondingly reduced, thereby reducing the influence of system error on the positioning accuracy.
The state vector of the IoT terminal is given in Equation (40).
X = [ x , y , z , x ˙ , y ˙ , z ˙ , x ¨ , y ¨ , z ¨ , c δ t u ] T ,
Equation (40) includes the terminal’s three-dimensional position coordinate, velocity, acceleration, and receiver clock difference. The equation of state for the IoT terminal is given in Equation (41).
X k + 1 = Φ X k + W k ,
where
Φ = [ Φ x O 3 O 3 O 3 O 3 Φ y O 3 O 3 O 3 O 3 Φ z O 3 O 3 O 3 O 3 1 ] , Φ x = [ 1 T T 2 / 2 0 1 T 0 0 1 ] ,
where T indicates the adoption time. According to the above model, the position coordinates of the IoT terminal can be solved.

4. Results and Analysis

In this paper, OEM6® Family Firmware is used to receive satellite data. NovAtel Connect provides a graphical interface for establishing communication, controlling, and monitoring the operation of the NovAtel receiver. The receiver software can track satellites indicator, dilution of precision, positioning results, etc. The satellite position coordinates and the positioning result of the IoT terminal can calculate by the ephemeris and observation data collected by the receiver.
The observation of the visible satellites is shown in Figure 4. During the observation period, the number of the visible satellites meets the basic requirements of positioning calculation. The PDOP representing the geometric distribution of the satellites in the sky is shown in Figure 5. The PDOP value is less than three, therefore the accurate positioning results can be calculated using the observed satellite data.
This paper uses MATLAB for simulations. According to the average coverage of a 5G, the base station is 500 m, 20,000 base stations in Beijing are selected as edge nodes. Assume that the edge nodes have the same computing power, and the terminals’ positioning requests are generated randomly. The parameters of GA are set as follows: c p = 0.2 , p c = 0.6 . The number of chromosomes is 100 and the number of iterations is 100. Use the real data collected by the NovAtel receiver to calculate the positioning results of the IoT terminals.

4.1. Positioning Accuracy

According to the observed satellite ephemeris data and pseudo-range information, the satellite position coordinates are calculated. The IoT terminals use the above-mentioned difference positioning algorithm based on IoT and edge computing to solve the terminals’ precise coordinates.
Figure 6 shows the root mean of square error of the differential positioning method based on the data center and edge computing, respectively. It can be seen from Figure 6a that the average positioning error based on the data center is 0.96268 m. Additionally, the average error based on edge computing is 0.95511 m, as shown in Figure 6b. The accuracy of the two methods is similar, but the average positioning error based on edge computing has 0.00757 m improvement. The result demonstrates that the proposed positioning method in this paper can provide the accurate positioning services for large-scale IoT terminals.
The comparisons of the positioning errors of the UKF and EUKF algorithms are shown in Figure 7, respectively. It can be seen from Figure 7a that the average positioning error of the UKF algorithm is 0.88389 m. Additionally, the average positioning error of the EUKF algorithm is 0.87495 m, as shown in Figure 7b. It can be known from Figure 6 and Figure 7 that the UKF and EUKF algorithms have higher and more stable positioning accuracy. However, the average positioning accuracy of the EUKF algorithm is 0.00894 m and it is higher than that of the UKF algorithm.
Then, the positioning errors under different environments are shown in Figure 8. The results show that the EUKF algorithm uses the edge nodes to eliminate the system error and its positioning accuracy is higher than that of the UKF algorithm. Comparing Figure 6b and Figure 7b, the average positioning error of the EUKF algorithm has 0.08016 m improvement than the positioning method based on edge computing.

4.2. Service Delay

The results of the service delay are shown in Figure 9. The service delay is the delay of the last IoT terminal to complete the positioning in the entire edge network. In Figure 9a, the positioning algorithm based on edge computing offloads the computational pressure of the data center. The differential correction information is solved by the edge node close to the IoT terminal, which mitigates the problem of the large calculation amount, bandwidth limitation and high throughput of the data center, and reduces the maximum service delay for the entire system. If the nearest edge node receives the positioning requests and calculates the differential correction information after initialization, the service delay will increase due to the imbalance of the IoT terminals’ positioning requests, as shown in Figure 9b. However, the edge computing network with improved GA can achieve the load balancing. The overloaded terminal positioning request on the edge node is reallocated, and the service delay is reduced.
Figure 10 shows the load balancing performance of the edge network before and after executing the improved GA. It can be seen that with the increases of the number of IoT terminals, the improved positioning algorithm can balance the IoT terminals’ positioning requests and reduce the task processing time of the whole edge computing network.
Figure 11 shows the number of iterations of 200 simulations. The average number of iterations is 43.18. The results demonstrate that the proposed positioning algorithm has better search performance and can converge to the optimal result quickly.

5. Conclusions

With the increasing of the IoT terminals, traditional positioning methods based on the data center cannot provide high reliability and low latency positioning service because of high throughput and limited bandwidth. This paper proposes a BeiDou satellite positioning method based on IoT and edge computing, which initializes the positioning requests of the IoT terminals at the nearest edge node and reduces the system service delay on the basis of the improved GA to ensure the load balancing of the entire edge computing network. This method effectively reduces the calculation pressure on the data center and improves the calculation efficiency and real-time response speed of the system. The optimized EUKF algorithm can effectively reduce the influence of the system error on positioning accuracy by using edge nodes, which can improve the positioning accuracy of users and ensure the stability of positioning. The simulation results demonstrate that the proposed positioning method based on IoT and edge computing can provide real-time and accurate positioning services for the large-scale IoT terminals.

Author Contributions

Conceptualization, L.W.; methodology, L.W. and R.Q.; software, R.Q.; validation, L.W. and R.Q.; formal analysis, L.W. and R.Q.; investigation, L.W. and R.Q.; resources, L.W.; data curation, R.Q.; writing—original draft preparation, R.Q.; writing—review and editing, L.W.; supervision, L.W.; project administration, L.W.; funding acquisition, L.W. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by the National Natural Science Foundation of China under Grant No. 61701020 and the Scientific and Technological Innovation Foundation of Shunde Graduate School, USTB under Grant No. BK19BF009.

Acknowledgments

The authors gratefully acknowledge the anonymous reviewers who read the drafts and made many helpful suggestions.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

References

  1. Li, J.; Zhang, J.; Zhang, B.; Shen, B. Operation and development of BeiDou Navigation Satellite System. In Proceedings of the 2015 International Association of Institutes of Navigation World Congress (IAIN), Prague, Czech Republic, 20–23 October 2015; pp. 1–6. [Google Scholar]
  2. Han, C. The BeiDou navigation satellite system. In Proceedings of the 2014 XXXIth URSI General Assembly and Scientific Symposium (URSI GASS), Beijing, China, 16–23 August 2014; pp. 1–3. [Google Scholar]
  3. Jin, S. Preface: BeiDou Navigation Satellite System (BDS)/GNSS+: Recent progress and new applications. Adv. Space Res. 2017, 59, 751–752. [Google Scholar] [CrossRef]
  4. Ferrús, R.; Koumaras, H.; Sallent, O.; Agapiou, G.; Rasheed, T.; Kourtis, M.-A.; Boustie, C.; Gélard, P.; Ahmed, T. SDN/NFV-enabled satellite communications networks: Opportunities, scenarios and challenges. Phys. Commun. 2016, 18, 95–112. [Google Scholar] [CrossRef] [Green Version]
  5. Hosseini, N.; Jamal, H.; Haque, J.; Magesacher, T.; Matolak, D.W. UAV Command and Control, Navigation and Surveillance: A Review of Potential 5G and Satellite Systems. In Proceedings of the 2019 IEEE Aerospace Conference, Big Sky, MT, USA, 2–9 March 2019; pp. 1–10. [Google Scholar]
  6. Wang, S.; Zhao, Y.; Xu, J.; Yuan, J.; Hsu, C. Edge server placement in mobile edge computing. J. Parallel Distrib. Comput. 2019, 127, 60–168. [Google Scholar] [CrossRef]
  7. Choi, J.K.; Park, S.H.; Cho, D.J.; Seo, K.Y. Correction error generation algorithm for differential positioning performance analysis of navigation equipment. In Proceedings of the 2008 International Conference on Control, Automation and Systems, Seoul, Korea, 14–17 October 2008; pp. 1099–1103. [Google Scholar]
  8. Kong, H.; Chen, W.; Fu, S.; Zheng, H.; Du, L.; Mao, Y. OBU Design and Test Analysis with Centimeter-Level Positioning for LTE-V2X. In Proceedings of the 2019 5th International Conference on Transportation Information and Safety (ICTIS), Liverpool, UK, 14–17 July 2019; pp. 383–387. [Google Scholar]
  9. Mutlag, A.A.; Ghani, M.K.A.; Arunkumar, N.; Mohammed, M.A.; Mohd, O. Enabling technologies for fog computing in healthcare IoT systems. Future Gener. Comput. Syst. 2019, 90, 62–78. [Google Scholar] [CrossRef]
  10. Chen, M.; Hao, Y. Task Offloading for Mobile Edge Computing in Software Defined Ultra-Dense Network. IEEE J. Sel. Areas Commun. 2018, 36, 587–597. [Google Scholar] [CrossRef]
  11. Fan, Q.; Ansari, N. Application Aware Workload Allocation for Edge Computing-Based IoT. IEEE Internet Things J. 2018, 5, 2146–2153. [Google Scholar] [CrossRef]
  12. Hossain, S.A.; Rahman, M.A.; Hossain, M.A. Edge computing framework for enabling situation awareness in IoT based smart city. J. Parallel Distrib. Comput. 2018, 122, 226–237. [Google Scholar] [CrossRef]
  13. Shao, M.; Sui, X. Study on Differential GPS Positioning Methods. In Proceedings of the 2015 International Conference on Computer Science and Mechanical Automation (CSMA), Hangzhou, China, 23–25 October 2015; pp. 223–225. [Google Scholar]
  14. Kang, C. A Differential Dynamic Positioning Algorithm Based on GPS/Beidou. Procedia Eng. 2016, 137, 590–598. [Google Scholar] [CrossRef]
  15. Acharya, R. Understanding Satellite Navigation; Academic Press: St. Salt Lake City, UT, USA, 2014; Chapter 8; pp. 281–312. [Google Scholar]
  16. Yousefpour, A.; Fung, C.; Nguyen, T.; Kadiyala, K.; Jalali, F.; Niakanlahiji, A.; Kong, J.; Jue, J.P. All One Needs to Know about Fog Computing and Related Edge Computing Paradigms: A Complete Survey. J. Syst. Archit. 2019, 98, 289–330. [Google Scholar] [CrossRef]
  17. Wang, L.; Teng, H.; Yu, G. Sensors Access Scheme Design Based on Internet of Things Gateways. In Proceedings of the 2014 Fifth International Conference on Intelligent Systems Design and Engineering Applications, Hunan, China, 15–16 June 2014; pp. 901–904. [Google Scholar]
  18. Elmisery, A.M.; Rho, S.; Botvich, D. A Fog Based Middleware for Automated Compliance with OECD Privacy Principles in Internet of Healthcare Things. IEEE Access 2016, 4, 8418–8441. [Google Scholar] [CrossRef]
  19. Cicirelli, F.; Guerrieri, A.; Spezzano, G.; Vinci, A. An edge-based platform for dynamic Smart City applications. Future Gener. Comput. Syst. 2017, 76, 106–118. [Google Scholar] [CrossRef]
  20. Yassine, A.; Singh, S.; Hossain, M.S.; Muhammad, G. IoT big data analytics for smart homes with fog and cloud computing. Future Gener. Comput. Syst. 2019, 91, 563–573. [Google Scholar] [CrossRef]
  21. Dai, Y.; Lou, Y.; Lu, X. A Task Scheduling Algorithm Based on Genetic Algorithm and Ant Colony Optimization Algorithm with Multi-QoS Constraints in Cloud Computing. In Proceedings of the 2015 7th International Conference on Intelligent Human-Machine Systems and Cybernetics, Hangzhou, China, 26–27 August 2015; pp. 428–431. [Google Scholar]
  22. Adhikari, M.; Nandy, S.; Amgoth, T. Meta heuristic-based task deployment mechanism for load balancing in IaaS cloud. J. Net. Comput. Appl. 2019, 128, 64–77. [Google Scholar] [CrossRef]
  23. Dabove, P. The usability of GNSS mass-market receivers for cadastral surveys considering RTK and NRTK techniques. Geod. Geodyn. 2019, 10, 282–289. [Google Scholar] [CrossRef]
  24. Han, S.; Gui, Q.; Li, G.; Du, Y. Minimum of PDOP and its applications in inter-satellite links (ISL) establishment of Walker-δ constellation. Adv. Space Res. 2014, 54, 726–733. [Google Scholar] [CrossRef]
  25. Ren, D.; Li, Y.; Ma, Z. Test and analysis on the errors of GPS observation in mining field. Procedia Earth Planet. Sci. 2009, 1, 1233–1236. [Google Scholar]
  26. Kolas, S.; Foss, B.A.; Schei, T.S. Constrained nonlinear state estimation based on the UKF approach. Comput. Chem. Eng. 2009, 33, 1386–1401. [Google Scholar] [CrossRef]
Figure 1. Differential positioning based on the data center.
Figure 1. Differential positioning based on the data center.
Sensors 20 00889 g001
Figure 2. Positioning system architecture based on IoT and edge computing.
Figure 2. Positioning system architecture based on IoT and edge computing.
Sensors 20 00889 g002
Figure 3. The flowchart of the BeiDou positioning method based on IoT and edge computing.
Figure 3. The flowchart of the BeiDou positioning method based on IoT and edge computing.
Sensors 20 00889 g003
Figure 4. The number of visible satellites.
Figure 4. The number of visible satellites.
Sensors 20 00889 g004
Figure 5. PDOP.
Figure 5. PDOP.
Sensors 20 00889 g005
Figure 6. Average positioning errors of the positioning methods based on data center and edge computing respectively: (a) Average positioning errors based on the data center; (b) average positioning errors based on edge computing.
Figure 6. Average positioning errors of the positioning methods based on data center and edge computing respectively: (a) Average positioning errors based on the data center; (b) average positioning errors based on edge computing.
Sensors 20 00889 g006
Figure 7. Positioning errors of the UKF and EUKF algorithms: (a) Positioning errors of the UKF algorithm; (b) positioning errors of the EUKF algorithm.
Figure 7. Positioning errors of the UKF and EUKF algorithms: (a) Positioning errors of the UKF algorithm; (b) positioning errors of the EUKF algorithm.
Sensors 20 00889 g007
Figure 8. Errors of dynamic positioning: (a) Open environment; (b) ambiguous environment.
Figure 8. Errors of dynamic positioning: (a) Open environment; (b) ambiguous environment.
Sensors 20 00889 g008
Figure 9. Service delay: (a) Comparisons of service delay among different methods; (b) service delay before and after load balancing.
Figure 9. Service delay: (a) Comparisons of service delay among different methods; (b) service delay before and after load balancing.
Sensors 20 00889 g009
Figure 10. Load balancing performance: (a) Task processing time standard deviation; (b) positioning request standard deviation.
Figure 10. Load balancing performance: (a) Task processing time standard deviation; (b) positioning request standard deviation.
Sensors 20 00889 g010
Figure 11. The number of iterations of 200 simulations.
Figure 11. The number of iterations of 200 simulations.
Sensors 20 00889 g011

Share and Cite

MDPI and ACS Style

Wang, L.; Qiu, R. BeiDou Satellite Positioning Method Based on IoT and Edge Computing. Sensors 2020, 20, 889. https://doi.org/10.3390/s20030889

AMA Style

Wang L, Qiu R. BeiDou Satellite Positioning Method Based on IoT and Edge Computing. Sensors. 2020; 20(3):889. https://doi.org/10.3390/s20030889

Chicago/Turabian Style

Wang, Lina, and Rui Qiu. 2020. "BeiDou Satellite Positioning Method Based on IoT and Edge Computing" Sensors 20, no. 3: 889. https://doi.org/10.3390/s20030889

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