Outernet LDPC code revisited

I have been preparing the slides for my future talk about reverse-engineering Outernet at FAQin 2018. While doing this, I have been re-reading some of the material about the work done on LDPC code and FEC in Outernet by George Hopkins in January 2017. One of the things I didn’t do back then was to read carefully the LDPC decoding function implemented by George.

In my post I explained that the LDPC code used in Outernet followed RFC5170, and I wondered whether it used the staircase scheme or the triangle scheme. I also commented that erasure decoding with an LDPC code (or any other linear code, actually) was mathematically equivalent to solving a linear system where the unknowns correspond to the erased symbols. I observed that the decoding function looked very different from this mathematical procedure, but should do more or less the same thing. Now I have read the decoder implementation carefully and I have the answer to both questions.

STARcon 2018 announcement

English translation below.

Me tomo la libertad de usar este blog para anunciar un congreso que estoy organizando, junto con otros Radioaficionados Españoles. Como se puede ver en la descripción del congreso, la temática del congreso está bastante en línea con el material sobre el que suelo tratar en este blog, así como los trabajos de otras personas a las cuales sigo.

Anuncio del congreso STARcon 2018

Somos un grupo de entusiastas y profesionales de las telecomunicaciones que, ante la falta de una conferencia orientada a los aspectos científicos y técnicos de la radioafición en nuestro país, ha decidido organizarse para dar vida al Scientific & Technical Amateur Radio Congress (STARcon): el primer congreso sobre radio científica y técnica en España.

Desde la organización de STARcon buscamos aficionados, estudiantes y profesionales, apasionados en general que deseen formar parte de esta primera edición, como asistentes o dando una charla. Temas como experimentos mediante radio, filosofía DIY, SDR, open source, seguridad, radioastronomía amateur y diseño de equipos de comunicaciones son bienvenidos.

El congreso tendrá lugar el sábado 21 y domingo 22 de abril de 2018 en el Centro de Empresas e Innovación de Murcia (CEEIM), con un aforo total de 150 personas. Puedes encontrar más información, call for papers y el formulario de registro en la página web del evento.

English translation

I take the liberty to use this blog to announce a conference which I am organizing, together with other Spanish Amateur radio operators. As one can see in the conference description (in Spanish), the topics of the conference are in line with the material I usually deal with in this blog, as well as the work of other people I follow.

STARcon 2018 conference announcement

We are a group of telecommunications enthusiasts and professionals who, due to the lack of a conference oriented to the scientific and technical aspects of Amateur radio in our country, has decided to organise and create the Scientific & Technical Amateur Radio Congress (STARcon): the first conference about scientific and technical radio in Spain.

The organization of STARcon is looking for amateurs, students and professionals, passionate people in general, who wish to form part of this first edition, either as attendants or giving a talk. Topics such as radio experiments, DIY philosophy, SDR, open source, security, radio astronomy and communications equipment design are welcome.

The conference will take place on Saturday 21 and Sunday 22 April 2018 in the Centro de Empresas e Innovación de Murcia (CEEIM), with a capacity for 150 people. You can find more information, the call for papers and the registration form in the event’s web page.

Studying IONEX files

Many Amateur radio operators are familiar with the effects of the ionosphere at HF frequencies. However, the effects of the ionosphere are also noticeable at much higher frequencies. In particular, at L band, which is used by most satellite navigation systems. Thus, GNSS receivers can be used to measure ionospheric parameters. These measurements are usually distributed as TEC maps in IONEX files.

Here I describe some basic ionospheric physics, how a GNSS receiver can measure the ionosphere, and give some Python code to study TEC maps in IONEX files. Then I use TEC maps to study the CODAR ionospheric observations I did in December last year.

Mystery 9k6 BPSK satellite

On January 28th, Tetsu JA0CAW reported on Twitter his reception of an unknown satellite. The time of reception was 2018-01-28 12:15 UTC and the frequency was around 435.525MHz. The time and frequency coincided with a PicSat pass over JA0CAW’s station in Japan. He provided an IQ recording of the signal. So far, the satellite that originated the signal has not been identified. Several people have tried to listen to this satellite again, but I haven’t seen any other reports. Doppler identification has not been attempted and it is perhaps unfeasible with the few packets in JA0CAW’s recording.

