AIS-catcher icon indicating copy to clipboard operation
AIS-catcher copied to clipboard

Non-coherent models sometime better and MSG27

Open troosh opened this issue 3 years ago • 2 comments

Perhaps these two files might be interesting to explore (look to root of this folder):

  1. 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

  1. 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)

troosh avatar Feb 11 '22 16:02 troosh

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.

jvde-github avatar Feb 11 '22 19:02 jvde-github

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

jvde-github avatar Feb 18 '22 18:02 jvde-github