Multi-Thread Based Design of Navigation Algorithm Module in Multi Radio Integrated Navigation System M&S Software

. A multi-thread based navigation algorithm module is designed in a multi radio integrated navigation system modeling and simulation software in order to efficiently use resources in the software platform of the modeling and simulation software. By adopting the multi-thread architecture, features of navigation algorithms and concurrency of the algorisms can be easily included in the navigation algorithm module. In order to show the usefulness of the multi thread based navigation algorithm module design, a navigation algorithm module in the multi-radio integrated navigation system for GPS, KNSS, Loran-C, eLoran and DME/VOR is implemented in C++ under the Windows operating system. The implementation results show that the thread based design can be useful in the development of multi radio integrated navigation systems.


Introduction
Navigation outputs can be provided by combining GNSS (Global Navigation Satellite System) with other radio navigation systems even for the outage of GNSS [1][2][3][4][5]. Before a multi radio integrated navigation system, in which GNSS is combined with other radio navigation systems, is operated in real-time, performance evaluations and tests should be performed. Much time and cost can be saved in the evaluation if the M&S S/W (Modeling and Simulation S/W) is used [6].
The can be divided into function modules in order to add new functions and modify the module easily. In M&S S/W, the navigation algorithms should be in an independent module since the navigation algorithms will be running in a real-time multi radio integrated navigation system [1]. The navigation algorithm should contain features of radio navigation algorithm units and integrated navigation algorithms of GNSS and radio navigation systems. In addition to this, the navigation algorithms should be concurrently run.
By using the thread in the operation system, features of the unit navigation system can be included in the navigation algorithm module and concurrency of the algorithms can be easily implemented in the M&S S/W [8][9].
In this paper, a multi thread based navigation algorithm module is designed in a multi radio integrated navigation system M&S S/W. In the navigation algorithm module, a navigation algorithm corresponds to a thread. By doing this, features of navigation algorithms can be independently included in the navigation algorithm module. When a new navigation algorithm needs to be added to the navigation algorithm module, a new thread can be easily generated without modifying other navigation algorithms [7][8].
In the sequel, in section II, the multi thread based navigation algorithm module design is presented. In section III, implementation results of the multi thread based navigation algorithm for GPS, KNSS(Korean Navigation Satellite System), Loran-C (Long range navigation), e-Loran (Enhanced Loran), DME (Distance Measuring Equipment) and VOR (Very high frequency Omnidirectional Radio range) are presented. Finally, in section VI, concluding remark and further studies are presented. figure 1. The M&S S/W is divided into navigation algorithm part and GUI (Graphic User Interface) part and navigation environment generation part. Unit navigation algorithm and integrated navigation algorithms are in the navigation algorithm part. The navigation environment generation part generates measurements to the parameter set by the GUI part. The generated measurements are an input of the navigation algorithm part. Through GUI, parameters to send the navigation algorithm part and the navigation environment generation part can be set by the user and navigation results can be displayed. The structure of the function modules is shown in figure 3. The navigation algorithm module has this structure. The broker is composed of an I/F, an encoder, a decoder, and a procedure. The decoder converts the binary data in the received M&S messages into internal variables for the procedure. The encoder converts the internal variables processed by the procedure into the binary data in the M&S message to transmit. The procedure is a combination of subroutines to carry out functions of the M&S software. Due to the encoder and decoder, variables in the procedure need not be shared with other function modules, i.e., each function module can be independently operated. Programs which have already been developed in other platforms can be reused or easily ported in a function module in the M&S software. In this case, the only thing for the operators and/or developers of the M&S software to do is updating the encoder and decoder.

Multi thread based navigation algorithm module
The navigation algorithm module based on the multi thread is designed for the structure shown in figure 3. It is well known that the thread provides many useful characteristics to the program developers [7][8][9][10]. Among the useful characteristics, the scalability, concurrency, and economy are used in the design of the navigation algorithm module. Due to the scalability, a new navigation algorithm can be easily added to the navigation algorithm module by generation a new thread. The threads are to be seen to the user that they are run concurrently. Even though actual thread programs are run in timesharing mode in a CPU (Central Processing Unit), the operation of the S/W has no problem as long as the running time is short enough. In the navigation algorithm module, a program is included in a thread if it is running independently or its function is clearly different from other program. Due to the scheduler of threads, the program developer can give more throughput.
As mentioned previously, the navigation algorithm module is composed of an I/F, a decoder, an encoder and procedure. The navigation algorithms are in the procedure. The I/F, decoder and encoder are designed in separate threads. Navigation algorithms are also designed in a separate threads as shown in figure 4.

M&S S/W
The M&S S/W for GPS, KNSS, Loran-C, e-Loran, DME and VOR shown in figure 5 was implemented to show the validity of the design of the multi thread based navigation algorithm module.

Navigation algorithm module
If the design method described in section II. 2 is applied to this navigation algorithm module with GPS, KNSS, Loran-C, e-Loran, DME and VOR, the navigation algorithm module has 9 threads and 14 queues as shown in figure 6. The M&S S/W with the multi thread based navigation algorithm module was implemented in visual C++ under Windows operating system.
The weighted least method was used to estimate navigation results.

Result
For the trajectory of a vehicle shown in figure 7, the M&S S/W was implemented. It can be seen that the vehicle is moving for 2500s. Initial position of the vehicle is 35.34° of latitude, 126.19° of longitude and 100m of altitude. It also can be observed that the vehicle carries 8-shaped motion and descends after it goes up to 8km of altitude.

Concluding remarks and further studies
In this paper, a multi thread based navigation algorithm module was designed in a multi radio integrated navigation system M&S S/W. In order to show usefulness of the multi thread based navigation algorithm module design, a navigation algorithm module in the multi-radio integrated navigation system for GPS, KNSS, Loran-C, eLoran, and DME/VOR was implemented in C++ under the Windows Operating System. The implementation results showed that the thread based design could be useful in the development of multi radio integrated navigation systems. As further study, results on the multi thread based approach and addition of fixed and moving pseudolite navigaion system in the navigation module.