M17 (krótkofalarstwo)
M17 to cyfrowy tryb modulacji radiowej opracowany przez Wojciecha Kaczmarskiego (amatorski radiowy znak wywoławczy SP5WWP) i in.[1][2][3][4][5][6] M17 jest przeznaczony przede wszystkim do komunikacji głosowej w pasmach radioamatorskich VHF i wyższych. Projekt otrzymał dofinansowanie ze środków fundacji Amateur Radio Digital Communications (ARDC) w latach 2021[7] i 2022[8]. Protokół został zintegrowany z kilkoma projektami sprzętu i oprogramowania. W 2021 roku Kaczmarski otrzymał nagrodę ARRL Technical Innovation Award za opracowanie cyfrowego protokołu komunikacji radiowej typu open source, prowadzącego do dalszego rozwoju radioamatorstwa[9].
Charakterystyki techniczne[edytuj | edytuj kod]
M17 wykorzystuje technologię wielodostępu z podziałem częstotliwości (FDMA), w której oddzielne strumienie komunikacyjne są współbieżnie przesyłane na różnych częstotliwościach. Protokół ma szybkość transmisji 4800 symboli na sekundę, 4-poziomowe kluczowanie częstotliwości (4FSK) z zastosowanym do strumienia bitowego filtrem Nyquista. Kanały radiowe mają szerokość 9 kHz i odstęp międzykanałowy 12,5 kHz. Całkowita szybkość przesyłania danych wynosi 9600 bitów na sekundę, a rzeczywisty transfer danych (netto) wynosi 3200 bitów na sekundę. Transmisja, zwana strumieniem, jest dzielona na ramki o długości 40 milisekund, każda poprzedzona 16-bitowym słowem synchronizującym. Grupa 6 ramek tworzy superramkę i jest potrzebna do odebrania danych łącza (identyfikator nadawcy i odbiorcy, zawartość strumienia itd.). Protokół pozwala na transmisję danych z małą prędkością (jednocześnie z głosem), np. danych o pozycji GNSS. Sygnał M17 został pomyślnie przesłany przez satelity geostacjonarne EchoStar XXI[10] i QO-100[11]. Specyfikacja protokołu jest udostępniana na licencji GNU General Public License.
Kodowanie głosu[edytuj | edytuj kod]
M17 wykorzystuje Codec 2, kodek głosowy o małej przepływności opracowany przez Davida Rowe’a VK5DGR i in. Codec 2 został zaprojektowany do użytku w krótkofalarstwie i innych zastosowaniach wymagających wysokiej kompresji głosu. Opiera się na liniowym kodowaniu predykcyjnym z harmonicznym wzbudzeniem sinusoidalnym. Protokół obsługuje zarówno tryby 3200 (pełna przepływność), jak i 1600 bitów na sekundę (połowa szybkości).
Korekcja błędów[edytuj | edytuj kod]
Do korekcji błędów transmisji poprzez kanał radiowy stosowane są trzy metody: binarny kod Golaya, kod splotowy z wykluczaniem i przeplatanie (permutacja) bitów. Dodatkowo przed transmisją wykonywana jest operacja alternatywy rozłącznej (XOR) pomiędzy bitami danych a wstępnie zdefiniowanym, stałym dla każdej ramki, dekorelującym strumieniem pseudolosowym. Zapewnia to możliwie największą liczbę przejść symboli w paśmie podstawowym.
Właściwości protokołu[edytuj | edytuj kod]
Protokół M17 został zaprojektowany głównie do użytku w krótkofalarstwie.
- Kodowanie znaku wywoławczego: 48-bitowe pole zawierające do 9 znaków alfanumerycznych eliminuje potrzebę potrzebę posiadania i utrzymania scentralizowanej bazy danych identyfikatorów użytkowników.
- Szyfrowanie:
- Szyfrowanie poprzez randomizację (scrambler): operacja XOR na danych i pseudolosowej sekwencji binarnej utworzonej przy użyciu rejestru przesuwnego z liniowym sprzężeniem zwrotnym, który wykorzystuje jeden z trzech wielomianów sprzężenia zwrotnego, z okresami powtarzania odpowiednio 255, 65 535 i 16 777 215 bitów.
- Szyfrowanie AES: 128-bitowy szyfr blokowy działający w trybie CTR z wybieranym przez użytkownika kluczem 128, 192 lub 256-bitowym.
- Kanał dodatkowy o niskiej przepustowości do krótkich i powtarzalnych transferów danych, np. danych o lokalizacji radiostacji lub telemetrii.
- Wiadomości tekstowe.
Wsparcie sprzętowe[edytuj | edytuj kod]
Przenośne transceivery tj. TYT MD-380, MD-390 i MD-UV380 można przeprogramować za pomocą bezpłatnego oprogramowania typu open-source[12]. Obsługa M17 wymaga dodatkowej, niewielkiej modyfikacji sprzętowej.
Mostkowanie z innymi trybami[edytuj | edytuj kod]
Istnieją połączenia pomiędzy M17 i innymi cyfrowymi trybami głosowymi oraz sieciami połączonymi z Internetem. Tryby zmostkowane obejmują DMR, P25, System Fusion, D-STAR, NXDN, AllStarLink, EchoLink i IRLP[13][14][15][16][17][18].
M17 przez IP[edytuj | edytuj kod]
Węzły dostępowe i przemienniki[19] można łączyć za pomocą reflektorów. Na świecie jest ponad 150 reflektorów M17 (maj 2023)[20].
Historia powstania[edytuj | edytuj kod]
Projekt został rozpoczęty w 2019 roku przez Wojciecha Kaczmarskiego w Warszawie. Miejscowy klub radioamatorski, którego SP5WWP był członkiem, zajmował się cyfrową komunikacją głosową. Wojciech Kaczmarski po eksperymentach z systemami TETRA i DMR postanowił stworzyć całkowicie niezastrzeżony protokół i nazwał go od adresu klubu – Mokotowska 17. Ponieważ każda część protokołu miała być open source, jako koder mowy wybrano Codec 2 wydany na licencji GNU GPL 2.
Aplikacje i projekty z obsługą M17[edytuj | edytuj kod]
- OpenRTX - darmowe oprogramowanie (firmware) typu open source dla radiostacji amatorskich
- WPSD – pakiet oprogramowania do obsługi trybów cyfrowych dla osobistych hotspotów i przemienników krótkofalarskich
- DroidStar - cyfrowy klient głosowy dla platformy Android
- SDR++ - wieloplatformowy odbiornik radiowy SDR typu open-source
- SDRangel - wieloplatformowy odbiornik/nadajnik radiowy typu open source
- OpenWebRX - internetowy odbiornik radiowy definiowany programowo
- mrefd - oprogramowanie (demon) reflektora M17[21]
- rpitx - programowy nadajnik częstotliwości radiowej ogólnego przeznaczenia dla Raspberry Pi[22]
- dsd-fme - cyfrowy dekoder mowy[23]
- mvoice - aplikacja dla przemienników radiowych (Raspberry i Linux)[24]
Zobacz też[edytuj | edytuj kod]
Przypisy[edytuj | edytuj kod]
- ↑ Dan Romanchik's (KB6NU) blog entry on M17 Project (Nov 2019)
- ↑ "Świat Radio", wyd.11/2020, str. 50: "Transceiver TR-9"
- ↑ Ham Radio 2.0 podcast, "M17 Project - New Ham Radio Digital Mode" episode (Sep 2021)
- ↑ Linux in the Ham Shack podcast, episode 396: "M17 Deep Dive" (Mar 2021)
- ↑ David Rowe's (VK5DGR) "M17 Open Source Radio" blog entry (Aug 2020)
- ↑ "M17 Open Source Digital Radio System", Ham Radio Workbench podcast (Dec 2019)
- ↑ Grant: M17 Open Protocol (Apr 2021)
- ↑ Grant: M17 Project Popularization, Research and Development (Sep 2022)
- ↑ ARRL Board of Directors Bestows Awards
- ↑ Testing M17 on Echostar XXI at 10° East
- ↑ AMSAT-DL Twitter entry on QO-100 wideband transponder M17 experiment (Apr 2021)
- ↑ OpenRTX - free and open source firmware for ham radios
- ↑ Douglas McLain's (AD8DP) GitHub page
- ↑ Australian Multimode Network
- ↑ Pride Radio Network
- ↑ FreeSTAR Module-X
- ↑ ANZEL Multimode VoIP/RoIP Network
- ↑ USRP2M17 Bridge
- ↑ RepeaterBook list of M17 repeaters
- ↑ M17 reflectors list
- ↑ Tom Early , MREFD [online], 9 września 2023 [dostęp 2023-12-03] .
- ↑ F5OEO, About rpitx [online], 2 grudnia 2023 [dostęp 2023-12-03] .
- ↑ lwvmobile, Digital Speech Decoder - Florida Man Edition [online], 2 grudnia 2023 [dostęp 2023-12-03] .
- ↑ N7TAE: M17 Digital Voice, now using FLTK.
Linki powiązane[edytuj | edytuj kod]
- Strona internetowa projektu M17
- Projekt M17 na GitHubie
- Kanał na Twitterze
- Strona projektu WPSD
- Biblioteka kodera/dekodera pasma podstawowego M17 Roberta Riggsa (WX9O) (C++, GPL)
- OpenWebRX - oparty na sieci SDR autorstwa Jakoba Ketterla (DD5JFK), zawiera dekoder M17
- SDR++ - bezpłatne oprogramowanie SDR o otwartym kodzie źródłowym z obsługą M17
- Program do korzystania z reflektorów M17