A New Indoor Positioning System Architecture Using GPS Signals

The pseudolite system is a good alternative for indoor positioning systems due to its large coverage area and accurate positioning solution. However, for common Global Positioning System (GPS) receivers, the pseudolite system requires some modifications of the user terminals. To solve the problem, this paper proposes a new pseudolite-based indoor positioning system architecture. The main idea is to receive real-world GPS signals, repeat each satellite signal and transmit those using indoor transmitting antennas. The transmitted GPS-like signal can be processed (signal acquisition and tracking, navigation data decoding) by the general receiver and thus no hardware-level modification on the receiver is required. In addition, all Tx can be synchronized with each other since one single clock is used in Rx/Tx. The proposed system is simulated using a software GPS receiver. The simulation results show the indoor positioning system is able to provide high accurate horizontal positioning in both static and dynamic situations.


Introduction
The widespread use of location-based services requires accurate user positioning information both outdoors and indoors. In the outdoor environment, Global Navigation Satellite System (GNSS) effectively OPEN ACCESS provides accurate user position and is widely used in personal navigation devices (e.g., the smartphone). In indoor situation applications, however, it is difficult for GNSS to provide reliable positioning information due to the 20-30 dB additional signal attenuation and blocking caused by buildings and construction materials [1].
In indoor environments, different positioning methods have been proposed, such as the ultrasound [2,3], infrared [4], Bluetooth [5], Wi-Fi [6], image recognition [7], inertial navigation [8], and pseudolite (or pseudo-satellite) [9][10][11]. The ultrasound-based indoor positioning system can provide positioning solution with an accuracy of 1-3 cm [2,3]. However, some special equipment is required for this system. If the mobile device is used to receive the ultrasound signals, people will hear noises due to the non-ideal impulse response of speakers [12]. The infrared and Bluetooth methods have short coverage distance [4,5]. To cover the whole indoor area, a large number of signal sources are needed. The same requirement is also true for Wi-Fi systems in order to improve the positioning accuracy. Additionally, commonly based on the Received Signal Strength (RSS) and fingerprinting methods, Wi-Fi positioning systems have some shortcomings, such as large positioning errors due to the RSS offset between reference and user devices and long-duration fingerprinting updates. The image recognition method needs an a priori database of considerable image nodes to identify the location, commonly involving increased memory size and computing load [7]. For inertial navigation, there are two typical shortcomings: the positioning accuracy depends on the initial location and the positioning error increases with time [8]. Compared to these methods, the pseudolite system has relatively larger coverage area (up to 50 km) and more accurate positioning solution (carrier phase) with 4-5 transmitters [13]. If the pseudolite system uses specially designed GPS-like signals, a commercial GPS receiver can be used with minor modifications of the firmware and/or software [11].
There are three types of pseudolite architectures for indoor positioning system, named pseudolite, repeater and repealite [14]. The pseudolite represents the typical pseudolite architecture. Several pseudolites are located at the corners of the building to simulate the satellite constellation. Each pseudolite generates and transmits GPS-like signals. Commonly, the generated signals and real GPS signals have the same signal structure but differ in carrier frequency, PRN code or navigation data [13,15]. These differences require hardware-level modifications of the user receiver. In addition, pseudolites have some more drawbacks, such as clock synchronization issues and, multi-path and near-far effects [16]. To overcome one or more of these drawbacks, two variant architectures, the repeater and repealite, are proposed. The repeater simplifies the synchronization of the constellation and reduces near-far effects. It consists of an outdoor antenna to collect GPS signals and several switching modules to forward the GPS signals. In this process, the GPS signal is amplified and transmitted without any further treatment [17]. To identify the switching module, each module transmits signals over a definite period while others are turned off. The signal switching period received by the indoor terminal corresponds to the time difference of arrival (TDOA) between two successive repeaters. Then, more than four TDOA measurements are used to estimate the position [17]. The repealite is a combination of pseudolite and repeater. It is able to overcome the problems of synchronization and multipath effects. Like the repeater, the repealite transmits received GPS signals, but the transmission on each antenna is continuous and delayed by different periods, which is the measurement of the user receiver [18,19].
This paper proposes a new architecture for the pseudolite-repeater-based indoor positioning system. The main idea of the method is that each satellite's signal is extracted from the received GPS signals (commonly including multiple satellites' signal) and forwarded using one indoor transmitting antenna. This process is realized using a Receiver/Transmitter and includes collecting the GPS signal from the outdoor receiving antenna, demodulating the GPS signal in the receiver component, repeating each satellite signal in the transmitter component and then forwarding different satellite signals via indoor transmitting antennas. The measurement of the system is the difference of pseudoranges measured by the indoor terminal and outdoor receiver. The pseudorange difference corresponds to the distance between the indoor terminal and transmitting antenna, and a signal delay bias. Four such measurements are then used in the position calculation. The advantages of the system include simple clock synchronization and no/minor modification of the commercial GPS receiver.
The system is described in Section 2. The positioning algorithm in the user terminal is introduced in Section 3. The simulation method and results are shown in Section 4. Conclusions of the paper are presented in Section 5.

