Here's more detail on Sean and Doug's flight near apogee.
The data in the graph comes from playing back a video screen shot I took on my phone during the flight (thanks, iOS11 update) and manually entering the data points. In the future we will record all the data that get back to the ground into a data file.
This flight was done with a stubby omni-directional antenna at both ends of the link, the same one in the pictures of the ground station up-thread. For the data shown, I was holding the ground station above my head with the antenna perpendicular to where the phone told me the rocket was. The transmitter in the rocket was duct-taped to 3/8" steel all-thread that was running down the center of the nosecone, and the tracker was mounted just above a set of 4 GoPro cameras running their WiFi radios. The all-thread was parallel to the antenna and about 1/2" away. Because of the installation, the rocket's antenna was pointing away directly away from the ground and was shielded by the camera cluster for the first part of the flight. This may not be a worst-case installation RF-wise, but it's pretty close. This tracker was a last-minute addition to the rocket, which used a Big Red Bee for its primary GPS tracking system. (Thanks for letting my fly with you, Sean and Doug!) Anyone integrating this tracker into their rocket with a little planning to keep metal away from the antenna should be able to get radio performance better than this. Shortly after liftoff I noticed that my phone had disconnected from the ground station and I had to manually reset them and re-connect (in the future this will be automatic). I didn't get everything back on-line until the first data points you see here.
The output power was 14dBm (25 mW), which is the highest output setting for the the high-efficiency power amp in the radio. The radio also has also a higher power amp that consumes a lot more juice for an additional 3dB (continuous) or 6dB (1% D.C.). I haven't tried those out yet, but I may make them a part of an adaptive rate protocol I'm working on. The LoRa spreading factor was 11 and the bandwidth was 250 kHz. With those settings, the expected receiver sensitivity is -128.5 dBm for a 1% packet error rate. The RSSI (received signal strength) data in the graph above has typical values of around -128dBm, but of course it fluctuates with the orientation of the ground station and probably with the points in time when the all-thread was in front of the antenna. So the receiver sensitivity seems to match predictions. The gradual improvement in signal strength in the plot above is likely due to the rocket arcing over and giving the ground station a better view of the side of the antenna. The expected signal strength at the receiver for a range of 145,927 feet is -110.6 dBm if both antennas have 0 dB gain. So there is about 18 dBm missing in the received signal strength, very likely because of non-ideal alignment and blockage of the transmit antenna, misaligned polarization and partly due to some losses on the board.
In addition to the RSSI data, the LoRa radio also provides an indication of signal-to-noise ratio. Here's where the LoRa magic comes in, because with a signal-to-noise ratio below zero, a normal radio would not be able to recover the packets. The LoRa modulation uses a lot of RF symbols for every data bit (as many as 4096), and that voting process allows it to decode weak signals at the expense of slower data rate. The tracker application doesn't need a high data rate, so this is perfect for us. From what I can gather and from the behavior I have seen, the reported SNR is an indication of how much disagreement there is in the redundant data. For strong signals, it never shows anything larger than 6-8dB, which I suspect means that all the redundant RF symbols are in agreement with each other. But for these settings, decoding a packet is possible when the SNR is as low as around -25 to -30 dB. In the small sample above, there were a couple packets with SNR at -22, and the average was around -12. So there was some room to weaken the signal by 10 dB or so and still make the link. 10 dB loss translates to a factor of sqrt(10) in range, so if this rocket had gotten up to the edge of space, we would have seen at least a few packets from there.
The GPS also did well, and all the data was consistent. Some minor kinks in the plots above are artifacts of 1 second resolution on the video file and different data points updating at different times. The last packet had GPS data accurate enough to put us right on top of the rocket for the recovery.
On Sunday we flew Kevin Small's minimum-diameter rocket on an M and recovered the whole 10 Hz GPS output that's recorded on board, so that's a better flight for looking at the GPS performance in-depth. I'll post more info on that a little later.
All in all, here's how I feel about the LoRa radio performance on this flight :marshmallow: