Hello all,
This has been a very very long time since my last article but I want to share something today with you.
As few of you know, I am currently travelling around the world. I am constantly relying on my GPS to find my location, get driving directions, pin my hostels and places of interests, etc. Unfortunately, sometimes my GPS takes a long time to acquire a precise location.
So I made an android app to help my phone find my GPS location faster. It is installed on my phone for a while now and it works perfectly! Today I want to share with you what was causing my problems and how I resolved them.
The problem
Sometimes your GPS can take a while before acquiring satellite signals and navigation data, and calculate your position (called a fix). When your GPS is cold (have inaccurate estimates of, its position, velocity, the time, or the visibility of any of the GPS satellites), it has to download an almanac that is transmitted repeatedly over 12.5 minutes directly from the GPS satellites (The data rate of the satellite signal is only 50 bit/s, so downloading orbital information like ephemerides and the almanac directly from satellites typically takes a long time, and if the satellite signals are lost during the acquisition of this information, it is discarded and the standalone system has to start from scratch).
This has been a very very long time since my last article but I want to share something today with you.
As few of you know, I am currently travelling around the world. I am constantly relying on my GPS to find my location, get driving directions, pin my hostels and places of interests, etc. Unfortunately, sometimes my GPS takes a long time to acquire a precise location.
So I made an android app to help my phone find my GPS location faster. It is installed on my phone for a while now and it works perfectly! Today I want to share with you what was causing my problems and how I resolved them.
The problem
Sometimes your GPS can take a while before acquiring satellite signals and navigation data, and calculate your position (called a fix). When your GPS is cold (have inaccurate estimates of, its position, velocity, the time, or the visibility of any of the GPS satellites), it has to download an almanac that is transmitted repeatedly over 12.5 minutes directly from the GPS satellites (The data rate of the satellite signal is only 50 bit/s, so downloading orbital information like ephemerides and the almanac directly from satellites typically takes a long time, and if the satellite signals are lost during the acquisition of this information, it is discarded and the standalone system has to start from scratch).
So when the almanac is fully downloaded, then the GPS unit is able to find your precise location. The total time of the whole process is called time to first fix or TTFF and is usually around, like I said, 12.5 minutes.
Of course my GPS was not always in a cold state but sometimes, it was. Sometimes the almanac can also be a little bit outdated so your GPS is not in a cold state but not in an optimal state either. When your GPS is hot, it usually find a fix within 30 seconds. Mine sometimes could take anywhere from 30 seconds to 5 minutes to acquire a fix. And waiting 5 minutes next to a taxi driver in Vietnam to know where you are (to negotiate the price) is not a funny thing to do.
The solution
Assisted GPS (or A-GPS). Most modern phones supports A-GPS. It lets you download the almanac from the internet instead of relying solely on the GPS satellites (which are slow). Plus, you don't have to be using your GPS to download the orbital information, you can update your GPS any time. At first, I was using some apps already available on the Play Store to download the almanacs whenever I had free WIFI and some spare time. But the process was tedious and I was doing it approximately once a week. I wanted to automate the process and just forget about it.
The app
Enter GPS Ready! I made this app to keep the GPS orbital information of your phone current and fresh, automatically. Just install it and always get a fast fix :) Here are some screen shots:
The beauty of this app lies in its simplicity. You just have to install it and forget about it. You don't have to open it at regular interval. The interface itself just shows the current state of the GPS data and do nothing else. An efficient algorithm runs in the background to determine if your GPS is in a healthy state. If it is not, several synchronizations are made as soon as an Internet connection is found. If your device has been offline for a while and the GPS orbital information is outdated, GPS Ready will tell you. It consumes very little power and very little bandwidth. It has been designed with efficiency in mind.
This is now one of my favorite app on my phone, which I ironically never uses :) Try it and tell me what you think!
Conclusion
I'm now enjoying a fast GPS thanks to my app. This has been a cool project to do while travelling and I learned quite a few things about GPS.
This is now one of my favorite app on my phone, which I ironically never uses :) Try it and tell me what you think!
Conclusion
I'm now enjoying a fast GPS thanks to my app. This has been a cool project to do while travelling and I learned quite a few things about GPS.
0 comments:
Post a Comment