[JAMX01 Current Operational Status]
435.075 MHz = BPSK 9600
435.075 MHz = SSDV B
435.500 MHz = SSDV A
435.500 MHz = Also serves as the downlink for FM voice repeater.
SSDV imaging has become a hot topic at Libre_Space, and beautiful kaleidoscope-like images
are indeed being obtained. According to the information, Lilacsat-soundmodem-CLi.zip and
ASRTU-1-EN.exe appear to be required. However, ASRTU-1.exe is flagged as a virus on Windows,
preventing it from being downloaded. So, I am currently exploring other methods.
The following visualization application was developed. "ASRTU_Series_Receiver_Setup_1.5.4"
[Initial Concept] Windows + Radioconda + gr-satellites v5.9.0
[Install radioconda-2025.03.14-Windows-x86_64]
[Install gr_satellites v5.9.0]
> Open Windows - Start Menu
> Find "Anaconda Prompt"
> Right click on "Anaconda Prompt"
> Select "Run as administrator"
> conda install -c conda-forge gnuradio-satellites=5.9.0
> C:\ProgramData\radioconda>gr_satellites --version
> gr_satellites v5.9.0
[Excerpt from ChatGPT's response]
How can I convert a WAV recording of the SatNOGS JAMX01 satellite's SSDV signal into
a JPG image using gr-satellites?
If you can capture the JAMX01 SSDV signal as a WAV file via SatNOGS, the best approach is
to first extract the 223-byte JAMX01's frames from WAV file using "gr-satellites", and
then convert the proprietary JAMX01 format into the standard SSDV for conversion into
a JPEG image.
Regarding JAMX01, recent analysis has reported that a standard SSDV packet can be obtained
by taking 223-byte CCSDS telemetry packet, removing the initial 5-byte CCSDS Primary Header,
and prepending the sequence "55 + 4-byte callsign + 66". In fact, they have successfully
reconstructed images from SatNOGS captures. First, they extract frames from the WAV file.
The issue here is that v5.9.0 cannot recognize JAMX01 as a satellite. Therefore, you need to
provide the configuration for JAMX01 to gr_satellites. Since there is no satellite definition
for JAMX01 in v5.9.0, you cannot simply run "gr_satellites JAMX01...". First, you need to
demodulate the signal from WAV file and extract the 223-byte JAMX01 packets.
SatNOGS, #14907288
Duration:217 seconds
Stream #0:
Audio samplr size:16 bit
Bit rate:768 kbps
Sample rate:48.000 kHz
Channels:1
In fact, the current JAMX01 analysis has confirmed that imaging is possible using
the following transformation.
SatNOGS WAV
:
gr_satellites
:
223-byte CCSDS telemetry packet
:
Remove the leading 5 bytes (CCSDS Primary Header).
:
0x55 + 4-byte callsign + 0x66, Add this to the beginning.
: -> See [note]
Standard SSDV packet
:
SSDV decoder
:
JPEG
[note] JAMX01 uses a CRC initial value of "0x6AAAC1C5"
[ASRTU_Series_Receiver_Setup_1.5.4]
JAMX01 SSDV, #14907288
[Goal]
Using the JAMX01 satellite SSDV signal recorded in a WAV file, the processing
performed by "ASRTU Series Receiver v1.5.4" is replicated to ultimately reconstruct
the identical 640×480/ID0 JPEG image using gr-satellites 5.9.0 within a GNU Radio
v3.10.12.0 environment.
In other words, we compare two routes:
: -> ASRTU v1.5.4 -> SSDV -> JPEG
Source WAV ----:
: -> GNU Radio -> Homemade demodulator GRC -> SSDV -> JPEG
Based on the fact that SSDV images can be obtained from this source signal using
ASRTU, the goal is to independently generate the same images from the same source
signal within GNU Radio as well. In other words,
ASRTU v1.5.4 = Standard (guideline) that provides the correct answer.
GNU Radio side = Replicate that processing using a custom GRC flowgraph.
The ultimate goal is to establish this "GNU Radio ー> Viterbi ー> SSDV ー> JPEG"
pipeline and ensure that the JPEG generated from ASRTU matches the one generated
from GNU Radio.
Process: Source WAV ー> GNU Radio ー> Signal extraction ー> Demodulation
ー> Symbol synchronization ー> Soft bits ー> Viterbi ー> FEC #1
ー> 223-byte frame ー> SSDV packet ー> JPEG 640×480/ID0
So far, I have sent over 120 screenshots to ChatGPT, and I am bringing the
project closer to completion while exchanging information on the experimental
approach and specific results. I had heard about it, but the latest AI is amazing.
It feels as though there is a brilliant, clear-thinking individual on the other
side of PC, instantly providing accurate analysis and guidance every time.
I am interested in what kind of algorithm it uses.
(in progress)