You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
This repository contains the end-to-end AIS processor developed at ESA–ESTEC for the Copernicus Sentinel-1 C&D mission.
End-to-end AIS Processor
The scriptprocess_s1_ais_raw.py performs the end-to-end AIS processing, starting from the AIS Instrument Source Packets (ISPs) to AIS message content. Raw AIS data is extracted and demodulated for all frequency channels and polarizations, including linear combinations at ±45 degrees.
Usage:
Run the main Python script with the following command structure:
<input_folder>: Path to the Sentinel-1 AIS SAFE folder containing the binary.dat file. <output_folder>: Path where the processed output files will be saved.
Example test cases:
The/tests/ folder contains two simulated AIS datasets in Sentinel-1 ISP format. The first dataset contains a short test with only 2 ISPs and should take a few seconds to run. The run the scripts on this test data, use:
The expected output can be found in the directory/tests/output. Note: for the specific testcase no detections are expected to be demodulated from the H-V input channel.
Outputs include:
Extracted ISP headers and de-interleaved raw data (.asc)
Summary report with statistics for each input stream
List of invalid message detections
ESA AIS Receiver Subfunction
Demodulation of each AIS channel is based on the ESA-patented algorithm,Receiving Method And Receiver For Timing And Frequency Offset Correction Of Continuous Phase Demodulation In Satellite-Based Automatic Identification Systems (PCT/EP2014/051273).The ESA AIS receiver subfunction takes multiple AIS channels (.asc files) as input demodulates them in parallel.
Compilation:
The source code implementing the ESA-patented AIS algorithm is located in the directory/src/ESA_AIS_receiver_code/ and can be compiled using theMakefile by running:
make
This will generate theAIS_receiver executable used by the Python script. Note: To run the executable within the Sentinel-1 AIS end-to-end processor (process_s1_ais_raw.py), the executable must be located in the main directory.
Standalone Execution:
The compiled ESA AIS receiver can also be run independently from the Python script for a single channel as follows:
[1] G. Colavolpe, T. Foggi, A. Ugolini, J. Lizarraga, S. Cioni, and A. Ginesi,A highly efficient receiver for satellite-based Automatic Identification System signal detection, 2014.
License
Licensed under the Apache License 2.0.
About
End-to-end AIS processor developed at ESA–ESTEC for the Copernicus Sentinel-1 C&D mission.