Application of particle filter algorithm in satellite positioning and navigation system

To understand the application of satellite positioning and navigation system, the application of a particle filter algorithm in satellite positioning and navigation system is studied. In this paper, firstly, the state equation of the system is established according to the correlation between the parameters of GPS output, and the particle filter algorithm is applied to filter the GPS-received data. In the CPS navigation system, DSP is used to decode and filter the output signal of the CPS receiver. The results show that when the GPS signal is disturbed, the particle filter algorithm can deal with the abnormal observation samples well, which shows that it can reduce the computational complexity and improve the GPS positioning accuracy, and have a certain robustness.


Introduction
GPS is a hot and potential research topic at present.GPS is a new generation of satellite navigation and positioning system with positioning capability, which can carry out omnidirectional real-time twodimensional and three-dimensional navigation in the sea, land, and air.The biggest problem in the application of GPS is the phenomenon that positioning deviates from the facts.However, with the cancellation of SA, the positioning accuracy (2D) of GPS is improved from 100 m to 15 m to 20 m, even within 10 m.Sometimes, the positioning error deviates from the real position by more than 50 m.Global Positioning System (GPS) can provide positioning and navigation information around the clock, quickly and accurately.But in urban high-rise areas, forest paths, culverts, and deep mountain canyons, the above functions of GPS often fail.Dead reckoning (DR) system is a commonly used positioning technology, but the direction error of its direction sensor is large and will accumulate with time, so the DR system cannot be used alone for a long time.By combining the DR system with GPS+6', it is possible to maintain normal navigation by using the autonomous positioning results of the DR system when the GPS signal is missing and the navigation system cannot work normally.The positioning error of the DR system accumulates with time.When the accumulated error value is large, it can be corrected and calibrated by using the accurate positioning results of GPS in normal operation.The error accumulation of the DR system is mainly caused by the random errors of various sensors (rate gyro, odometer, etc.).To effectively improve the positioning accuracy and reliability of the system, it is necessary to choose a good estimation method.At present, the commonly used estimation method is the Kalman filter (KF) algorithm, but in practical problems, few cases can meet the conditions of the Kalman filter.To solve the nonlinear and non-Gaussian problems, a commonly used particle filtering where x is the longitude state variable; y is the latitude state variable; Speed 0 is speed direction; Lat is the distance converted by moving a part on the equator (unit: m/min); Lon is the distance converted by moving one part online (unit: m/min); u1 and u2 is system noise; z 1 is longitude; z 2 is latitude [3].

Particle filter algorithm
The particle filter algorithm has a large amount of calculation, which is not conducive to the application in high real-time systems.This paper aims at improving the operation speed and filtering accuracy of the particle filter algorithm and adopts the methods of reducing division operation and improving weight calculation.Normalization of weights increases the complexity of the algorithm.Because division operation costs a lot of hardware, reducing division operation as much as possible is the key to improving the operation speed of the particle filter algorithm.After repeated research on particle filter algorithms, it is found that the step of weight normalization can be combined into several steps such as weight calculation, result output, and resampling, thus reducing a lot of division operations and hardware overhead.
The specific improvement methods are as follows: The output result of the particle filter algorithm is that each particle value is multiplied by the corresponding normalized particle weight.The output result of the improved particle filter algorithm is changed to that each particle value is multiplied by the corresponding non-normalized particle weight and then divided by the sum of the weights, that is, the output result is expressed by Equation (3).
The effective sample size of the particle degradation detection process in the particle filter algorithm is the reciprocal of the sum of squares of M normalized weights.The effective sample size of the particle degradation detection process in the improved particle filter algorithm is the reciprocal of the sum of squares of M non-normalized weights multiplied by the square of the sum of weights, that is, the effective sample size of particle degradation detection process in particle filter algorithm [4][5].
In the particle filter algorithm, the uniformly distributed random number generated by the resampling process is in the interval (0-1/M), and in the improved particle filter algorithm, the uniformly distributed random number generated by the resampling process is in the interval (0-Sk/M).

