Thank you to Frank for submitting his new RTL-SDR compatible Orbcomm Satellite monitor software called "Orbcomm Receiver". Orbcomm is a low earth orbit satellite communications system that operates in the 137 - 138 MHz frequency range. The satellites specialize in remote IoT and machine to machine (M2M) connectivity, an example use case being a GPS tracker on a shipping container regularly uploading GPS coordinates from anywhere in the world via the Orbcomm satellites. Orbcomm satellite signals are fairly strong and can easily be received with an RTL-SDR and V-Dipole antenna.
We haven't posted about Orbcomm on this blog since 2015 since there is not many interesting things to say about it. The data is all encrypted, and the only information you can really see is Orbcomm satellite ID, frequency and positioning data. Franks software doesn't change this fact, but his software is all open source, so it may be a useful tool for learning about satellite signal DSP processing. Frank writes:
There are a couple different projects out there to decode ORBCOMM signals (Orbcomm-Plotter and MultiPSK). What makes my project different from these is that I wrote it as a learning project. So all of the signal processing, written in Python, is available to the user and is decently documented. I hope this can be a good learning resource for people who want to see a practical example of satellite communications signal processing. Also, my software is open source and free to use.
Currently, the software can do offline or real-time decoding of a single ORBCOMM downlink channel. The transmitted bits of the ORBCOMM signal are demodulated and when the packet type is known, the packet information is decoded. There are a lot of ORBCOMM packets that can't be decoded and of course the message data is encrypted so that information is not available. But, there is still a ton of interesting information available.
The project is still in development so it has some limitations. For real-time recordings, I only support RTLSDRs currently. Also, I'm having trouble getting the real-time processing to work on mac OS, so currently that mode is only supported on linux. However, I have included a couple data files in the repo, so even without an SDR, users can experiment with the signal processing. I welcome any bug reports or suggestions.