AIS-catcher
AIS-catcher copied to clipboard
Non-coherent models sometime better and MSG27
Perhaps these two files might be interesting to explore (look to root of this folder):
- Non-coherent models receive more messages
RAW file Settings: -ga CU8 file 2021-08-14-10-54-29_rtlsdr_162000000Hz_1920000Sps.AGCoff_22.9db.iq ... [AIS engine v0.34]: 33 msgs at 1.2 msg/s [AIS engine v0.34]: 33 msgs at 1.2 msg/s [Base (non-coherent)]: 46 msgs at 1.6 msg/s [Standard (non-coherent)]: 50 msgs at 1.8 msg/s
- Reception of MSG 27 for satellites at 156.8 MHz ... RAW file Settings: -ga CU8 file 2021-08-15-17-29-43_rtlsdr_156800000Hz_1920000Sps.iq Generic settings: sample rate -s 1920K !AIVDM,1,1,,B,KqNSLg1Bik=V3h,0*68 ( MSG: 27, REPEAT: 3, MMSI: 636017854)
Thanks Alexander! The default model with "-m 2 -go PS_EMA on" (was planning to make this the default) seems to find a few more messages (33->41) but still worse than the FM decoder. Very interesting to have a look at.
At first inspection the decoder seems to be struggling with a particular base station (2731230). I have downsampled the file to 240K samples/second and comparing across some decoders.
Source | AIS-catcher -m 4 (short avg) | AIS-catcher | AIS-catcher -m 0 (FM) | AISrec 2.208 (trial - super fast) | AISrec 2.208 (pro - slow2) |
---|---|---|---|---|---|
vessels | 20 | 23 | 19 | 17 | 19 |
mmsi 2731230 | 41 | 9 | 17 | 23 | 41 |
Total | 61 | 32 | 36 | 40 | 60 |
For all sources except this particular station performance is in line with expectation. Now that we know what to look for, will isolate some examples and have a closer look.
Thanks again, precisely what I was looking for. Will let you know if anything interesting comes out of it.
I extracted a problematic example (example1.raw) from the file and looked through my collection of recordings for other broadcasters for which the default model did perform worse than the FM decoder. Found one: a small class B vessel for which I extracted another sample (example2).
You can run them through different decoders as follows:
AIS-catcher -r CS16 example1.raw -s 96000 -m 0 -m 2 -m 4 -v
Interestingly, one way to avoid this problem is to use shorter averages to determine the phase offset. I have implemented that in model -m 4
. Results for this model are also added to the table in the previous post.
This model (-m 4
) on my collection of recordings finds 33% more messages than the plain vanilla FM decoder. The default model actually sits at 40%. The slight increase in robustness for frequency instability comes at a cost of general loss of sensitivity. The trick is to combine the two somehow. Experimentally it seems though that any additional complexity will come at a cost in general reception.
As a general comment, if you want to combine output from different models, you can do if you have a program like AIS dispatcher running that receives messages over UDP and removes duplicates (e.g. on 192.168.1.239 port 4002):
AIS-catcher -v -m 2 -u 192.168.1.239 4002 -m 4 -u 192.168.1.239 4002