System design of GPS navigation
The structural block diagram of the CPS navigation system is shown in Figure 1.The satellite signal is received by the antenna of the GPS receiver and transmitted to the GPS receiver through the wire.The GPS receiver analyzes and preprocesses the received satellite signal, and then transmits the preprocessed information such as longitude and latitude to the DSP through the serial port.The DSP decodes and filters the transmitted GPS signal, and finally transmits the filtered longitude and latitude values to MATLAB for storage [6].The navigation system uses u-blox LEA-5H as the GPS receiving module.This module has 50 channels of u-blox positioning engine and more than one million correlators and super sense indoor GPS (-160 dbm acquisition and tracking sensitivity), which has strong anti-interference ability.The output of the GPS receiving module is the NMEA -0183 code.This coding is mainly composed of frame header, frame trailer, and intra-frame data.According to different frame headers, the intra-frame data is different, mainly including "$ GPGGA", "$ CPGSA", "$ G-PCSV", and "$ GPRMC".These frame headers identify the structure of data in subsequent frames, and each frame uses carriage return and line feed as the end of the frame to mark the end of a frame.In practical application, the position is estimated only by the longitude, latitude, speed, and speed direction transmitted by GPS, so $ CPRMC is selected [7].
RS232 serial communication is adopted between the GPS receiving module and the DSP development board.The selected parameters of serial communication are baud rate =9, 600 bps, data bit =8 bits, start bit = 1 bit, stop bit = 1 bit, and there is no parity.The output statement selected by the GPS module is the $ GPRMC statement, and the output frequency is 1 Hz.If the GPS receiver is working, it will continuously transmit GPS navigation and positioning information to DSP through the serial port [8].
CETEK-5509A is the DSP development board selected for the navigation system, and the core processing chip on this development board is TMS320VC5509A DSP (hereinafter referred to as C5509A) of TI company.C5509A has the characteristics of fast processing speed and high efficiency of multiplication and division, exponential operation, trigonometric function, and random number generation function in the library function.C5509A is a fixed-point digital signal processor DSPl5 in TMS320 series DSP chips produced in America.Its structure is specially designed for real-time signal processing.It has the characteristics of flexible instructions, strong operability, high speed, and support for parallel operation and C language.It is a DSP with high-cost performance and has been widely used in portable devices.The C5509A on the development board communicates with the GPS module through the Max232 (serial voltage conversion chip) and 16C550 (asynchronous serial communication transceiver) on the board.The serial port receives the data and puts it in the cache.Before further processing, the cache is a long string of byte streams, and this information cannot be used until it is classified and extracted.Therefore, the information on the longitude, latitude, speed, and speed direction of each field is extracted from the buffer byte stream by the DSP program and transformed into practical positioning information data.
After many programming simulation tests, it is found that the performance of C5509A is relatively stable when the main frequency is 120 MHz.According to the requirements of being real-time, the frequency of serial port transmission data is 1 Hz, so the DSP processor should decode and filter the transmitted data within one second and the number of particles should not be too much.After repeated tests, it is found that the number of particles is 60 [9][10].

Experimental methods
This experiment adopts the method of MATLAB and CCS joint simulation and real-time data exchange (RTDX) programming.RTDX is an excellent real-time data transmission technology, which provides a brand-new method for software debugging of DSP systems.It uses the internal simulation logic of the DSP and JTAG interface to realize the data exchange between the host and target.Without occupying I/O resources such as DSP system bus and serial port, data transmission can run in the background of application programs.C5509 and its integrated development environment CCS 2.21 are connected through the CCSLink tool integrated in MATLAB 7.1.In the MATLAB environment, the operation of the CCS and DSP target board can be completed, including data exchange with the target board, detecting the state of the processor and controlling the operation of DSP programs.
In this experiment, the data transmitted by CPS includes longitude, latitude, speed, and speed direction angle.The data received by MATLAB includes longitude and latitude, and the distribution of particles is also sampled.The time used is 60 seconds and the driving distance is about 0.8 kilometers.The improved BPF algorithm is used to filter the signal output by GPS.The system state equation and system output equation are Equation (1) and Equation ( 2), respectively, and the number of particles is 60.

Analysis of experimental results
The improved BPF algorithm filters the longitude and latitude of the GPS output, and the results and the time taken for each filtering are shown in Table 1.It can be seen from Table 1 that the filtering effect of the improved BPF algorithm is very good.The longitude and latitude signals output by GPS are very noisy, and the error range is about 2 meters to 30 meters.After filtering, the longitude and latitude are very close to the truth, and the error range is reduced from 2 meters to 30 meters before filtering to 1.5 meters to 8 meters, thus improving the accurate positioning ability of CPS.The specific statistical results are shown in Table 2.It can be seen from Table 2 that the variance between the filtered value and the true value after filtered by the improved BPF algorithm is smaller than the variance between the noisy value and the true value of GPS output.The greater the variance is, the greater the external interference (that is, the greater introduced noise) of GPS signals is, and the lower the positioning accuracy is.It can be seen from Table 1 that the improved BPF algorithm can be applied to GPS navigation, which can improve the accuracy and anti-interference ability of GPS navigation, and the operation time is very short, which can meet the requirements of CPS filtering with a frequency of 1 Hz.In this experiment, the motion direction angle provided by GPS is also disturbed by external noise, which reduces the filtering accuracy.If a dynamic north finder can be added to correct the motion direction angle provided by GPS, the filtering effect of the particle filter will be more perfect.

Conclusion
In the application of GPS positioning, the deviation caused by multiple influences limits its practical application.The particle filter algorithm optimizes the internal structure of the algorithm by improving the steps of importance weight calculation, resampling, and result output, and plays a role in reducing the deviation when applied to the GPS positioning system.The optimization of the algorithm makes it easy to realize hardware programming and improve the calculation speed, which is expected to be used in high-precision GPS navigation.

Table 1 .
The longitude and latitude filtering results.

Table 2 .
Summary of particle filter algorithm in filtering results.