1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-25 20:22:10 -05:00
sdrangel/plugins/channelrx/demodais
2022-02-13 00:57:33 +01:00
..
aisdemod.cpp Make rollup state a serializable object so that it can be dumped in JSON format for the API. Prerequisite tp #1050 2022-01-09 05:27:12 +01:00
aisdemod.h Channel API rework: make it inherit from QObject and removed QObject inheritance from DSP interfaces. Fixes #1147 2022-02-13 00:57:33 +01:00
aisdemodbaseband.cpp Demod Analyzer: fixed sample rate handling. Fixes #931 2021-06-29 21:47:27 +02:00
aisdemodbaseband.h GLScope redesign: ScopeVis is not created in the GUI anymore 2021-05-31 15:56:45 +02:00
aisdemodgui.cpp Make rollup state a serializable object so that it can be dumped in JSON format for the API. Prerequisite tp #1050 2022-01-09 05:27:12 +01:00
aisdemodgui.h Make rollup state a serializable object so that it can be dumped in JSON format for the API. Prerequisite tp #1050 2022-01-09 05:27:12 +01:00
aisdemodgui.ui Merge CSV code in to a single file. 2021-11-04 12:33:43 +00:00
aisdemodplugin.cpp Updated versions and changelogs 2022-02-07 21:47:25 +01:00
aisdemodplugin.h
aisdemodsettings.cpp Make rollup state a serializable object so that it can be dumped in JSON format for the API. Prerequisite tp #1050 2022-01-09 05:27:12 +01:00
aisdemodsettings.h Make rollup state a serializable object so that it can be dumped in JSON format for the API. Prerequisite tp #1050 2022-01-09 05:27:12 +01:00
aisdemodsink.cpp AIS mod and demod, IEEE 802.15.4 mod: scope and spectrum feed optimization 2021-07-16 02:40:44 +02:00
aisdemodsink.h AIS mod and demod, IEEE 802.15.4 mod: scope and spectrum feed optimization 2021-07-16 02:40:44 +02:00
aisdemodwebapiadapter.cpp
aisdemodwebapiadapter.h
CMakeLists.txt Install debug symbols on Windows for debug builds 2022-02-06 12:56:58 +00:00
readme.md AIS updates 2022-02-04 17:06:00 +00:00

AIS demodulator plugin

Introduction

This plugin can be used to demodulate AIS (Automatic Identification System) messages. AIS can be used to track ships and other marine vessels at sea, that are equiped with AIS transponders. It is also used by shore-side infrastructure known as base stations, aids-to-navigation such as buoys and some search and rescue aircraft.

AIS is broadcast globally on 25kHz channels at 161.975MHz and 162.025MHz, with other frequencies being used regionally or for special purposes. This demodulator is single channel, so if you wish to decode multiple channels simulatenously, you will need to add one AIS demodulator per frequency. As most AIS messages are on 161.975MHz and 162.025MHz, you can set the center frequency as 162MHz, with a sample rate of 100k+Sa/s, with one AIS demod with an input offset -25kHz and another at +25kHz.

The AIS demodulators can send received messages to the AIS feature, which displays a table combining the latest data for vessels amalgamated from multiple demodulators and sends their positiosn to the Map Feature for display in 2D or 3D.

AIS uses GMSK/FM modulation at a baud rate of 9,600, with a modulation index of 0.5. The demodulator works at a sample rate of 57,600Sa/s.

Received AIS messages can be NMEA encoded and forwarded via UDP to 3rd party applications.

The AIS specification is ITU-R M.1371-5: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf

Interface

AIS Demodulator plugin GUI

1: Frequency shift from center frequency of reception

Use the wheels to adjust the frequency shift in Hz from the center frequency of reception. Left click on a digit sets the cursor position at this digit. Right click on a digit sets all digits on the right to zero. This effectively floors value at the digit position. Wheels are moved with the mousewheel while pointing at the wheel or by selecting the wheel with the left mouse click and using the keyboard arrows. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2.

2: Channel power

Average total power in dB relative to a +/- 1.0 amplitude signal received in the pass band.

3: Level meter in dB

  • top bar (green): average value
  • bottom bar (blue green): instantaneous peak value
  • tip vertical bar (bright green): peak hold value

4: BW - RF Bandwidth

This specifies the bandwidth of a LPF that is applied to the input signal to limit the RF bandwidth. While AIS channels are 25kHz wide, more messages seem to be able to be received if this is around 16kHz.

5: Dev - Frequency deviation

Adjusts the expected frequency deviation in 0.1 kHz steps from 1 to 6 kHz. Typical values are 4.8 kHz, corresponding to a modulation index of 0.5 at 9,600 baud.

6: TH - Correlation Threshold

The correlation threshold between the received signal and the preamble (training sequence). A lower value should be able to demodulate weaker signals, but increases processor usage and may result in invalid messages if too low.

7: Find

Entering a regular expression in the Find field displays only messages where the source MMSI matches the given regular expression.

8: Clear Messages from table

Pressing this button clears all messages from the table.

9: UDP

When checked, received messages are forwarded to the specified UDP address (12) and port (13).

10: UDP address

IP address of the host to forward received messages to via UDP.

11: UDP port

UDP port number to forward received messages to.

12: UDP format

The format the messages are forwared via UDP in. This can be either binary (which is useful for SDRangel's PERTester feature) or NMEA (which is useful for 3rd party applications such as OpenCPN).

13: Start/stop Logging Messages to .csv File

When checked, writes all received AIS messages to a .csv file.

14: .csv Log Filename

Click to specify the name of the .csv file which received AIS messages are logged to.

15: Read Data from .csv File

Click to specify a previously written AIS .csv log file, which is read and used to update the table.

Received Messages Table

The received messages table displays information about each AIS message received. Only messages with valid CRCs are displayed.

AIS Demodulator plugin GUI

  • Date - The date the message was received.
  • Time - The time the message was received.
  • MMSI - The Maritime Mobile Service Identity number of the source of the message. Double clicking on this column will search for the MMSI on https://www.vesselfinder.com/
  • Type - The type of AIS message. E.g. Position report, Base station report or Ship static and voyage related data.
  • Data - A textual decode of the message displaying the most interesting fields.
  • NMEA - The message in NMEA format.
  • Hex - The message in hex format.

Right clicking on the table header allows you to select which columns to show. The columns can be reorderd by left clicking and dragging the column header. Right clicking on an item in the table allows you to copy the value to the clipboard.