Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start AIS-catcher on PlutoSDR #323

Open
dendyKP opened this issue Nov 5, 2024 · 5 comments
Open

Start AIS-catcher on PlutoSDR #323

dendyKP opened this issue Nov 5, 2024 · 5 comments

Comments

@dendyKP
Copy link

dendyKP commented Nov 5, 2024

Hello!
Please tell me how to run AIS-Catcher on Windows using the PlutoSDR board?
It can be seen that PlutoSDR is not directly supported. But it is possible to run using SoapySDR. How do I do this on Windows?
Sincerely, dendyKP.

@jvde-github
Copy link
Owner

jvde-github commented Nov 6, 2024

hello! many thanks for reaching out.

The executable I build does not contain SoapySDR support (neither on Windows nor on Linux). I have not tried to build it with Soapy on Windows. I might give it a try some day.

Perhaps you can pipe the radio SDR data into AIS-catcher with something like:

SoapySDRUtil.exe --rate=1536000 --freq=162e6 --gain=32 --channels=0 --format=float32 - | AIS-catcher.exe -r cf32 . -s 1536000 -v

@dendyKP
Copy link
Author

dendyKP commented Nov 7, 2024

Thank you very much for your answer!
Tried the command you suggested. It didn't work for me. SoapySDRUtil does not have frequency, gain or format options.
Here is the entry from cmd:
SoapySDRUtil.exe --rate=1536000 --freq=162e6 --gain=32 --channels=0 --format=float32 --direction=rx - | "AIS-catcher.x64/AIS-catcher.exe" -r cf32 . -s 1536000 -v
SoapySDRUtil.exe: unknown option -- freq=162e6
SoapySDRUtil.exe: unknown option -- gain=32
SoapySDRUtil.exe: unknown option -- format=float32
AIS-catcher (build Aug 10 2024) v0.59-371-g3c362556
(C) Copyright 2021-2024 jvde-github and other contributors
This is free software; see the source for copying conditions.There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
←[1m←[33m[WARNING] SoapyVOLKConverters: no VOLK config file found. Run volk_profile for best performance.←[0m
[INFO] [UHD] Win32; Microsoft Visual C++ version 14.2; Boost_107500; UHD_4.0.0.HEAD-0-g90ce6062
Device : File (RAW)
Settings : rate 1536K format CF32 file . loop OFF
Model #0 -> (Src: 1, Grp: 1): [AIS engine v0.60] ps_ema ON afc_wide ON droop ON fp_ds OFF dsk OFF
[INFO] Using format CS16.
[INFO] Auto setting Buffer Size: 32768
[INFO] Set MTU Size: 32768
[INFO] Has direct RX copy: 1
Sincerely, dendyKP.

@jvde-github
Copy link
Owner

I looked closer at the windows distribution and noticed there is a rx_sdr utility as well that I could make work with the RTL-SDR:

./rx_sdr -f 162000000 -s 1536000 -d driver=rtlsdr -F cf32 -g 32 - | AIS-catcher -r cf32 . -v -s 1536000
AIS-catcher (build Nov  3 2024) v0.60-230-g7bdc62d1
(C) Copyright 2021-2024 jvde-github and other contributors
This is free software; see the source for copying conditions.There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Device    : File (RAW)
Settings  : rate 1536K format CF32 file . loop OFF
Model #0 -> (Src: 1, Grp: 1): [AIS engine v0.60] ps_ema ON afc_wide ON droop ON fp_ds OFF dsk OFF 
Found Rafael Micro R820T tuner
[INFO] Opening Generic RTL2832U OEM :: 7...
Found Rafael Micro R820T tuner
Using device R820T: index=0 origin=https://github.com/pothosware/SoapyRTLSDR 
Found 1 channel(s) :
Channel 0 :
  Found 1 antenna(s): RX 
  Found 1 gain(s): TUNER 
  Found 2 frequencies: RF CORR 
  Found 10 sample rates: 250000 1024000 1536000 1792000 1920000 2048000 2160000 2560000 2880000 3200000 
  Found 0 bandwidths: 
Using output format: CF32 (input format CS16, 4 bytes per element)
[R82XX] PLL not locked!
Sampling at 1536000 S/s.
Tuned to 162000000 Hz.
Tuner gain set to 32.00 dB.
[INFO] Using format CS16.
Reading samples in sync mode...
Allocating 15 zero-copy buffers
!AIVDM,1,1,,B,13=e:D001ePBfWpMgGj4OSVv0<<N,0*77 ( MSG: 1, REPEAT: 0, MMSI: 215698000, signalpower: -42.2563, ppm: 0, timestamp: 20241107174432)
!AIVDM,1,1,,A,13thA@00000BqCvMfAio5c=208C3,0*42 ( MSG: 1, REPEAT: 0, MMSI: 265032000, signalpower: -36.5105, ppm: 1.15741, timestamp: 20241107174432)
!AIVDM,2,1,0,B,53e;PB82?kvGTP7;COPu04hTpD00000000000017B@i==6l90AkS4U3O,0*44 ( MSG: 5, REPEAT: 0, MMSI: 248701000, signalpower: -44.1915, ppm: 4.34028, timestamp: 20241107174432)
!AIVDM,2,2,0,B,OAhRij000000000,2*10 ( MSG: 5, REPEAT: 0, MMSI: 248701000, signalpower: -44.1915, ppm: 4.34028, timestamp: 20241107174432)
!AIVDM,1,1,,B,13ku8j00020C=WlMeGN9T;?208CA,0*6C ( MSG: 1, REPEAT: 0, MMSI: 255805640, signalpower: -48.6742, ppm: 1.44676, timestamp: 20241107174432)
!AIVDM,1,1,,A,13e;PB0000PCInlMdOcc;8u00@CH,0*6B ( MSG: 1, REPEAT: 0, MMSI: 248701000, signalpower: -47.3693, ppm: 3.76157, timestamp: 20241107174433)
!AIVDM,1,1,,A,13`e>q0000PBtG4MfrqrIqbr06:h,0*5D ( MSG: 1, REPEAT: 0, MMSI: 244010724, signalpower: -41.915, ppm: 2.02546, timestamp: 20241107174433)

You need to properly set the gain, sample rate (twice, once for AIS-catcher and once for rx_sdr) and the driver. But this might be worth a try....

@dendyKP
Copy link
Author

dendyKP commented Nov 8, 2024

I tried what you suggested, but it didn't work for me...
`rx_sdr -f 162000000 -s 1536000 -F cf32 -g 70 - | "AIS-catcher.x64/AIS-catcher" -r cf32 . -v -s 1536000
dup2 start: No error
←[1m←[33m[WARNING] SoapyVOLKConverters: no VOLK config file found. Run volk_profile for best performance.←[0m
[INFO] [UHD] Win32; Microsoft Visual C++ version 14.2; Boost_107500; UHD_4.0.0.HEAD-0-g90ce6062
AIS-catcher (build Aug 10 2024) v0.59-371-g3c362556
(C) Copyright 2021-2024 jvde-github and other contributors
This is free software; see the source for copying conditions.There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Device : File (RAW)
Settings : rate 1536K format CF32 file . loop OFF
Model #0 -> (Src: 1, Grp: 1): [AIS engine v0.60] ps_ema ON afc_wide ON droop ON fp_ds OFF dsk OFF
Using device ADALM-PLUTO: ad9361-phy,model=ad9364 ad9361-phy,xo_correction=40000000 backend_version=0.18 (git tag: v0.18 ) fw_version=v0.31 hw_model=Analog Devices PlutoSDR Rev.B (Z7010-AD9364) hw_model_variant=1 hw_serial=10400090fd95000512003100a3bf197e44 library_version=0.19 (git tag: 5f5af2e) local,kernel=4.14.0-42540-g387d584 usb,idProduct=b673 usb,idVendor=0456 usb,libusb=1.0.24.11584 usb,product=PlutoSDR (ADALM-PLUTO) usb,release=2.0 usb,serial=10400090fd95000512003100a3bf197e44 usb,vendor=Analog Devices Inc.
Found 1 channel(s) :
Channel 0 :
Found 1 antenna(s): A_BALANCED
Found 1 gain(s): PGA
Found 1 frequencies: RF
Found 11 sample rates: 65105 1000000 2000000 3000000 4000000 5000000 6000000 7000000 8000000 9000000 10000000
Found 11 bandwidths: 200000 1000000 2000000 3000000 4000000 5000000 6000000 7000000 8000000 9000000 10000000
Using output format: CF32 (input format CS16, 4 bytes per element)
Sampling at 1536000 S/s.
Tuned to 162000000 Hz.
Tuner gain set to 70.00 dB.
[INFO] Using format CS16.
[INFO] Auto setting Buffer Size: 32768
[INFO] Set MTU Size: 32768
Reading samples in sync mode...
[INFO] Has direct RX copy: 1
dup2 stop: No such file or directory
Short write, samples lost, exiting!

Library error 0, exiting...`
Sincerely, dendyKP.

@jvde-github
Copy link
Owner

So, if you would write the radio data to a file, would that work? E.g.:

rx_sdr -f 162000000 -s 1536000 -F cf32 -g 70 data.raw

and then separately read it in for AIS decoding

 "AIS-catcher.x64/AIS-catcher" -r cf32 data.raw -v -s 1536000

ps I tried to build a version for Windows with SoapySDR, but difficult to get it stable and work on all Windows machines (note that for Linux, if you install the software is build on the device, for Windows we have pre-compiled everything which increases compatibility potential issues)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants