Porting goGPS from MATLAB to Java: performance analysis, tests and results Eugenio Realini 1 , Daisuke Yoshida 2 , Lorenzo Patocchi 3 , Mirko Reguzzoni 4 , Venkatesh Raghavan 1 1 Graduate School for Creative Cities, Osaka City University, 3-3-138 Sugimoto, Sumiyoshi-ku, 558-8585 Osaka, Japan – realini@gscc.osaka-cu.ac.jp; raghavan@media.osaka-cu.ac.jp 2 Faculty of Liberal Arts, Tezukayama Gakuin University, 2-1823 Imakuma, Osakasayama City, 589-8585 Osaka, Japan - yoshida@la.tezuka-gu.ac.jp 3 CRYMS Sagl, Manno, Switzerland - lorenzo.patocchi@cryms.com 4 Dept. of Geophysics of the Lithosphere - OGS, c/o Politecnico di Milano - Polo Regionale di Como, via Valleggio 11, 22100 Como, Italy - mirko@geomatica.como.polimi.it Abstract goGPS is an application for achieving sub-meter accuracy with low-cost GPS receivers, mainly through the use of RTK positioning, Kalman filtering, DTM aid and network-constrained navigation. It aims on one hand at achieving optimal positioning with the miniaturized GPS devices commonly used for car and personal navigation, on the other hand at lowering instrumentation costs by substituting proprietary hardware (e.g. GPS chipsets) with open source positioning software. goGPS can work either in real-time or post-processing, by acquiring raw GPS data in input and providing positioning (i.e. coordinates) in output. Though originally developed in MATLAB and targeted to a research- oriented environment, goGPS was recently ported to Java in order to allow a wider user base to develop and use it. Since real-time GPS positioning heavily relies on fast matrix computation, a careful selection of Java matrix libraries was carried out in order to obtain optimal performances. A client- server architecture was also developed and tested in order to let lightweight clients just acquire raw GPS data, send them to a server for processing and receive back the accurate positioning. The Java version of goGPS is being developed as an open source collaborative project, on the wave of a constructive synergy between universities and private companies both in Europe and Japan. 1. Introduction Recently, as the word "ubiquitous society" describes, the technologies related to the Internet and to location information are developing remarkably. Handheld devices with built-in GPS capabilities, such as smart-phones, have spread conspicuously, many location based applications for mobile devices are being developed and more and more use of location information draws attention for business. However, built-in GPS receivers in cellular phones and PNDs (Portable Navigation Devices) offer low-quality positioning with an accuracy of around 3 – 5 m. Besides, in locations of urban areas enclosed by skyscrapers, the accuracy degrades further. Business with highly accurate location information has not been spread at consumer level yet, since getting high positioning accuracy is still costly. There are various grades in GPS devices: professional double-frequency receivers can get positioning with an accuracy of some centimeters by Real-Time Kinematic (RTK), professional single-frequency receivers can improve the accuracy to less than 1 meter using Differential GPS (DGPS) correction data or single-frequency RTK, while low-cost receivers, which are mainly used for cell-phones and car navigation devices, have accuracies of some