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

Tx AIS Boats [$15] #107

Closed
vindn opened this issue Jul 26, 2020 · 11 comments
Closed

Tx AIS Boats [$15] #107

vindn opened this issue Jul 26, 2020 · 11 comments
Labels
bounty This request provides bounty enhancement New feature or request

Comments

@vindn
Copy link

vindn commented Jul 26, 2020

Using this current firmware, is It possible transmit AIS Boat messages?


There is a $15 open bounty on this issue. Add to the bounty at Bountysource.

@vindn vindn added the enhancement New feature or request label Jul 26, 2020
@euquiq
Copy link
Contributor

euquiq commented Jul 27, 2020

Nope. No AIS-TX app present on current firmware.

@vindn
Copy link
Author

vindn commented Aug 9, 2020

is it possible implement this feature? somebody thinks implement this feature?

@eried
Copy link
Member

eried commented Aug 9, 2020

Not that I know. But you can place a bounty to convince coders.

@eried eried changed the title Tx AIS Boats Tx AIS Boats [$15] Aug 10, 2020
@eried eried added the bounty This request provides bounty label Aug 10, 2020
@marcelrv
Copy link

I'm also interested, added to the bounty $10

@Brumi-2021
Copy link
Contributor

Brumi-2021 commented Aug 27, 2022

Hi , @vindn and all, i also feel very interesting feature !
But I can see a basic synchronisation time problem that needs to be solved before . AIS is assuming that each station has a built-in GPS receiver , that supplies beside the position, COG, ... the exact GPS UTC seconds time.(with extremely high accuracy) . And in any minute , AIS standard define 2.250 slot messages .(0..till 2249) and the slot 0 always should start in the exact UTC minute . And the 2249 should end when changing the next minute. The simple messages only use 1 slot , but the complex ones several slots . (And on top of that AIS is using 5 types of protocols to manage the slot allocation to every station , all of them variations of TDMA : RATDMA, SOTDMA, ITDMA, FATDMA, CSTDMA...)
To generate and transmit the different type of simulated messages asynchronus, with random TX time should be feasible (similar as ADS-B messages or all other TX apps, obviously we should change the frequency , the modulation type, the data rate to 9600 bps ...) and those messages will be decoded by another Portapack with AIS RX App . But any official certified AIS equipment installed in a vessel will not decode our asynchronus messages if we are not starting our transmission in the exact proper window slot timing. ... therefore I do not know how we can get before that exact clock UTC time in the Hackrf , example synchronize before using AIS our internal RTC with exact UTC time from DTC-77 in EU ? or any other radio clock Transmitter service? Or RDS data from FM stations ? Or get that time slot reference , receiving in advance several minutes AIS receiver ??? (because I am assuming that we can not send from laptop that clock through USB ...) ... this needs to be considered to make a real good TX AIS signal message simul .... we just need to know very accurately each exact UTC minute starting time .
So, maybe the development can be considered in two steps : first transmit the AIS msgs simul in async random time (not in phase respect UTC minutes slots ) and second , maybe the most complex, consider how to add all the sync reference slot time to the UTC clock ...

@vindn
Copy link
Author

vindn commented Aug 29, 2022

Hi @Brumi-2021, did you see how AIS-TX (https://github.com/osmocom/ais-tx) works? In the AIVDM_Encoder.py you can specify several parameters but I don't know how it's solved this problem in AIS-TX. But like a first version without synchronisation, I think is good.

@marcelrv
Copy link

@vindn AIS-TX does not deal with any synchronization. It just send at random timeslots.
I would also be fine with initial version in mayhem just capable of sending ais messages (like 18 & 24ab).

I think it should technically be possibleto implement with hackRF some sort of CSTDMA (Carrier Sense Time-Division Multiple Access) like many class-B devices implement. Just by listening to other AIS messages and using those to sync

@Brumi-2021
Copy link
Contributor

Brumi-2021 commented Aug 29, 2022

Hi @vindn , @marcelrv and all .
I will also have a look into AIS-TX example and GNURADIO to get more familiar, and imagine the proper suitable GUI .

I feel it is really an interesting app to have it , and good chance to continue learning about Hackrf .
But I am still learning , and I think , I am not the best one to develpp it. But on the other hand , we have many good TX App references . . Therefore sure possible to create it ... Anyway, in any case , I will contribute to its development , debug and test as much as possible as i can.

Let's see if there are also some other more skilled developers willing to create it .

But do not worry , if nobody wants to start , I would consider to start it , but I will go slowly...
Cheers

@marcelrv
Copy link

I did some early steps into this as well.
Not focusing at all on the GUI side of things, but instead on the signal handling of the matter. Esp the gfsk modulation I still don't know how to tackle.

I indeed see it as a good way to learn a bit more about the development side of mayhem.
I was able to send messages with gnu radio & hackrf but mayhem is a bit more difficult beast to tackle.

@Brumi-2021
Copy link
Contributor

Brumi-2021 commented Mar 5, 2023

Hi @https://github.com/heurist1 ,
I could also see that sdrangel has an excellent AIS TX plug-in .

I believe that we can inspire about that porting a lot from sdrangel , in terms of all steps , generating frame message, NRZI encoding , Gaussian pulse shape filtering , FM modulation ,...

I can try alone about it , but I will go so slowly, and I guess that If you (or any skilled developper ) can help me to create the fw files architecture structure and start about it on mayhem , I will try to complete it much faster ,

I would be very happy to get some advanced help on it
It is an open invitation, feel free to join .
Any help would be welcome !

cheers

@eried
Copy link
Member

eried commented Dec 6, 2023

@vindn probably is too late, but if you can ask for your 15 USD back, do it. Check -> bountysource/core#1586

@eried eried closed this as completed Dec 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty This request provides bounty enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants