This article was originally published on my personal blog.
In this article, I used the following system: Debian 13 (64-bit)
The author assumes that readers are familiar with basic Linux operations.
If you're unsure whether you need Linux, it's best to stick with your current operating system.
This article provides only one method for exchange and learning purposes.
ASRTU-1 (hereafter referred to as ASRTU) is a star belonging to the Purple Orchid satellite team at Harbin Institute of Technology. Its UHF telemetry downlink uses BPSK modulation at 9600 bps. The telemetry format and ground station workflow used for ASRTU have also been adopted in recent launches, such as BY-04. Previously, ASRTU's reception and demodulation relied on GNU Radio Waiting for the software, and its primary function is to Windows On the platform. While the Linux platform offers LiveCDs, it also faces issues such as low efficiency, an outdated main system, and complex operations. My primary work and life are all on Linux, and to ensure I can continue to enjoy using it, I have made some adaptations and explorations. This document is intended for fellow users who may find it helpful.
1. Modifications and usage of SDRPP
AlexandreRouma/SDRPlusPlus It is a cross-platform SDR software with simple interaction and an intuitive interface, but some features may not be ideal. We need to use it to receive signals from ASTRO. There are few better options for SDR software on Linux than the original sdrpp. After making minor modifications to the original sdrpp, we can achieve good results, so let's start using it.
Modified
One major problem with SDRPP receiving Astute's signal is that its USB mode bandwidth is not sufficient. (12000)However, his RAW format isn't as convenient to use (it's not very compatible with subsequent workflows). The bandwidth settings in SDR++ are quite conservative, and the author mentions this in the Issues. #392 #958 and PRs #1203 They repeatedly opposed increasing bandwidth, and frankly stated their opposition.
I don't see a need for frequencies above 12 kHz in USB. If you need to export the IQ data for use with another decoder, use the RAW mode instead.
Wasting CPU resources by running demodulators at a higher sampling rate unnecessarily, or by significantly increasing complexity and reducing responsiveness through dynamic changes in the sampling rate at which the demodulators operate?
There is no need to configure the modes to operate over a wider range than necessary, as they are designed for standard use. If you are attempting to receive a signal that deviates significantly from the expected specifications, it would likely be more effective to use a dedicated demodulator.
Then I got a lot of negative feedback:thumbsdown:.
Therefore, we can only modify its source code and recompile it to support higher bandwidth, in order to interface with the Astute demodulation stream.
decoder_modules/radio/src/demodulators/radio_module.h Found in China nb.init(NULL, 500.0 / 24000.0, 10.0); Upgrade 24000 to 48000. decoder_modules/radio/src/demodulators/dsb.h, decoder_modules/radio/src/demodulators/lsb.h, decoder_modules/radio/src/demodulators/usb.h Found in China getIFSampleRate() Handle, and then increment the return value to 12000. 24000. Changes completed. Compile directly according to the documentation.
You can now use the 24000 Mbps USB mode normally.
Usage
The components in the left-hand menu bar of SDRPP can be Module Manager Middle management. My preferred configuration is to use Two The recorders were used to separately record the baseband and audio signals. They could operate simultaneously without any issues. I also enabled... Rigctl Server, for coordination Gpredict Implement automatic Doppler control.
2. Automatic tracking with Gpredict
Gpredict It's a relatively useful satellite prediction software for Linux. I believe that, at least in terms of the user interface, it is better than. Orbitron It's too advanced. There are plenty of resources available online for configuring Gpredict; I won't go into detail here, but I will briefly outline the process.
- Create your own new QTH (location), and be sure to set the correct latitude and longitude.
- Update the ephemeris. Welcome! BI4PYM The teacher's AutoTLE
- If Stellaris always fails to update, try:
$HOME/.config/Gpredict/satdata/ Clear cache in China
- Add the satellites you want to track. Select the corresponding satellite to view details of its next transit and subsequent transit reports.
- GPredict Radio Control Can be connected
rigctld Implement Doppler control here, which can be linked with the previously configured SDRPP.
3. BPSK demodulation using sound modem
The main tools for performing AST (Automatic Speech Transcriber) decoding are:
The most convenient and stable way to use on Linux is Sound Modem. This version uses a fork of the HyacinthSat team's optimized version. soundmodem. Compilation can be performed directly according to README.md The steps involved are very convenient when performed in Linux.
soundmodem defaults to using audio input and opens a ZMQ port. (5555) Send telemetry data to the uploader and open an additional TCP port. (9985) Easily connects to other data parsers.
Audio usage in my system. pipewireTherefore, I used Helvum The software can directly control the audio pathways between applications, allowing the audio output from SDRPP to be fed into SoundModem.
4. Parsing telemetry data using asrtu-sndmdm-backend
If your goal isn't to use Astute, do not use this software.
This is a project I've been working on, which can automatically load data in telemetry format and parse the received data to create a table.
HyacinthSat/asrtu-sndmdm-backend
This tool can be used with the soundmodem mentioned earlier, or with Flowgraph. It connects to services on port 9985 of the TCP protocol.
This tool is specifically optimized for analyzing ASUSTek 223-byte telemetry data and can output complete telemetry packages from incomplete ones.
5. Uploading remote measurements using proxy_mmt
The official uploader is for proxy_mmt_guiWritten in C, but there are some compatibility bugs under Linux (possibly due to updates of dependency libraries). The executable files extracted from the LiveCD cannot be used because of dynamic linking issues. Here, I have re-implemented it. proxy_mmt_go To address the remote data upload issues in Linux. Its network behavior is proxy_mmt_gui Similarly, previously validated remote testing uploads are supported. The configuration file uses JSON and allows for... - c The parameters specify other configuration files. It removes TUI and includes functionality for logging output to a file. For specific uses and configurations, see. Project Homepage.
I do not recommend using this tool on Windows. proxy_mmt_gui It's good enough.