GPS: BAD subframe = 7

jksjks
edited August 6 in KiwiSDR Discussion
Something you'd like to tell us USCG NAVCEN?

Hasn't recurred since I added code to provide more details. But did note that the bad subframes were being "received" by more than one PRN. I'm very interested to know where in the 12.5 minute cycle these are occurring (i.e what correct subframe they are displacing) and if there are any other patterns.

Difficult to believe this was real. I kinda wish it would continue though. Because then I'd add some code to make public Kiwis phone-home these reports to kiwisdr.com so some analysis could be performed. It could be our first SDR cooperative data aggregation experiment.

Note: I think this is different than the occasional subframe errors described here http://valentfx.com/forums/#/discussion/comment/1710 because those seem to be from noisy channel data that happens to get past the parity checking. Whereas these errors are widespread, all subframe 7 and occurred over a fixed time interval (all ending by Aug 6 00:00:00 UTC which is very suspicious). The subframe field is 3 bits, so with valid values of 1-5 the invalid values are 0, 6 and 7.

All times UTC

Iceland:
Sat Aug  5 22:04:22 2017 9d:19:09:12 ....      GPS: BAD subframe = 7
Sat Aug  5 22:50:52 2017 9d:19:55:42 0...      GPS: BAD subframe = 7
Sat Aug  5 22:51:52 2017 9d:19:56:42 0...      GPS: BAD subframe = 7
Sat Aug  5 22:53:52 2017 9d:19:58:43 ....      GPS: BAD subframe = 7
Sat Aug  5 23:04:22 2017 9d:20:09:12 ....      GPS: BAD subframe = 7
Sat Aug  5 23:06:22 2017 9d:20:11:13 ....      GPS: BAD subframe = 7
Sat Aug  5 23:07:22 2017 9d:20:12:13 ....      GPS: BAD subframe = 7
Sat Aug  5 23:43:52 2017 9d:20:48:42 ....      GPS: BAD subframe = 7

Philippines:
Sat Aug  5 21:24:20 2017 1d:10:12:32 0.23      GPS: BAD subframe = 7
Sat Aug  5 21:44:20 2017 1d:10:32:32 0123      GPS: BAD subframe = 7
Sat Aug  5 21:49:50 2017 1d:10:38:03 0123      GPS: BAD subframe = 7

Russia:
Sat Aug  5 20:14:50 2017 3d:03:31:36 ....      GPS: BAD subframe = 7
Sat Aug  5 20:15:20 2017 3d:03:32:06 ....      GPS: BAD subframe = 7
Sat Aug  5 20:22:20 2017 3d:03:39:06 ....      GPS: BAD subframe = 7
Sat Aug  5 20:37:50 2017 3d:03:54:36 ....      GPS: BAD subframe = 7
Sat Aug  5 21:00:20 2017 3d:04:17:06 ....      GPS: BAD subframe = 7
Sat Aug  5 21:01:50 2017 3d:04:18:36 ....      GPS: BAD subframe = 7
Sat Aug  5 21:18:50 2017 3d:04:35:36 ....      GPS: BAD subframe = 7
Sat Aug  5 21:22:20 2017 3d:04:39:06 ....      GPS: BAD subframe = 7
Sat Aug  5 21:24:20 2017 3d:04:41:06 ....      GPS: BAD subframe = 7
Sat Aug  5 21:25:50 2017 3d:04:42:36 ....      GPS: BAD subframe = 7
Sat Aug  5 21:32:50 2017 3d:04:49:36 ....      GPS: BAD subframe = 7
Sat Aug  5 21:33:20 2017 3d:04:50:06 ....      GPS: BAD subframe = 7
Sat Aug  5 21:39:20 2017 3d:04:56:06 ....      GPS: BAD subframe = 7
Sat Aug  5 21:41:20 2017 3d:04:58:06 ....      GPS: BAD subframe = 7
Sat Aug  5 21:47:20 2017 3d:05:04:06 ....      GPS: BAD subframe = 7
Sat Aug  5 22:02:50 2017 3d:05:19:36 ....      GPS: BAD subframe = 7
Sat Aug  5 22:07:50 2017 3d:05:24:36 ....      GPS: BAD subframe = 7
Sat Aug  5 22:12:20 2017 3d:05:29:06 ....      GPS: BAD subframe = 7
Sat Aug  5 22:22:20 2017 3d:05:39:06 ....      GPS: BAD subframe = 7
Sat Aug  5 22:26:20 2017 3d:05:43:06 ....      GPS: BAD subframe = 7
Sat Aug  5 23:04:20 2017 3d:06:21:06 ....      GPS: BAD subframe = 7
Sat Aug  5 23:19:50 2017 3d:06:36:36 ....      GPS: BAD subframe = 7
Sat Aug  5 23:22:20 2017 3d:06:39:06 ....      GPS: BAD subframe = 7
Sat Aug  5 23:23:50 2017 3d:06:40:36 ....      GPS: BAD subframe = 7
Sat Aug  5 23:26:50 2017 3d:06:43:36 ....      GPS: BAD subframe = 7
Sat Aug  5 23:33:20 2017 3d:06:50:06 ....      GPS: BAD subframe = 7
Sat Aug  5 23:46:50 2017 3d:07:03:36 ....      GPS: BAD subframe = 7
Sat Aug  5 23:57:50 2017 3d:07:14:36 ....      GPS: BAD subframe = 7

