Tuesday, April 5, 2016

Paul Breed Rocket Flight Test Data #2: PROGRESS!

I GOT A gnss-sdr PVT SOLUTION IN FLIGHT!

Success kid is successful.

So I managed to get a valid navigation solution for ~ 7 seconds in flight close to what I presume is apogee, absent additional information. Paul flew an IMU but lost the SD card and a Big Red Bee GPS tracker which is, of course, subject to CoCom limits. Below I plotted both the RTLSDR (in red) and the Big Red Bee (in yellow... in retrospect this should have been red!)




I removed spurious readings from the GPS tracker: these are easy to identify because the GPS time is out of sync. The long red and yellow lines connect the dots from the last good reading on the pad to the first good reading in flight, and are not representative paths per see. If we assume data to be correct it appears the RTLSDR acquires a navigation solution at a higher altitude than the BRB, which based on the speed and drift is operating under chutes. Next up I extracted the the lat/lon/alt from the PVT solution generated by GNSS-SDR (again, the blue line is just connecting the last good fix on the pad with  the first good fix in flight). The data is aligned with the last good fixes for both the RTLSDR and BRB. 










Now we get confirmation that the RTLSDR does indeed acquire before the BRB, and a little mental extrapolation can connect the dots between the last RTLSDR sample and the first BRB sample post-launch if we presume the rocket is drifting steadily under a drogue parachute. (The inflection in the BRB is likely going from drogues to main chute - awaiting confirmation.)

The rocket pops the nosecone at apogee to deploy a drogue chute, at which time the nosecone is swinging in the breeze and we don't anticipate getting any data from the RTLSDR because the directional antenna is no longer pointed up. However the BRB is expected to get a fix under chutes, when within the CoCom limits. My thesis is that we get a valid GPS solution about 7 seconds before popping the nosecone and deploying the drogue, which then causes us to lose track on most of the satellites and thus lose our navigation solution. Indeed, the rest of the flight is filled with messages of acquiring and subsequently losing acquisition of satellites.

