rpitx icon indicating copy to clipboard operation
rpitx copied to clipboard

AIS (GMSK modulation)

Open sandman7920 opened this issue 7 years ago • 10 comments

Is it possible to use rpitx for transmitting recorded AIS wav file?

An AIS transceiver normally works in an autonomous and continuous mode, regardless of whether it is operating in the open seas or coastal or inland areas. AIS transceivers use two different frequencies, VHF maritime channels 87B (161.975 MHz) and 88B (162.025 MHz), and use 9.6 kbit/s Gaussian minimum shift keying (GMSK) modulation over 25 kHz channels using the High-level Data Link Control (HDLC) packet protocol. Although only one radio channel is necessary, each station transmits and receives over two radio channels to avoid interference problems, and to allow channels to be shifted without communications loss from other ships. The system provides for automatic contention resolution between itself and other stations, and communications integrity is maintained even in overload situations. https://en.wikipedia.org/wiki/Automatic_identification_system

RF characteristics AIS uses the globally allocated Marine Band channels 87 & 88.

AIS uses the high side of the duplex from two VHF radio "channels" (87B) and (88B)

Channel A 161.975 MHz (87B) Channel B 162.025 MHz (88B) The simplex channels 87A and 88A use a lower frequency so they are not affected by this allocation and can still be used as designated for the maritime mobile frequency plan.

Most AIS transmissions are composed of bursts of several messages. In these cases, between messages, the AIS transmitter must change channel.

Before being transmitted, AIS messages must be NRZI encoded.

AIS messages are transmitted using GMSK modulation. The GMSK modulator BT-product used for transmission of data should be 0.4 maximum (highest nominal value).

The GMSK coded data should frequency modulate the VHF transmitter. The modulation index should be 0.5.

The transmission bit rate is 9600bit/s

Ordinary VHF receivers can receive AIS with the filtering disabled (the filtering destroys the GMSK data). However, the audio output from the radio would need to be then decoded. There are several PC applications that can do this.

sandman7920 avatar Jul 19 '17 16:07 sandman7920

It should be possible to modulate GMSK with rpitx. This is on first tasks I have on TODO list (for other application) . But not sure transmitting AIS with rpitx is barely legal !

F5OEO avatar Jul 19 '17 17:07 F5OEO

This is only for test (indoor). rpitx transmit https://github.com/dgiardini/rtl-ais receive

sandman7920 avatar Jul 19 '17 18:07 sandman7920

Understand for local testing . As rpitx is I/Q input, you could help me implement GMSK if you like. I figure to use efficient liquid-dsp to do that. Great community work on AIS decoder : congrats !

F5OEO avatar Jul 19 '17 18:07 F5OEO

I want to build custom rpi AIS Receiver firmware, but i live far from the sea.

sandman7920 avatar Jul 19 '17 18:07 sandman7920

I have available SR161,Comar AIS Receiver,rtl_sdr and some samples in wav format. I will be happy to help with whatever I can.

P.S. My RF knowledge is limited.

sandman7920 avatar Jul 19 '17 18:07 sandman7920

My AIS knowledge is limited for now...but as soon as GMSK is implemented, get in touch !

F5OEO avatar Jul 19 '17 18:07 F5OEO

Following... I'm also interested in AIS tx ⛵🤠

gregology avatar Nov 23 '17 17:11 gregology

This seems to be possible to implement AIS tx. There is a gnuradio component to do that. For proof of concept, you could use Gnuradio -> IQ -> Rpitx.

F5OEO avatar Nov 23 '17 18:11 F5OEO

AIS is also used on land 😉, e.g. Live map on Rhein river. See River Information Services (RIS).

liquid-dsp have a GMSK modem but how to interface it with rpitx ? Also,found framing module and readme.gmskframe.txt.

pyrog avatar Jan 10 '19 15:01 pyrog

Any news on this thread?

unxs0 avatar Jun 10 '21 14:06 unxs0