On Friday 12 at 03:59 UTC, a PSLV-CA launched from Satish Dawan Space Centre, India, to deliver Cartosat-2F, as well as some smaller satellites, into a Sun-synchronous polar orbit. Cartosat-2F is an Earth observation satellite for cartographic applications. The ride was shared by several Amateur satellites: FOX-1D, which is AMSAT-NA‘s third 1U FM cubesat, and the first one supporting the L/V mode (as well as the usual U/V mode); PicSat, a 3U cubesat from the Observatoire de Paris designed to observe the Beta Pictoris star system, which also carries a V/U FM transponder for Amateur use; CNUSail-1, a solar sail demonstrator 3U cubesat from Chungham National University, South Korea; CANYVAL-X 1 & 2, a system from Yonsei University, South Korea, consisting of a 1U and a 2U cubesat in formation flight which form a virtual telescope (with the light focusing unit in one cubesat and the detector in the other); KAUSAT-5, a 3U infrared Earth observation cubesat from Korea Aerospace University; and STEP Cube Lab, a 1U cubesat from Chosun University, Korea. There were also several non-Amateur small satellites in the launch.
On Saturday 13 morning, at 09:54:46 UTC, I did a recording of the 70cm Amateur satellite band to try to receive and decode all these satellites. I used a 7 element handheld yagi from Arrow and a LimeSDR directly connected to the antenna with a short coaxial cable. My location was approximately 40.5961º N, 3.6963º W, 700m ASL (locator IN80do). The recording is IQ at 4Msps, centred at 436.5MHz, and lasts 8 minutes and 4 seconds. Here I detail my analysis of the recording.
From the Amateur satellites in the PSLV 2018-004 launch, I only managed to hear the following:
- PicSat 435.525MHz 1k2 BPSK G3RUH AX.25
- STEP-1 437.485 FM CW
I have the following frequency information from IARU Sat Coord for the remaining satellites:
- CNUSail-1 437.100MHz 9k6 BPSK
- CANYVAL-X 1,2 437.200MHz 9k6 MSK
- KAUSAT-5 437.465MHz 9k6 FSK / 2.413GHz 115k2 MSK
- FOX-1D 145.880MHz U/V & L/V FM & DUV (uplinks 435.350MHz & 1267.350MHz)
Note that FOX-1D transmits in the 2m band, but the other satellites all transmit in the 70cm band. Apparently the CNUSail-1 team has been unable to receive signals from their satellite yet. I have no news about CANYVAL-X and KAUSAT-5.
Besides the satellites from the PSLV launch, the following Amateur satellites were heard in the recording, as they also turned out to be in the sky during the pass:
- TigriSat 435.000MHz 9k6 FSK AX.25
- AALTO-1 437.220MHz CW & 9k6 FSK AX.25
- VZLUSAT-I (QB50 CZ02) 437.240MHz 4k8 AF GMSK (NanoCom U482C)
- PRISM 437.250MHz CW
- ROBUSTA-1B 437.325MHz 1k2 AFSK AX.25 (undecodable)
Using gr-satellites and Direwolf, I managed to decode all these satellites except for ROBUSTA-1B. It seems that ROBUSTA-1B’s signal has fast fading, which probably causes some bit errors, preventing successful decodes.
Apart from these satellites, I also heard the two following “more mundane” signals: EA4GSX was transmitting LSB voice around 435.160MHz, calling CQ through AO-73. Apparently there were no takers. EA4GSX lives in San Sebastián de los Reyes, around 7km from my location, and given AO-73’s position, we were most likely pointing our antennas roughly toward each other, so no wonder he has a strong signal in the recording. ED4ZAE appears once at 438.275MHz transmitting its ID (just “ED4ZAE”) in FM CW. The CW is very fast and the audio signal is rather noisy, despite the signal being strong. Presumably, ED4ZAE-3 is the callsign for the APRS digipeater at Talavera de la Reina, but this runs on 144.800MHz. I’m not aware that they’re doing anything in 70cm, so this signal is quite curious.
The most intriguing thing in the recording is a signal that I could not identify. At 435.080MHz there is an AFSK signal at roughly 1183 baud which continuously transmits packets leaving small gaps. The frequency drift is consistent with a LEO satellite (+/-10kHz during the recording). I haven’t managed to find any satellite transmitting near this frequency, and the baudrate is also peculiar. I will take a more careful look at this signal over the next few days, but I’ll appreciate any information or suggestion regarding this signal (see near the end of the post for a waterfall image of the signal).
Update: Shortly after publishing this post, I also asked on Twitter if anyone knew something about this satellite. PE0SAT and K4KDR point out that JA0CAW has also heard and decoded this satellite. I’ve looked again at the signal and it turns out that I had completely goofed up the identification. It is 1k2 FSK AX.25 (not the usual AFSK). I got the baudrate correctly (1183 is close enough to 1k2), but tried to treat the signal as AFSK instead of noticing that it was FSK. The satellite is sending packets from INDUST-10 to INDUSR-10.
Below I give more detailed information for the signal and decodes. The 9k6 FSK AX.25 signals have been decoded with Direwolf, and the remaining signals have been decoded with gr-satellites.
PicSat is transmitting 1k2 BPSK AX.25 with G3RUH scrambling. I have added a decoder for PicSat to gr-satellites. I used the QB50 GR01 decoder as a base, but tweaked the bandwidths of the polyphase and Costas loops.
I decoded the following beacon with gr-satellites, and then used Direwolf to decode the AX.25 header.
U frame UI: p/f=0, No layer 3 protocol implemented., length = 130 dest PICSAT 0 c/r=1 res=3 last=0 source PICSAT 2 c/r=0 res=3 last=1 000: a0 92 86 a6 82 a8 e0 a0 92 86 a6 82 a8 65 03 f0 .............e.. 010: 09 01 d2 d6 00 6c 2a ce 01 0c de c4 00 00 00 00 .....l*......... 020: 00 00 00 00 00 00 00 00 00 00 00 00 02 76 02 77 .............v.w 030: 08 c3 06 81 05 15 0d 04 05 77 09 c0 00 03 00 03 .........w...... 040: 03 20 21 00 00 00 03 00 02 03 18 00 00 00 00 00 . !............. 050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3b ...............; 060: 5a 40 36 bc 84 bc bd 3d e2 dc 2b 00 00 00 00 00 Z@6....=..+..... 070: 01 96 51 00 00 01 7d 51 70 99 56 00 40 00 00 00 ..Q...}Qp.V.@... 080: 2a 10 *.
I also sent the beacon to PicSat’s website, which shows the corresponding telemetry values.
STEP-1 is transmitting FM CW, although it is also capable of 9k6 MSK according to IARU SatCoord. The spectrum of the FM CW is rather interesting.
The contents of the beacon are as follows:
STEP1 1.97000096
The following shows a beacon from TigriSat, decoded with Direwolf.
U frame UI: p/f=0, No layer 3 protocol implemented., length = 168 dest CQ 0 c/r=0 res=3 last=0 source HNATIG 0 c/r=1 res=3 last=1 000: 86 a2 40 40 40 40 60 90 9c 82 a8 92 8e e1 03 f0 ..@@@@`......... 010: d1 a7 1f 00 00 00 22 04 ff 07 02 5f 03 ff 00 03 ......"...._.... 020: 03 ff 03 ff 00 03 03 ff 03 ff 00 04 03 ff 03 ff ................ 030: 00 03 02 5e 03 ff 00 04 02 5e 02 5e 03 14 02 5c ...^.....^.^...\ 040: 02 5d 02 5c 02 5c 02 5e 02 5e 02 5d 02 5c 03 05 .].\.\.^.^.].\.. 050: 03 17 02 5d 02 5d 00 03 03 ff c0 00 03 ff 03 79 ...].].........y 060: 02 84 00 c3 01 84 02 22 02 22 02 21 02 22 02 23 .......".".!.".# 070: 02 22 02 22 02 21 02 21 02 22 c0 00 00 00 00 00 .".".!.!."...... 080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0a0: 00 00 00 00 00 00 00 00 ........ HNATIG>CQ:TIGRISAT ABACUS BEACON U frame UI: p/f=0, No layer 3 protocol implemented., length = 38 dest CQ 0 c/r=0 res=3 last=0 source HNATIG 0 c/r=1 res=3 last=1 000: 86 a2 40 40 40 40 60 90 9c 82 a8 92 8e e1 03 f0 ..@@@@`......... 010: 54 49 47 52 49 53 41 54 20 41 42 41 43 55 53 20 TIGRISAT ABACUS 020: 42 45 41 43 4f 4e BEACON
AALTO-1 is interesting, since it first transmits its callsign using CW (with a peculiar spectrum) and then transmits a 9k6 FSK AX.25 packet.
The AX.25 packet was decoded by Direwolf as follows:
U frame UI: p/f=0, No layer 3 protocol implemented., length = 148 dest OH2AGS 0 c/r=0 res=0 last=0 source OH2A1S 11 c/r=0 res=0 last=1 000: 9e 90 64 82 8e a6 00 9e 90 64 82 62 a6 17 03 f0 ..d......d.b.... 010: 91 d7 59 5a 9f af 0a 00 04 e0 4a 02 00 ff ff 2c ..YZ......J...., 020: 48 18 00 56 0e e5 18 02 01 00 00 00 0e 43 0d 00 H..V.........C.. 030: 01 00 00 01 9d 00 00 00 00 00 00 03 00 00 12 00 ................ 040: 35 00 04 00 02 03 06 03 57 03 94 03 76 02 9b 00 5.......W...v... 050: db 00 1b 02 51 00 01 00 4a 03 9b 00 04 00 12 03 ....Q...J....... 060: fe 01 80 0e 00 00 00 00 00 00 20 70 00 00 00 00 .......... p.... 070: 00 00 00 00 00 2f ff ff 00 0a af b9 01 72 00 00 ...../.......r.. 080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 090: 00 00 00 00 ....
VZLUSAT-1 uses a NanoCom U482C transceiver, so it is supported by gr-satellites. It seems that it always transmits a short packet composed of the CSP 32bit header and the byte 0x00
, and then a long packet containing beacon data.
The decode of both of these packets is the following:
pdu_length = 5 contents = 0000: 00 01 ac 8a 00 pdu_length = 84 contents = 0000: 00 4a ac 8a 00 05 56 7e ff 92 eb b0 00 05 56 48 0010: ff 9a ef 54 00 05 55 b2 ff 97 ef ae 00 05 54 86 0020: ff 94 ed c4 00 05 54 37 ff 95 ef 54 00 05 54 00 0030: ff 94 ef 28 00 05 53 6b ff 99 ef 28 00 05 53 1e 0040: ff 98 f0 06 00 05 52 e7 ff 9c ed 40 00 05 52 52 0050: ff 91 ed f0
PRISM is transmitting CW telemetry almost continuously.
ROBUSTA-1B transmits 3 packets during the recording. I didn’t manage to decode any using Direwolf. Some of them are strong, but present fast fading.
Here we have the two terrestrial signals, EA4GSX calling CQ through AO-73, and ED4ZAE sending its ID in FM CW. ED4ZAE only sent its ID once during the recording. Perhaps it transmits every 10 minutes.
Finally, this is the unidentified satellite. As you can see in the waterfall, it transmits continuously, leaving small gaps between packets.
The recording used in this post can be downloaded here (7.2GB). Some of the excerpts analysed here have been added to my satellite-recordings repository. Update 2022-04-02: the recording is now hosted in Zenodo, in the dataset “RF recording of PSLV 2018-004 launch cubesats“.
Hello Daniel
I just connected wav file source after downloading the 7Gb file to frequency sink, then I got the following error
“self.blocks_wavfile_source_1 = blocks.wavfile_source(‘/media/shakthivel/dragon/capstone/pslv-436500kHz-2018-01-13-095446.wav’, True)
File “/usr/lib/python3/dist-packages/gnuradio/blocks/blocks_swig1.py”, line 404, in make
return _blocks_swig1.wavfile_source_make(filename, repeat)
RuntimeError: WAV file does not contain any samples”
I couldn’t rectify this as even audacity don’t show anything when opened. Any kind of help is appreciated.
Thanks and Regards
It seems like a download issue. Have you checked that the MD5 of the downloaded file matches the one indicated on Zenodo?
I’ve now tried to open this WAV file and it seems to contain a malformed header. You can skip the header and treat it as an complex int16 IQ file.