Automate Recording of Low Earth Orbit NOAA Weather Satellites
Go to file
cyber-atomus 211ceca1cd Woah! Such changes! Such good! 2016-11-16 20:22:52 +01:00
opt created blank opt directory to contain 3rd party GPL software 2014-09-30 16:55:23 +00:00
spectrum Added pow2dtfa helper script for rtl_power 2014-09-30 16:49:15 +00:00
tles Updated wrong file. This should work now. 2016-04-12 11:15:31 +02:00
.gitignore add multicapture.py to capture other satelltes as well as NOAA, 2014-09-28 18:14:34 +00:00
LICENSE initial commit 2014-09-26 00:45:13 -04:00
README.md Update README.md 2016-03-11 22:37:09 +01:00
dotpredict-predict.tle initial commit 2014-09-26 00:45:13 -04:00
multicapture.py more experimentation 2014-11-04 03:26:29 +00:00
noaacapture.py Woah! Such changes! Such good! 2016-11-16 20:22:52 +01:00
pypredict.py Include basic elevation processing. This hopefully would prevent white noise recordings. 2016-11-09 13:13:37 +01:00
update-keps.sh Updated, should work IF predict is in /usr/bin/. Otherwise please change accordingly. 2016-04-12 11:14:00 +02:00

README.md

rtlsdr-automated-wxsat-capture

This is a fork of dr. Paul Brewer awesome program.

Automate Recording of Low Earth Orbit NOAA Weather Satellites

These are some automation scripts dr. Paul Brewer done in python for weather satellite hobbyist use.

I just added few options adapted it to recent tools.

License: GPLv2 or any later version

assumptions: Linux-based computer, rtl-sdr usb dongle, stationary antenna, experienced python user

goal: record wav files for later processing, postprocess wav file and generate image

prerequistes: working rtl-sdr, predict (text based, not gpredict) setup with correct ground station coordinates, sox

NO WARRANTY: ALL USE IS AT THE RISK OF THE USER. These are scripts I use for hobbyist purposes. There may be pre-requisites or system configuration differences which you will need to resolve in order to make use of these scripts in your project. To do so requires patience and and, quite often, previous experience programming python and/or maintaining Linux-based rtl-sdr software.

This program also uses software which has no clear licensing information (wx).

##FILES

###LICENSE General Public License version 2.0, or any later version

###BASIC usage info You'll need to install predict and wxtoimg packages. For installing predict please follow your distro instructions: for example in Debian:

sudo apt-get install predict

or in openSuSE:

sudo zypper in predict

or use package manager provided with your distro. As for wxtoimg I strongly recomment grabbing .tar.gz package and unpacking it to your /usr/local/ dir. Packages are provided on wxtoimg website.

Next step is to dry-run predict - it should create files which you'll need to replace, edit location info (used in wxmap), and run update-kepplers.sh. More info below.

###predict TLEs These are in tles/ folder - modification of PREDICT's files to provide orbit data for weather satellites NOAA-15, NOAA-18, NOAA-19 to get coverage of missing satellites into predict's default config. Please edit qth to reflect your station position. Example values are provided.

Copy as follows:

cp tles/predict.qth ~/.predict/predict.qth
cp tles/predict.tle ~/.predict/predict.tle
cp tles/predict.db ~/.predict/predict.db

edit qth:

nano ~/.predict/predict.qth

or run predict, press G to change Ground Station Location.

###noaacapture.py This is the main python script. It will calculate the time of the next pass for recording. It expects to call rtl_fm to do the recording and sox to convert the file to .wav. It can create spectrogram of the pass using sox (not the RTL_POWER!). Station options are read from qth file now.

####A few words about the options.

  • satellites - this is a list of satellites you want to capture, this needs to be the same name as in TLE file.
  • freqs - frequencies of centre of the APT signal.
  • dongleGain - set this to the desired gain of the dongle, leave "0" if you want AGC.
  • dongleShift - set this to the dongle PPM shift, can be negative.
  • dongleIndex - set this to the index of your dongle, of you have only one - leave it unchanged.
  • sample - "sample rate", option "-s" for rtl_fm - this is the width of the recorded signal. Please keep in mind that APT is 34kHz but you should include few kHz for doppler shift. This will change when the doppler tool is used.
  • wavrate - sample rate of the WAV file used to generate JPEGs. Should be 11025.

####Directories: directories used for misc. files

  • recdir - this is a directory containing RAW and WAV files.
  • specdir - this is a directory holding spectrogram files created from the pass (PNG).
  • imgdir - where to put output JPG images.
  • mapDir - directory for autogenerated maps (these are generated using wxmap using values from predict.qth).

####Misc options, not all are used right now

  • wxAddOverlay - whether create overlay maps on all pictures. It slows down image generation.
  • wxEnhHVC - should program do HVC image. Possible values are "yes", "y" and "1" for YES, any other value will not create HVC image.
  • wxEnhHVCT - should program do HVCT image. Possible values are "yes", "y" and "1" for YES, any other value will not create HVCT image.
  • createSpectro - should program create spectrogram files for the pass? Useful for debugging images. Possible values are "yes", "y" and "1" for YES, any other value will not create spectro.
  • runDoppler - should we do the doppler shift using "doppler" tool? Not needed for wxtoimg as it seems it does the correction itself.

###pypredict.py This is a short python module for extracting the AOS/LOS times of the next pass for a specified satellite. It calls predict -p and extracts the times from the first and last lines.

###update-keps.sh This is a short shell script to update the keps, which are orbital parameters needed by the predict program. It is mostly copied from the PREDICT man page. PREDICT was written by John Magliacane, KD2BD and released under the GPL license.