(Translated by https://www.hiragana.jp/)
M17 (krótkofalarstwo) – Wikipedia, wolna encyklopedia Przejdź do zawartości

M17 (krótkofalarstwo)

Z Wikipedii, wolnej encyklopedii
Widmo RF sygnału M17

M17cyfrowy 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 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]

Linki powiązane

[edytuj | edytuj kod]