New Zealand:
Sat Aug  5 22:52:50 2017 1d:19:30:15 ....      GPS: BAD subframe = 7
Sat Aug  5 22:53:50 2017 1d:19:31:15 ....      GPS: BAD subframe = 7
Sat Aug  5 22:54:20 2017 1d:19:31:45 ....      GPS: BAD subframe = 7
Sat Aug  5 23:06:20 2017 1d:19:43:45 ....      GPS: BAD subframe = 7
Sat Aug  5 23:09:20 2017 1d:19:46:45 ....      GPS: BAD subframe = 7
Sat Aug  5 23:12:20 2017 1d:19:49:45 ....      GPS: BAD subframe = 7
Sat Aug  5 23:16:20 2017 1d:19:53:45 ....      GPS: BAD subframe = 7
Sat Aug  5 23:16:50 2017 1d:19:54:15 ....      GPS: BAD subframe = 7
Sat Aug  5 23:17:20 2017 1d:19:54:45 ....      GPS: BAD subframe = 7
Sat Aug  5 23:17:50 2017 1d:19:55:15 ....      GPS: BAD subframe = 7
Sat Aug  5 23:18:50 2017 1d:19:56:15 ....      GPS: BAD subframe = 7
Sat Aug  5 23:19:50 2017 1d:19:57:15 ....      GPS: BAD subframe = 7
Sat Aug  5 23:24:50 2017 1d:20:02:15 ....      GPS: BAD subframe = 7
Sat Aug  5 23:25:20 2017 1d:20:02:45 ....      GPS: BAD subframe = 7
Sat Aug  5 23:51:20 2017 1d:20:28:46 ....      GPS: BAD subframe = 7
Sat Aug  5 23:52:50 2017 1d:20:30:15 ....      GPS: BAD subframe = 7

Comments

  • The problem has returned occasionally. But there is no exact time correlation across closely-spaced Kiwis which one would expect. The bad subframes are almost always in the "subframe 4" position, but not in a consistent position in the 12.5 minute almanac period.

    The bad subframes contain mostly the same constant data from one to the next. It seems odd that they are getting past the parity/preamble checking. As far as I can tell Andrew's subframe code is perfect as I've come to expect. So I can only guess that this is a failure of buffering on my part due to violating some realtime constraints.

    I could spend a lot more time chasing this but I'm going to have to leave it and get back to more important matters. Great paper about long-term GPS message analysis here: http://www.gbeyerle.de/pdf/BitNav-080208.pdf

Sign In or Register to comment.