{'fraction_non_alphanumeric': 0.015570934256055362, 'fraction_numerical': 0.007785467128027681, 'mean_word_length': 4.903061224489796, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A novel multi-step algorithm for low-energy positioning using GPS

GPS is widely used for localization and tracking, however traditional GPS receivers consume too much energy for many applications. This paper implements and evaluates the performance of a low-energy GPS prototype. The main difference is that a traditional GPS needs to sample signals transmitted by satellites for 30 seconds to estimate its position. Our prototype reduces this time by three orders of magnitude and it can compute positions from only 2 milliseconds of data. We present a new algorithm that increases robustness by filtering on estimated residuals instead of using an altitude database. In addition, we show that our new algorithm works with both fixed and moving targets. The solution consists of (1) a portable device that samples the GPS signal and (2) a server that utilizes Doppler navigation and Coarse Time Navigation to estimate positions. We performed tests in a wide variety of environments and situations. These tests show that our prototype provides a median positioning error of roughly 40 meters even when the GPS receiver is moving at 80 kilometres per hour.