System Structure
The proposed system is presented in Figure 1. It comprises a Receiver-and-Transmitter (Rx/Tx), server and user terminal.

Rx/Tx
The Rx/Tx is the crucial part in the system. It receives the real GPS Radio Frequency (RF GPS ) signal using an outdoor Receiving Antenna (RA), estimates the pseudoranges GPS N ,..., 2 , 1 ρ from the RA to each satellite and sends them to the server. Meanwhile, the Rx/Tx separates each satellite's signal and transmits the separated signal to the user terminal via several (at least three for 2-D positioning) indoor Transmitting Antennas (TA1, TA2,…,TAN). The architecture of the Rx/Tx, which is composed of a receiver (Rx) and transmitter (Tx) components, is illustrated in Figure 2. The Rx component works as a general GPS receiver. Differently, its local carrier, code and navigation data of the receiver rather than positioning results are output to the next component (Tx). The requirement, nowadays, can be satisfied by a software GNSS receiver. Figure 2 illustrates the signal processing in the Rx component. GPS radio frequency signals RF GPS is received by the outdoor RA, and converted into intermediate frequency signals IF GPS through down-conversion and Analog-Digital-Conversion (ADC). Since IF GPS is a mixture of multiple satellites' signals, the Rx demodulates IF GPS using multiple channels and each channel processes one satellite's signal. , their corresponding PRN and channel number to the server via Wi-Fi (or another possible means).
The Tx components mimic GPS satellites to generate and transmit RF. The navigation data, carrier and code signal are obtained from the signal processing channel of Rx. Thus, one Tx generates the GPS-like signal corresponding to one GPS satellite and one Rx channel. Figure 2 shows the process of the i-th Tx generating the RF signal. Firstly, Tx re-modulates IF signal using the local carrier, local C/A code and demodulated navigation data from the i-th channel of Rx. After re-modulation, the Txi obtains the digital intermediate frequency signal In the system, more than four Tx are required for 3-D positioning and more than three Tx are required for 2-D positioning since one Tx corresponds to one satellite. Therefore, synchronization of all Tx units is required in the system. In Figure 2, the time of RF signal generation and the time of signal transmission from Tx to TA are the main factors causing asynchronization, also called as system delay biases. For the signal generation time, Rx and all Tx are controlled using one oscillator to ensure that all Tx units generate RF signals simultaneously. The remained system delay biases can be calibrated in the following two ways: (1) Pre-correction before installation of transmitting antennas In this method, all transmitting antennas are placed at the same position and their transmitting signals are received using one GPS receiver. Then, the difference between the indoor receiver's psuedorange measurements and the Rx component for the same satellite (i.e., , denoted as i ρ Δ , which models will be detailed in Section 3, results from the processing time in Tx/Rx and propagation time from the transmitting antenna to the indoor receiver. The propagation time is the same since all transmitting antennas are at the same location. Therefore, in an ideal case of no delay in any channel, i ρ Δ are the same in all channels and ... 2 1 can be obtained. In practice, we likely obtain ... 2 1 due to the system delay biases. Thus, the correction of system delay bias for each channel can be estimated using the difference of i ρ Δ . For instance, the correction of the i-th channel is without loss of generality. It should be noticed that this method estimates the different portions of system delay biases, but the common portions are cancelled by subtraction processing. The common portion will be included in the user clock error and estimated in positioning estimation in the user terminal. (2) On-line correction using a reference indoor GPS station As discussed in the pre-correlation, i ρ Δ includes the system delay bias and the distance i d from the transmitting antenna to the indoor receiver. Herein, the correction of system delay bias can be estimated as i ρ Δ can be estimated from the pseudorange measurements of indoor receiver and Tx/Rx. If the indoor receiver's location can be obtained, i d will be known. Thus, in the on-line correction algorithm, a reference GPS station must be placed at a known location. Its distance to each antenna is a known constant and can be pre-estimated correctly. Using , the correlation of system delay bias of each channel can be calculated. The correlation value can be deliver to user terminal via Wi-Fi. In Figure 2, the demodulated navigation data ) (k D i from the Rx is delayed by one epoch in Tx, where one epoch equals to one integration time coh T of tracking loop in the Rx. The reason for the one-epoch delay is that the navigation data bit can only be obtained after demodulation. In other words, the current navigation data bit cannot be obtained in the real-time system. Thus, the previous moment navigation data bit is used to reconstruct the RF signal and the minimum time delay is 1 ms ( coh T = 1 ms). Since the delay occurs in every Tx, it will be considered as a part of receiver clock error and does not affect the positioning result.

Server
In the proposed system, the server is used to match the Rx and Tx information and deliver it to the user terminals via Wi-Fi. The Rx information includes the pseudorange measurements, corresponding transmitting time, PRN and channel number. This information is collected from Rx and updated on-line since pseudorange measurements and available satellites vary with time. The other reason for on-line updating is that the one-to-one relationship of channel number and its corresponding PRN is dynamically adjustable rather than fixed. The Tx information includes the position of each antenna which are required for position calculation. It also includes the identifier of transmitting antenna which relates to channel number. Using the identifier, the server can match the transmitting antenna for pseudorange measurement and PRN as shown in Figure 3. In addition, the transmitting antenna is likely to be far away from the receiving antenna due to a reasonable antenna distribution. As a result, the signal propagation time in the cable connecting transmitting antenna cannot be ignored. Therefore, the stored information also contains the delay correction of each channel referring to the signal propagation time delay.

User Terminal
The user terminal includes a GPS receiver module, wireless communication module (i.e., Wi-Fi) and positioning calculation module, as shown in Figure 4. The GPS receiver is used to track the mimicked GPS signals from the different transmitting antennas. It is also used to estimate the pseudorange measurements rather than user position. This is because the position estimated by the GPS receiver is not the real user position. The range from the user terminal to TA, which is required in positioning estimation, is contained in the pseudorange measurement from the GPS receiver module. The wireless communication module is used to acquire the Rx and Tx information from the server, which are also used to estimate the range to TA. The positioning module receives the pseudorange measurements from GPS receiver module and wireless communication module, calculating the range to each transmitting antenna, and then estimating the user position.

Measurement Model and Positioning Algorithm
As introduced in the previous section, the user position estimation depends on the range between user terminal and TAs, which is included in the pseudorange measured by the GPS receiver module of user terminal. The pseudorange measurements RGPS i ρ from the user terminal to the i-th TA is modelled as: The difference between RGPS i ρ and GPS i ρ removes the GPS signal propagation errors, such as ionospheric delay, tropospheric delay and orbit errors. As a result, the proposed indoor positioning system has high robustness to the effects of the GPS signal propagation environment. In addition, the difference cancels the errors due to the Rx component, such as the clock error. This indicates that the accuracy of the proposed system is independent of the accuracy of Rx and hence a low-cost GPS receiver can be used as the Rx component. The term RT i δ is a known quantity, saved in the server and delivered to the user terminal: represents the unknown user position and represents the position of i-th TA obtained from the server. Similar to GPS positioning algorithm, user position is estimated through solving the equation: Commonly, Equation (5) is solved using the least squares method.

Simulation and Results
In the simulation test, we used a software GPS receiver to realize the functions of Tx/Rx. The simulation test is performed in the following steps and illustrated in Figure 5: Step 1: Collecting real-world GPS data. The real-world GPS signal is collected by a front end (iP-solutions GPS/Galileo L1 RF recorder with OCXO) and logged as a data file in the computer.
Step 2: Simulating TA distribution and user position, RT i δ and i d . The distance RT i δ is estimated according to the simulated distribution of TAs and the range i d is estimated according to the simulated user position and TA position.
Step 3: Separating GPS IF data. The software GPS receiver is used to demodulate the real-world GPS data. The navigation data, carrier and code with delay due to RT i δ and i d of each channel corresponding to one satellite are remodulated. The remodulated signal is used to simulate the indoor signal transmitted by the TA.
Step 4: Mixing the separated GPS IF data of different channels (i.e., different satellites). The GPS IF data of different channels are combined into one IF data stream to simulate the GPS data collected indoors using the user terminal.
Step 5: Simulating the user terminal's function. A software GPS receiver is used as the GPS module in the user terminal to process the simulated GPS IF data and output pseudorange measurements  The parameters of the Front End and the GPS software receiver used in the simulation are shown in Table 1. . Their distributions are shown in Figure 6. The figure shows that the four satellites (PRN 9, 18, 15 and 26) have bad geometry. All of them are distributed in the section with 322.3°-121.8° azimuth angle. In addition, one of them (PRN 26) has very low elevation angle reaching 11.7°. As a result, the PDOP value reaches 4.43. Figure 6. Sky plot.

Static Simulation
To test the effectiveness of proposed indoor positioning system, a static test is performed first. The distribution of the RA and four TAs is illustrated in Figure 7. RA is at the centre of the four TAs and at a height of 26.32 m, 1.32-m higher than the TAs' heights since it is outside. The four TAs are on the same plane and located on the vertexes of a 100 m × 100 m square. Assuming the RA and each TA are connected using cables, the route between the TAs and the RA is      Figure 10 shows the antenna distribution for the 3-D positioning test with four transmitting antennas (a) and its positioning errors in three axes (b). In the figure, the positioning error is 0.04 m with 1.37 m STD in the X axis and 0.06 m with 1.13 m STD in the Y axis, which is similar to the 2-D positioning accuracy. Compared to the horizontal error, the Z-axis error is much larger, reaching 0.23 m with STD = 10.56 m. It should be noticed that the low accuracy in the Z-axis has little effect on the horizontal accuracy, as mentioned above. Additionally, the average error in the Z axis is 0.23 m which is acceptable to detect floors, although the Z-axis error changes in a large range.

Dynamic Simulation
The trace of dynamic simulation is from (1, 1, 22) to (99, 99, 22) and back to (1, 1, 22) with 5 m/s velocity as shown in Figure 11a (red triangle dots). The dynamic simulation results, displayed in Figure 11, show the proposed system also has high dynamic positioning accuracy although the error is a little larger than that under static conditions. The average error is −0.13 m in the X axis and 0.09 m in the Y axis. The STD is 1.24 m in the X axis and 1.15 m in the Y axis.
More dynamic tests are conducted using back-and-forth trace between (

Conclusions
This paper proposes a new pseudolite-based indoor positioning system. The proposed system includes a Receiver-and-Transmitter (Rx/Tx), server and user terminal. As the kernel of the system, Rx/Tx demodulates the received real-world GPS signal (which includes several satellites' signals), separates them and repeats them, respectively. This process has two advantages. One is that all Tx can be synchronized with each other since one single clock is used in the Rx/Tx system. The other advantage is the GPS-like signal can be processed (signal acquisition and tracking, navigation data decoding) by the general receiver and hence there is no need for hardware-level modification on the receiver. The proposed system is simulated using a software defined GPS receiver. The simulation results show the indoor positioning system is able to provide high accurate horizontal positioning in both static and dynamic situations. In the future, the study will focus on the realization problem, such as indoor transmitting antennas distribution, multi-path effects and so on.