Archive for March, 2009
Just a quick note for all of you keeping score, today (Mar 26, 2009) at 2031 UTC, the US Air Force decommissioned SVN 35 (PRN 5) per NANU 2009023. It was on it's last clock, and in fact had be turned off before. It was brought back to keep the constellation coverage up. With the launch of the new satellite, and PRN 5 's declining behavior (See GPS Satellite Performance), it has now been shut off for good. PRN 5 is now available for reuse by a future GPS satellite.No comments
InsideGNSS and Patrick AFB are reporting that the latest Block IIR satellite (IIR-20) is ready for launch. The launch is scheduled for March 24, 2009 between 0434 and 0449 EDT. The GPS Operations Center reports that IIR-20 also known as SVN 49, will take PRN 1 and be placed in slot B2. This slot is currently occupied by PRN 30, so this new IIR is probably a replacement.
SVN 49 has an L5 payload aboard and is intended to secure the L5 spectrum GPS is planning to use for civil signals. According to InsideGNSS:
Meanwhile, the U.S. Air Force is in a race against the clock to get the new L5 signal on the air by August 26, 2009, in order to meet an International Telecommunications Union (ITU) deadline for securing a preferential L5 frequency allocation for GPS operations.
Problems have pushed the GPS program much closer to the deadline that expected.
The first and probably only opportunity to meet the deadline: a modernized GPS Block IIR-M satellite — IIR-20(M) — with an experimental L5 signal demonstration payload scheduled for a March 24 launch.
But if there are problems with the launch or the vehicle - ?:
“Originally, the U.S. planned to meet the deadline with the first IIF satellite,” said the [GPS Wing] spokesman. “The IIR-20 demo payload was developed as the back-up plan.”
If GPS cannot secure the L5 spectrum before August 26, 2009, ITU regulations state that GPS risks losing unconditional use of that band - instead providing priority usage of that spectrum to which ever GNSS system begins broadcasting on it first - so hopes are high on this launch and success of this vehicle.
Block IIF problems
The Block IIF program has suffered a recent setback - a power anomaly affecting all signals on the L2 frequency discovered during testing. According to InsideGNSS:
Discovery of a power anomaly in signal generator of the first GPS Block IIF space vehicle (SV) has thrown a new wrinkle into the long-delayed follow-on generation of spacecraft.
In the words of a GPS Wing spokesman at the Space and Missile Systems Center (SMC), Los Angeles Air Force Base, California, “In reviewing test data from the final phase of SV1 thermal vacuum test, [government and Boeing mission assurance teams] identified a new concern that a component in the L2 transmitter may not have sufficient design margin to operate at its highest required power throughout the satellite lifetime.”
“Boeing has identified multiple options for addressing the concern and is working parallel solutions to deliver redesigned transmitters this summer,” said the GPS Wing spokesman.
The launch of the first IIF satellite was expected in October of this year, but that has now been moved to "late 2009" with a second launch not to be scheduled for at least 6 months afterward.No comments
I was a little reluctant to open a Twitter account, not because I didn't think the tech was cool, but could I possibly have that much to say each day? In such short sentences? Well, I figured out that on a daily basis I may not have much to say, but GPS does. I wanted to provide some useful information to GPS followers, something that could be said in a few words.
To that end, I created an account on Twitter with a user name GPSToday. This account I figured, could send 'tweets' to followers about GPS events, like accuracy statistics, satellite outages, etc. But this type of information would take a lot of my time to create and update on a regular basis. Ahhh, but wait, the AGI Navigation component can be coded in any way, shape or form. I could use this to create a program that automatically did what I needed and produce the results automatically.
The first application: GPS Accuracy Stats over the globe each day. Whether you're aware or not, GPS accuracy varies each day - due to satellite outages, GPS signal quality and many other factors. Getting a quick glance of GPS accuracy and status on Twitter can keep you informed with no work on your part. So what's available?
Here's a picture of a sample GPSToday Daily Accuracy tweet:
I use the AGI Navigation Accuracy Library, Dynamic Geometry Library and the Spatial Analysis Library to calculate the global position error, at 5 degree grid increments and 60 sec time steps. I then find the Maximum, Mean and Minimum statistics over the globe for the day. Once I have this information, I construct a string that states what you see in the picture above and use Twitterizer post the tweet. I can't believe how easy this was to do.
On the machine I use to calculate the global accuracy, I used Windows Scheduler to set up the run every day at midnight. When it completes, The code will send me an e-mail that it finished and update the GPSToday status with the message above. Also, if there were any satellite outages, a tweet with that info would be posted as well.
Computing global accuracy is easy using the Spatial Library component. A peek at the documentation here, then heading to the Programmer's Guide, Overview, Coverage section, show lots of examples of how to compute coverage. Down towards the bottom are some navigation examples also. The coverage algorithm first calculates access over the grid (not at specific times, but based on the assets and constraints you assigned to the grid). Once Access is calculated, you can evaluate a Figure of Merit (FOM), such as Navigation Accuracy, on that calculated Access at given time steps. Also built in are statistical functions to allow statistical calculations over the entire grid and time, or just across time at a specified grid point. Nice.
The best part of all this is that the access and FOM calculations are multi-threaded and core aware - the library will take advantage of all the cores on your machine simply by setting the following:
m_CoverageDefinition.MultithreadCoverage = true;
So, with the components, a little time and the help of a couple of tools, getting a new requirement coded and out the door happened in very little time.
Happy tweeting!5 comments