RS-tracker/rs92
Zilog80 c7bb3861ca RS92: merge SGP/NGP 2021-03-06 16:24:55 +01:00
..
README.md readme-update rs92, dfm06 2019-06-20 13:14:14 +02:00
almanac.sem.week0843.061440.txt GPS ephemeris 2015-10-29 17:04:40 +01:00
brdc2910.15n GPS ephemeris 2015-10-29 17:04:40 +01:00
gps_navdata.c GPS ephemeris 2015-10-29 17:04:40 +01:00
nav_gps.c nav_gps/rinex: buffer bugfix 2017-04-04 15:21:13 +02:00
nav_gps_vel.c rs92: SV health 2017-05-21 19:54:56 +02:00
nga18670.Z GPS ephemeris 2015-10-29 17:04:40 +01:00
rs92-almanac_gps_outage.jpg RS92: Almanac <-> GPS Outage 2015-09-08 14:07:00 +02:00
rs92.txt baud/bitrate confusion 2019-03-09 15:52:46 +01:00
rs92agp.c RS92: prn32next 2017-01-26 20:26:15 +01:00
rs92agp_ecc.c rs92agp w/ ecc 2018-05-23 22:43:00 +02:00
rs92ecc.c rs92,rs41,dfm,m10: select stereo channel 2018-06-16 23:44:45 +02:00
rs92gps.c rs92: read rinex linux/dos-txt 2017-04-05 16:53:01 +02:00
rs92gps_2dfix.c RS92: prn32next 2017-01-26 20:26:15 +01:00
rs92mod_ngp.c RS92: merge SGP/NGP 2021-03-06 16:24:55 +01:00

README.md

Radiosonde RS92

Tools for decoding RS92-SGP and RS92-AGP radiosonde signals. Based on information already available at
http://brmlab.cz/project/weathersonde/

Files

  • nav_gps_vel.c - include-file for rs92gps.c, rs92gps_2dfix.c, rs92ecc.c, rs92agp.c; RS/ecc/bch_ecc.c

  • rs92gps.c - RS92-SGP decoder (includes nav_gps_vel.c)

    Compile

    gcc rs92gps.c -lm -o rs92gps

    Usage

    ./rs92gps [options] <file>

    • file:
      1.1 <audio.wav>: FM-demodulated signal, recorded as wav audio file
      2.1 --rawin1 <raw_data>: raw data file created with option -r
      2.2 --rawin2 <digitalsondeXX.txt>: SM raw data
    • options:
      -i: invert signal/polarity
      -r: output raw data
      -a <almanacSEM>: use SEM almanac (GPS satellites, orbital data) (cf. https://celestrak.com/GPS/almanac/SEM/)
      -e <ephemperisRinex>: use RINEX ephemerides (GPS satellites, orbital data) (e.g. YYYY=2017: ftp://cddis.gsfc.nasa.gov/gnss/data/daily/2017/brdc/, brdcDDD0.YYn.Z, YY - year, DDD - day)
      -v: additional data/info
      --vel: output velocity (vH: horizontal, D: direction/heading, vV: vertical)
      --crc: output only frames with valid GPS-CRC

    ./rs92gps -h: list more options

    Examples

    The rs92-radiosonde transmits pseudorange GPS data and GPS time. To calculate its position, orbital data of the GPS satellites is needed. You can use either almanac data which is less accurate (but can be used +/- 3 days), or rinex ephemerides data (recommended) which is more accurate but should not be older than 2 hours. The recommended sample rate of the FM-demodulated signal is 48 kHz. The GPS-altitude is above ellipsoid (in europe, subtract 40-50m geoid height).

    • ./rs92gps -r 2015101_14Z.wav > raw.txt (raw output into raw.txt)
      ./rs92gps -v -e brdc3050.15n --rawin1 raw.txt
    • ./rs92gps -v -e brdc3050.15n 2015101_14Z.wav
    • ./rs92gps -v --vel2 -e brdc3050.15n 2015101_14Z.wav | tee log.txt (console output and into file log.txt)

    The FSK-demodulation is kept very simple. If the signal quality is low, a lowpass filter is recommended, e.g. (using sox)

    • sox 2015101_14Z.wav -t wav - lowpass 2600 2>/dev/null | ./rs92gps -v -e brdc3050.15n

    You can redirect live audio stream to the decoder via sox, e.g.

    • sox -t oss /dev/dsp -t wav - lowpass 2600 2>/dev/null | ./rs92gps -v --vel -e brdc3050.15n
    • sox -t oss /dev/dsp -t wav - lowpass 2600 2>/dev/null | stdbuf -oL ./rs92gps -v --vel2 -e brdc3050.15n | tee log.txt

    If the signal is inverted (depends on sdr-software and/or audio-card/settings), try option -i.

  • rs92gps_2dfix.c - test decoder for 2d-fix (if only 3 satellites are available). If the position altitude is known/given, a position can be calculated with 3 satellites.

    Compile

    gcc rs92gps_2dfix.c -lm -o rs92gps_2dfix

    Usage

    Same as rs92gps. Additional option --2dalt <alt>:
    <alt> is the (estimated) altitude of the radiosonde in meters above ellipsoid. Default (without --2dalt <alt>) is 0m.

  • rs92ecc.c - RS92-SGP decoder with Reed-Solomon error correction (includes nav_gps_vel.c, bch_ecc.c)

    Compile

    • gcc rs92ecc.c -lm -o rs92ecc    (copy RS/ecc/bch_ecc.c)

    Usage

    Same as rs92gps. Additional option --ecc.

  • rs92agp.c - RS92-AGP, RS92-BGP decoder

  • rs92.txt - infos

  • gps_navdata.c - test tool/example, compares orbital data. Includes nav_gps.c and compares almanac.sem.week0843.061440.txt, brdc2910.15n, nga18670.Z.