M17 (krótkofalarstwo)
M17 – 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 b/s, a rzeczywisty transfer danych (netto) wynosi 3200 b/s. Transmisja, zwana strumieniem, jest dzielona na ramki o długości 40 ms, 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 b/s (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ę 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 licznikowym (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, s. 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