M17 (krótkofalarstwo)

Z Wikipedii, wolnej encyklopedii
Widmo RF sygnału M17

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]

Spektrogram transmisji protokołu M17. Czas jest na osi pionowej i przesuwa się od dołu do góry. Na początku transmisji widoczna jest 40-milisekundowa preambuła.

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]

Linki powiązane[edytuj | edytuj kod]