Here's an excerpt of the output from just before liftoff to just after apogee:
Current input signal time = 145 [s]
NAV Message: received subframe 3 from satellite GPS PRN 22 (Block IIR)
NAV Message: received subframe 3 from satellite GPS PRN 31 (Block IIR-M)
NAV Message: received subframe 3 from satellite GPS PRN 1 (Block IIF)
NAV Message: received subframe 3 from satellite GPS PRN 14 (Block IIR)
NAV Message: received subframe 3 from satellite GPS PRN 3 (Block IIF)
NAV Message: received subframe 3 from satellite GPS PRN 10 (Block IIA)
NAV Message: received subframe 3 from satellite GPS PRN 25 (Block IIF)
Position at 2016-Feb-06 18:45:47 UTC is Lat = 35.34828164793844 [deg], Long = -117.8089714500355 [deg], Height= 646.4366382388398 [m]
Current input signal time = 146 [s]
Position at 2016-Feb-06 18:45:48 UTC is Lat = 35.34792485975112 [deg], Long = -117.8090110485498 [deg], Height= 653.1580742103979 [m]
Current input signal time = 147 [s]
Position at 2016-Feb-06 18:45:49 UTC is Lat = 35.34836233536886 [deg], Long = -117.8087743892498 [deg], Height= 622.0710280425847 [m]
Current input signal time = 148 [s]
Position at 2016-Feb-06 18:45:50 UTC is Lat = 35.34776621261069 [deg], Long = -117.8090573844694 [deg], Height= 649.063727453351 [m]
Current input signal time = 149 [s]
Position at 2016-Feb-06 18:45:51 UTC is Lat = 35.34842555835016 [deg], Long = -117.8087875236563 [deg], Height= 634.0006730658934 [m]
Current input signal time = 150 [s]
Position at 2016-Feb-06 18:45:52 UTC is Lat = 35.34802741910629 [deg], Long = -117.808877076439 [deg], Height= 641.1753705441952 [m]
Current input signal time = 151 [s]
NAV Message: received subframe 4 from satellite GPS PRN 22 (Block IIR)
NAV Message: received subframe 4 from satellite GPS PRN 10 (Block IIA)
Loss of lock in channel 5!
Tracking start on channel 5 for satellite GPS PRN 11 (Block IIR)
Current input signal time = 152 [s]
Loss of lock in channel 6!
Loss of lock in channel 3!
Tracking start on channel 6 for satellite GPS PRN 31 (Block IIR-M)
Tracking start on channel 3 for satellite GPS PRN 14 (Block IIR)
Loss of lock in channel 0!
Tracking start on channel 0 for satellite GPS PRN 1 (Block IIF)
Loss of lock in channel 4!
Tracking start on channel 4 for satellite GPS PRN 22 (Block IIR)
Current input signal time = 153 [s]
Loss of lock in channel 5!
Tracking start on channel 5 for satellite GPS PRN 11 (Block IIR)
Loss of lock in channel 6!
Tracking start on channel 6 for satellite GPS PRN 31 (Block IIR-M)
Loss of lock in channel 3!
Tracking start on channel 3 for satellite GPS PRN 14 (Block IIR)
Loss of lock in channel 0!
Tracking start on channel 0 for satellite GPS PRN 1 (Block IIF)
Loss of lock in channel 4!
Tracking start on channel 4 for satellite GPS PRN 22 (Block IIR)
Current input signal time = 154 [s]
Current input signal time = 155 [s]
Loss of lock in channel 4!
Tracking start on channel 4 for satellite GPS PRN 22 (Block IIR)
Current input signal time = 156 [s]
Current input signal time = 157 [s]
Loss of lock in channel 4!
Tracking start on channel 4 for satellite GPS PRN 22 (Block IIR)
Current input signal time = 158 [s]
Current input signal time = 159 [s]
Current input signal time = 160 [s]
Current input signal time = 161 [s]
Current input signal time = 162 [s]
Current input signal time = 163 [s]
NAV Message: received subframe 1 from satellite GPS PRN 11 (Block IIR)
NAV Message: received subframe 1 from satellite GPS PRN 14 (Block IIR)
Current input signal time = 164 [s]
Current input signal time = 165 [s]
Current input signal time = 166 [s]
Current input signal time = 167 [s]
Current input signal time = 168 [s]
Current input signal time = 169 [s]
NAV Message: received subframe 2 from satellite GPS PRN 11 (Block IIR)
Current input signal time = 170 [s]
Current input signal time = 171 [s]
Current input signal time = 172 [s]
Current input signal time = 173 [s]
Current input signal time = 174 [s]
Current input signal time = 175 [s]
NAV Message: received subframe 3 from satellite GPS PRN 1 (Block IIF)
NAV Message: received subframe 3 from satellite GPS PRN 11 (Block IIR)
NAV Message: received subframe 3 from satellite GPS PRN 14 (Block IIR)
NAV Message: received subframe 3 from satellite GPS PRN 3 (Block IIF)
Current input signal time = 176 [s]
Position at 2016-Feb-06 18:46:18 UTC is Lat = 35.3536423978743 [deg], Long = -117.8154004936006 [deg], Height= 4891.649443297647 [m]
Current input signal time = 177 [s]
Position at 2016-Feb-06 18:46:19 UTC is Lat = 35.35313826705141 [deg], Long = -117.8151172574466 [deg], Height= 4786.770911485888 [m]
Current input signal time = 178 [s]
Position at 2016-Feb-06 18:46:20 UTC is Lat = 35.35361800624526 [deg], Long = -117.8156283909009 [deg], Height= 4907.156536793336 [m]
Current input signal time = 179 [s]
Position at 2016-Feb-06 18:46:21 UTC is Lat = 35.35351364315449 [deg], Long = -117.815566988265 [deg], Height= 4801.439769400284 [m]
Current input signal time = 180 [s]
Position at 2016-Feb-06 18:46:22 UTC is Lat = 35.35325156470748 [deg], Long = -117.8156706709576 [deg], Height= 4741.917847431265 [m]
Current input signal time = 181 [s]
NAV Message: received subframe 4 from satellite GPS PRN 22 (Block IIR)
NAV Message: received subframe 4 from satellite GPS PRN 1 (Block IIF)
NAV Message: received subframe 4 from satellite GPS PRN 31 (Block IIR-M)
NAV Message: received subframe 4 from satellite GPS PRN 11 (Block IIR)
NAV Message: received subframe 4 from satellite GPS PRN 3 (Block IIF)
Loss of lock in channel 7!
Current input signal time = 182 [s]
Tracking start on channel 7 for satellite GPS PRN 23 (Block IIR)
Loss of lock in channel 3!
Tracking start on channel 3 for satellite GPS PRN 26 (Block IIF)
Current input signal time = 183 [s]


Therefore, based on the output and plots, I believe liftoff takes place at 151 seconds, engine burns for ~ 5-6 seconds (highlighted in yellow), with apogee occurring at 182 seconds, or roughly 30 seconds on ascent. Apogee of ~ 4850 meters ASL.

The numerous subframes from 163-182 seconds show we are still getting some meaningful data which could be interpreted by a fft-based approach like fastpgs.


So what did you change?

I lowered the bandwidth of all 3 tracking loops by roughly half. Previously I had increased the bandwidth on the loops figuring more bandwidth = ability to deal with rapid shifts in phase/frequency but my intuition was incorrect. I'm still a DSP newbie but I am learning.

To Do
  1. Continue playing with tracking loops 
  2. Investigate fastgps fft-based solutions

Files
  1. BRB.kml - Big Red Bee GPS Logger
  2. RTLSDR.kml - RTLSDR tracking

5 comments:

  1. There is an issue with the images. Could you fix them please? Otherwise great article!

    ReplyDelete
  2. Randu, the images render fine under Chrome, what browser are you using?

    ReplyDelete
    Replies
    1. In Firefox the images do not work. Accessing direct link to the image extracted form the page HTML produces the following message:
      Gone
      Error 410

      You may see images stores in local cache on your computer. Try to clean the cache and then you should see the page without images.

      Delete
    2. Thank you. I'm still not sure what went wrong...

      Delete