goestools icon indicating copy to clipboard operation
goestools copied to clipboard

📡 LRIT demodulator from weather satellite GEO-KOMPSAT-2A (GK-2A).

goestools

Build Status

This is a modified version of goesrecv (originally by Pieter Noordhuis) for the LRIT downlink transmitted by GEO-KOMPSAT-2A (GK-2A) at 128.2°E.

The rest of the xRIT receiver project for GK-2A can be found in the xrit-rx repo. Older code for the now retired COMS-1 satellite can be found here.

Building

Install dependencies for librtlsdr and goesrecv:

sudo apt-get update
sudo apt-get install -y build-essential pkg-config cmake git zlib1g-dev libairspy-dev libusb-1.0-0-dev

Build librtlsdr from source:

# Download, compile, and install librtlsdr
git clone https://github.com/steve-m/librtlsdr.git
cd librtlsdr
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINSTALL_UDEV_RULES=ON ..
sudo make -j2 install

# Load udev rules and blacklist the DVB driver shipped with the OS
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig
echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf

sudo reboot

Build goesrecv from source:

git clone --recursive https://github.com/sam210723/goestools
cd goestools
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make
sudo make install
cd ..
cd ..
cp goestools/etc/goesrecv.conf goesrecv.conf

Running

To start goesrecv in verbose mode reporting statistics every second, with the config file located in the current directory, use the following command:

goesrecv -v -i 1 -c goesrecv.conf

This is an example of typical goesrecv console output while receiving GK-2A LRIT:

[monitor] gain: 61.04, freq:  1200.1, omega: 8.000, vit(avg):   98, rs(sum):    0, packets:  8, drops:  0 
[monitor] gain: 61.04, freq:  1187.5, omega: 8.000, vit(avg):  104, rs(sum):    0, packets:  8, drops:  0 
[monitor] gain: 61.04, freq:  1195.7, omega: 8.000, vit(avg):  108, rs(sum):    0, packets:  7, drops:  0 
[monitor] gain: 61.04, freq:  1180.5, omega: 8.000, vit(avg):   99, rs(sum):    0, packets:  8, drops:  0 

Run goesrecv --help for a full description of each option.

Changes