Το M17 είναι μια ψηφιακή λειτουργία διαμόρφωσης ραδιοφώνου που αναπτύχθηκε από τον Wojciech Kaczmarski (κωδικός κλήσης ερασιτεχνικού ραδιοφώνου SP5WWP) κ.ά.
Το M17 έχει σχεδιαστεί κυρίως για φωνητικές επικοινωνίες στις ζώνες ερασιτεχνικού ραδιοφώνου VHF και άνω. Το έργο έλαβε επιχορήγηση από την Amateur Radio Digital Communications το 2021 και το 2022. Το πρωτόκολλο έχει ενσωματωθεί σε πολλά έργα υλικού και λογισμικού. [απαιτείται παραπομπή] Το 2021, ο Kaczmarski έλαβε το Βραβείο Τεχνικής Καινοτομίας ARRL για την ανάπτυξη ενός πρωτοκόλλου ψηφιακής ραδιοεπικοινωνίας ανοιχτού κώδικα, που οδήγησε σε περαιτέρω εξελίξεις στο ερασιτεχνικό ραδιόφωνο.
Τεχνικά χαρακτηριστικά
Φασματογράφημα της μετάδοσης του πρωτοκόλλου M17. Ο χρόνος είναι σε κάθετο άξονα, που προχωρά από κάτω προς τα πάνω. Υπάρχει ένα προοίμιο 40 χιλιοστών του δευτερολέπτου ορατό στην αρχή της μετάδοσης.
Το M17 χρησιμοποιεί τεχνολογία Πολλαπλής Πρόσβασης Διαίρεσης Συχνότητας (FDMA) στην οποία διαφορετικές ροές επικοινωνίας διαχωρίζονται κατά συχνότητα και εκτελούνται ταυτόχρονα. Χρησιμοποιεί 4.800 σύμβολα ανά δευτερόλεπτο, 4-επίπεδη keying μετατόπισης συχνότητας (4FSK) με ένα φίλτρο Nyquist ρίζας που εφαρμόζεται στο bitstream.
Τα ραδιοκανάλια έχουν πλάτος 9 kHz, με απόσταση καναλιών 12,5 kHz. Ο συνολικός ρυθμός δεδομένων είναι 9.600 bit ανά δευτερόλεπτο, με την πραγματική μεταφορά δεδομένων στα 3.200.
Η μετάδοση, που ονομάζεται ροή, χωρίζεται σε πλαίσια μήκους 40 χιλιοστών του δευτερολέπτου, καθένα από τα οποία προηγείται μιας λέξης συγχρονισμού μήκους 16 bit. Μια ομάδα 6 πλαισίων σχηματίζει ένα υπερπλαίσιο και είναι απαραίτητο για την αποκωδικοποίηση των δεδομένων πληροφοριών σύνδεσης. Το πρωτόκολλο επιτρέπει τη μεταφορά δεδομένων χαμηλής ταχύτητας (μαζί με φωνή), π.χ. δεδομένα θέσης GNSS.
Η λειτουργία έχει μεταδοθεί με επιτυχία μέσω γεωστατικών δορυφόρων EchoStar XXI και QO-100. Οι προδιαγραφές του πρωτοκόλλου κυκλοφορούν υπό την Γενική Άδεια Δημόσιας Χρήσης GNU.
Κωδικοποίηση φωνής
Το M17 χρησιμοποιεί τον Codec 2, έναν κωδικοποιητή φωνής χαμηλού ρυθμού μετάδοσης bit που αναπτύχθηκε από τον David Rowe VK5DGR et al. Ο Codec 2 σχεδιάστηκε για χρήση σε ερασιτεχνικό ραδιόφωνο και άλλες εφαρμογές φωνής υψηλής συμπίεσης. Βασίζεται σε γραμμική προγνωστική κωδικοποίηση με ημιτονοειδή διέγερση μικτής αρμονικής.
Το πρωτόκολλο υποστηρίζει τόσο λειτουργίες 3200 (πλήρους ρυθμού) όσο και 1600 bit ανά δευτερόλεπτο (μισού ρυθμού).
Έλεγχος σφαλμάτων
Τρεις μέθοδοι χρησιμοποιούνται για τον έλεγχο σφαλμάτων:
-δυαδικός κώδικας Golay,
-διάτρητος συνελικτικός κώδικας και
-διαπλοκή bit.
Επιπλέον, εκτελείται αποκλειστική λειτουργία OR μεταξύ των bit δεδομένων και μιας προκαθορισμένης ψευδοτυχαίας ροής αποσυσχέτισης πριν από τη μετάδοση.
Αυτό διασφαλίζει ότι υπάρχουν όσο το δυνατόν περισσότερες μεταβάσεις συμβόλων στη βασική ζώνη. Χρησιμοποιείται ένας κώδικας κυκλικού ελέγχου πλεονασμού (CRC) 16-bit για τη διασφάλιση της ακεραιότητας των δεδομένων.
Λειτουργίες εφαρμογής
Το πρωτόκολλο M17 σχεδιάστηκε κυρίως για χρήση ερασιτεχνικού ραδιοφώνου.
Κωδικοποίηση διακριτικού κλήσης: Το πεδίο 48-bit που περιέχει έως και 9 αλφαριθμητικούς χαρακτήρες εξαλείφει την ανάγκη για κεντρική βάση δεδομένων αναγνωριστικών χρήστη.
Λειτουργίες ροής και πακέτων.
Η λειτουργία ροής προσφέρει ένα κανάλι καθαρού ρυθμού μετάδοσης bit 3200bps (κωδικοποιημένη ομιλία ή δεδομένα) ή δύο κανάλια 1600bps (κωδικοποιημένη ομιλία παράλληλα με δεδομένα).
Η λειτουργία πακέτων υποστηρίζει μηνύματα κειμένου, APRS και AX.25.
Πλευρικό κανάλι χαμηλής ταχύτητας για σύντομες και επαναλαμβανόμενες μεταφορές δεδομένων, π.χ. δεδομένα θέσης GNSS ή τηλεμετρία.
Κρυπτογράφηση:
Κρυπτογράφηση bit scrambler: μια ψευδοτυχαία δυαδική ακολουθία που δημιουργείται συνδυάζοντας μια αποκλειστική ή bitwise λειτουργία στη ροή ήχου ή δεδομένων και έναν καταχωρητή μετατόπισης γραμμικής ανάδρασης χρησιμοποιώντας ένα από τα 3 πολυώνυμα ανάδρασης με περιόδους επανάληψης 255, 65.535 και 16.777.215 bit.
Κρυπτογράφηση AES: Κρυπτογράφηση μπλοκ κρυπτογράφησης 128 bit που λειτουργεί σε λειτουργία CTR με κλειδί 128, 192 ή 256 bit που επιλέγεται από τον χρήστη.
Υποστήριξη υλικού
Πρωτότυπο του φορητού ραδιοφώνου CS7000 M17 (CS760), που εκτελεί υλικολογισμικό ανοιχτού κώδικα OpenRTX.
Με μια μικρή τροποποίηση υλικού, οι φορητοί πομποδέκτες TYT MD-380, MD-390 και MD-UV380 μπορούν να ενσωματωθούν σε flash με ένα προσαρμοσμένο, δωρεάν, υλικολογισμικό ανοιχτού κώδικα για να ενεργοποιηθεί η υποστήριξη M17.
Τον Ιούλιο του 2024, η αμερικανική εταιρεία Connect Systems, Inc. κυκλοφόρησε τον CS7000-M17, τον πρώτο εμπορικό φορητό πομποδέκτη με εγγενή υποστήριξη M17.
Γεφύρωση με άλλες λειτουργίες
Υπάρχουν συνδέσεις μεταξύ του M17 και άλλων ψηφιακών λειτουργιών φωνής και δικτύων συνδεδεμένων στο Διαδίκτυο, με πολλά δίκτυα να παρέχουν πρόσβαση στο M17. Οι γεφυρωμένες λειτουργίες περιλαμβάνουν DMR, P25, System Fusion, D-STAR, NXDN, AllStarLink, EchoLink και IRLP.
M17 μέσω IP
Οι κόμβοι πρόσβασης και οι επαναλήπτες μπορούν να συνδεθούν χρησιμοποιώντας ανακλαστήρες. Υπάρχουν πάνω από 100 ανακλαστήρες M17 παγκοσμίως (Ιούνιος 2025).
Ιστορικό
Το έργο ξεκίνησε το 2019 από τον Wojciech Kaczmarski στη Βαρσοβία της Πολωνίας.
Μια τοπική ραδιοερασιτεχνική λέσχη στην οποία ήταν μέλος ασχολούνταν με ψηφιακές φωνητικές επικοινωνίες. Ο Kaczmarski, έχοντας πειραματιστεί με τα TETRA και DMR, αποφάσισε να δημιουργήσει ένα εντελώς μη ιδιόκτητο πρωτόκολλο και το ονόμασε από την οδό του συλλόγου - Mokotowska 17.
Καθώς κάθε μέρος του πρωτοκόλλου προοριζόταν να είναι ανοιχτού κώδικα, ο Codec 2, που κυκλοφόρησε με την άδεια GNU LGPL 2.1, επιλέχθηκε ως κωδικοποιητής ομιλίας.
Εφαρμογές και έργα με υποστήριξη M17
OpenRTX - δωρεάν και ανοιχτού κώδικα υλικολογισμικό για ραδιοερασιτέχνες
DroidStar - ψηφιακός φωνητικός πελάτης για Android
SDR++ - πολυπλατφορμικός, ανοιχτού κώδικα ραδιοφωνικός δέκτης
SDRangel - πολυπλατφορμικός, ανοιχτού κώδικα ραδιοφωνικός δέκτης
OpenWebRX - διαδικτυακός ραδιοφωνικός δέκτης με ορισμό λογισμικού
mrefd - ανακλαστήρας M17
rpitx - γενικός πομπός ραδιοσυχνοτήτων για Raspberry Pi
dsd-fme - ψηφιακός αποκωδικοποιητής ομιλίας
mvoice - εφαρμογή φωνητικού πελάτη και γραφικού επαναλήπτη (Raspberry και Linux)
mspot - λογισμικό hotspot









