Skip to content

muccc/iridium-toolkit

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4d214d7 · May 30, 2018
May 11, 2018
Dec 28, 2015
Jun 30, 2016
Apr 19, 2016
May 30, 2018
Nov 6, 2016
Oct 4, 2015
Jan 18, 2015
Feb 6, 2017
May 11, 2018
May 13, 2018
May 11, 2018
May 13, 2018
May 30, 2018
May 11, 2018
May 12, 2018
Oct 15, 2014
May 7, 2015
May 26, 2016
Jun 19, 2016
Oct 5, 2014
Mar 19, 2017
Dec 27, 2014
Nov 24, 2016
May 12, 2018
May 26, 2016
Jul 16, 2016
May 30, 2018
May 30, 2018
Jun 19, 2016
Jul 13, 2016
May 11, 2018
May 30, 2018
Apr 16, 2016
May 30, 2018

Repository files navigation

Simple toolkit to decode Iridium signals

Build Status

Installing

User

python setup.py install

Development

virtualenv venv
source venv/bin/activate
pip install -r requirements.txt

Then run commands via a module path. e.g

python -m iridiumtk.bits_to_dfs my_data.voice.dfs my_data.bits
# or
python -m iridiumtk.graph_by_type my_data.bits
python -m iridiumtk.graph_voc my_data.bits

Example usage

Either extract some Iridium frames from the air or a file using gr-iridium (recommended) or use the legacy code located in the extractror-python directory if you don't want to install GNURadio (not recommended).

Is is assumed that the output of the extractor has been written to output.bits. Iridium frames can be decoded with

python2 iridium-parser.py output.bits

if you want to speed up that step you can install pypy and instead run

pypy iridium-parser.py output.bits

Frame extraction

See gr-iridium (recommended) or extractor-python (not recommended) on how to extract Iridium frames from raw data.

Voice Decoding

To listen to voice calls, you will need an AMBE decoder. There are two option:

The easier option is to use tnt's AMBE decoder. You can use the extracted decoder if you want to create bit correct output. There almost no audible difference between the two options. Make sure that either ir77_ambe_decode or ambe is in your PATH. Also select the installed one in play-iridium-ambe.

Make sure that the main folder of the toolkit is in your PATH variable: export PATH=$PATH:<this directory>

Steps to decode voice:

  • Decode your captured and demodulated bits using iridium-parser and put the result into a file: pypy iridium-parser.py output.bits > output.parsed
  • Use stats-voc.py to see streams of captured voice frames: ./stats-voc.py output.parsed
  • Click once left and once right to select an area. stats-voc.py will try do decode and play the selected samples using the play-iridium-ambe script.

Frame Format

Partial documentation: http://wiki.muc.ccc.de/iridium:toolkit#frame_format

Main Components

Parser

iridium-parser.py

Takes the demodulated bits and tries to parse them into a readable format.

Supports some different output formats (-o option).

mkkml

mkkml

Converts IRA frames to a kml file to be viewed in google earth.

Run as grep ^IRA output.parsed |perl mkkml tracks > output.kml to display satellite tracks

Run as grep ^IRA output.parsed |perl mkkml heatmap > output.kml to create a heatmap of sat positions and downlink positions

License

Unless otherwise noted in a file, everything here is (c) Sec & schneider and licensed under the 2-Clause BSD License