I have looked at the recording to try to identify the satellite. The modulation is easily seen to be BPSK at 9600baud. The signal presents a lot of fading, so demodulation without bit errors is difficult. There seems to be a scrambler in use. I’ve tried descrambling with G3RUH and CCSDS without any luck. I’ve also failed to identify a preamble or frame sync marker.

To look at the packets in more detail, I’ve resorted to do demodulation as postprocessing in a Jupyter Python notebook. The resulting notebook is here. It is written with detailed comments, so it can be of interest to anyone who wants to learn these techniques.

The only interesting piece of information that I’ve been able to extract from my analysis is that the bits in the packets present strong self-correlations at lags of 1920 bits (and multiples). This is 240 bytes, but I have no clue of what to make of this.

As always, I would be grateful if anyone can provide any additional information about this unknown satellite.

A first look at TY-2

TY-2 is a 6U Chinese cubesat that was launched on January 19th in a CZ-11 rocket from Jiuquan, together with several other small satellites, including TY-6. According to the IARU Satcoord, TY-2 and TY-6 transmit 9k6 GMSK telemetry in the 70cm Amateur satellite band (435.350MHz for TY-2 and 436.100MHz for TY-6).

Several Amateurs such as K4KDR and PD0OXW have tried to decode the packets from TY-2 and TY-6 without success. I have taken a look to an IQ recording of TY-2 that Scott K4KDR has sent me and at least I’ve managed to do something (though not much) with it. Here I describe my findings.

PicSat telemetry parser added to gr-satellites

PicSat is a recently launched cubesat from the Observatoire de Paris. It is designed to observe the Beta Pictoris star system, using a telescope based on an optical fibre. It transmits telemetry in the 70cm Amateur satellite band and it also carries a V/U FM Amateur transponder as a secondary payload. In my previous post, I decoded the 1k2 BPSK + G3RUH AX.25 packets from PicSat, and added a decoder to gr-satellites. Now I have added a telemetry parser to the gr-satellites decoder.

Decoding satellites from the PSLV 2018-004 launch

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.

Saving and plotting bandscope data with the Hermes-Lite 2

The Hermes-Lite 2 and other SDR transceivers based on the openHPSDR protocol support sending bandscope data from the SDR to the PC. The bandscope data consists in fixed-length chunks of samples taken directly from the ADC. Since the ADC in a DDC receiver runs at a high sampling rate, by taking the Fourier transform of these chunks, the bandscope data can be used to display a spectrum or waterfall of a huge frequency range, covering all the HF bands. In the case of the Hermes-Lite 2, the ADC samples at 76.8MHz, so the bandscope data gives us a spectrum from 0 to 38.4MHz.

Note that the the chunks of the bandscope data are not contiguous. Streaming samples at 76.8MHz from the ADC into the PC continuously would be a lot of data. Thus, a chunk is taken and stored in the FPGA and then sent to the PC slowly. Therefore, bandscope data is only intended for wideband spectral analysis and probably has very little use outside of that.

By recording and processing the bandscope data, one can produce plots similar to the full day waterfall from the University of Twente WebSDR. Here I describe my first tests using Python.

Interfacing the Hardrock-50 HF amplifier to the Hermes-Lite 2

Since several months ago, I’m operating my HF station “remotely” from another room in the house. The station consists of a Hermes-Lite 2.0 beta2, a Hardrock-50 HF amplifier, and an outdoor MFJ-993BRT antenna tuner. My plan is to operate all of this from a laptop with ethernet connection from anywhere in the house.

The Hermes-Lite poses no problem, since it is always controlled by ethernet only. However, I need to be able to operate the Hardrock amplifier remotely: I need to change the bands, which is usually done via buttons on its front panel, and to check the output power and SWR, if only to be sure that the antenna tuner has found a tuning solution. This is usually done by looking at the Hardrock front panel display or by looking at a Diamond SX20C power/SWR meter that I also have installed in the shack.

I have taken advantage of the holidays to finish making all of this controllable by ethernet. Here I describe my solution.