Spektrum rozproszone
Kilka razy na forum pojawił się temat komunikacji w spectrum rozproszonym i możliwości zastosowania tego rodzaju emisji w krótkofalarstwie amatorskim.. no to splot wydarzeń sprawił, że zacząłem się temu tematowi przyglądać od strony praktyczniej, a nie tylko rozważań teoretycznych..

Na początek zastrzeżenie - nie odnoszę się tu do aspektów prawnych, bandplanu itp, tylko technicznej strony tematu.
Wiele zależy od częstotliwości, mocy i regulacji w danym kraju. W zakresie pasma 70cm mieści się pasmo ISM gdzie nie ma takich ograniczeń co do szerokości emitowanego sygnału, o ile zachowamy moc dla ISM dostępną.

No to przejdźmy od słów do czynów...



Są dostepne w sprzedaży gotowe moduły oparte o SX1278 z interface szeregowym TTL do komunikacji i programwania.
Pominę tu moduły na pasma ISM inne niż 433MHz, chociaż są one równiez na inne pasma dostepne.

Cena takich modułów to poniżej €5, prawdopodobnie dlatego, że mają one błąd (porównując do innych częstotliwości) kanały oddzielone są o 1MHz, kiedy dla 868 jest to o ile pamietam 100kHz.

Dostepnych jest kilka wersji zależnie od mocy, 100mW (~€2.50), 500mW i 1W (~€4.70), z tym że każdemu można zaprogramować 4 poziomy mocy, dla wersji 1W jest to przykładowo 30dBm, 27dBm, 24 dBm i 21 dBm.

Dostępne prędkości transmisji 'on air' to :,0.3Kbps, 1.2Kbps, 2.4Kbps(,default), 4.8Kbps, 9.6Kbps i 19.2Kbps.
Oczywiście czym wolniej tym wiekszy zasięg. Receiving sensitivity -147dBm.

Poza pinami TxRx portu szeregowego (oraz masą i zasilaniem) mamy dostępne 3 dodatkowe piny, M0 i M1 odpowiedzialne za tryb pracy modułu oraz AUX informujące o zajętości kanału.

Moduł może pracować w trzech trybach (i czwarty deep sleep + programwane)
1. wszystkie urządzenia włączone, największy pobór prądu
2. jak wyżej, jednak w przypadku Tx wysyłana jest specjalna 'preambuła' mająca wybudzić odbiornik
3. tryb oszczędzania energii, pracuje tylko Rx, wyłączony UART, nie ma mozliwości nadwania

Jeśli odbiornik jest w trybie trzecim, nadajnik MUSI nadawać w trybie drugim.
Odbiornik w trybie trzecim, po odebraniu sygnału wybudzenia podaje sygnał na pin Aux co pozwoli np. wybudzić uC z którym współpracuje, nastepnie uruchamia UART i zaczyna wysyłać odebrane dane. Przydatne dla urządzeń mających przez dłuższy czas pracować na zasilaniu bateryjnym.

Pin Aux informuje uC również o tym czy wszystkie odebrane dane zostały przez moduł przesłane do UART, oraz czy wszystkie dane do Tx zostały już nadane. Pojemność bufora danych Tx 512 bajtów, wysyłane w paczkach po 58 bajtów.

Dodatkowo dostępna jest pula 65535 adresów i oddzielny tryb pracy w którym należy przed danymi do wysłania przesłać dodatkowo adres Rx i numer kanału. Tx odbędzie się na tym właśnie kanale, po czym moduł wróci do kanału który ma zaprogramowany. Dane zostaną przesłane na UART tylko przez moduł o adresie takim samym jak adres ustawiony w tych dodatkowych danych. Adres FF FF jest adresem broadcastingowym, może więc służyć do 'wywołania ogólnego' po którym 'korespondent' poda swój adres. Oczywiście takie uzgadnianie adresów nie zapewni prywatności, gdzyż to uzgadnianie odbywa się na adresie FF FF, czyli wszyscy słyszą. Zwolennicy utajniania transmisji mają jednak szerokie pole do działania, nie tylko zmiana kanałów, ale też zmiana adresów w/g ustalonego algorytmu już może przybliżyć komunikacje do niewykrywalnej bez dużych nakładów sprzętowych..

Oczywiście wszystkie moduły muszą pracować w zgodnym trybie, kanale, prędkości itd..


No, to w zarysie opisałem moduły serii E32 firmy EBYTE, teraz mała relacja z testów praktycznych.
Dwa moduły 100mW, jeden z jakąś tanią antenką no-name ok. 6cm długą, drugi bez anteny, za to na sztucznym obciążeniu, moc ustawiona na minimum, czyli 11dBm.

Oba moduły podłączone do komputera za pomocą FTDI z wybieranym poziomem napięcia 3.3V (tak, moduły pracują na 3.3V).

Po podłączeniu pierwszego modułu wydawał się on 'martwy' - nic nie nadawał, dopiero wprowadzenie w tryb programwania i odczyt ustawień sprawił że (po wyjściu z trybu programowania) zaczął nadawać.
Podobnie drugi moduł, nie odbierał nic póki nie powtórzyłem na nim procedury ustawinia w tryb programowania i odczytania ustawień. Nie spotkałem tego w zadnej dokumentacji.

Od tej chwili oba moduły komunikują się bez problemu, oczywiście odległość jak na sztuczne obciążenie przystało w obszarze tego samego biurka.

Spektrum rozproszone - jak bardzo?

Patrząc na bandplan to bardzo... nie sprawdzałem jeszcze dla innych predkości 'on air', dla domyślnego 2.4Kbps wygląda to na 500kHz.



A tak wygląda terminal z odebranym 'wywołaniem', jako POC że działa




Czy jest jakaś sensowana możliwość wykorzystania sread spectrum w krótkofalarstwie?
Myśle że tak, na pewno edukacyjna, bo np. grupa młodych ludzi na jednych (dobrze przygotowanych) zajęciach może zbudować i zaprogramować sieć łączności porównywalną z tymi o przeznaczeniu militarnym (poza mocą oczywiście) - 'skoki' po adresach, kanałach, komunikaty ustalone dla ograniczenia długości transmisji.. można w ten sposób pokazać że krótkofalarstwo to również rozwiązania nowoczesne, a co ważne, możliwe do zbudowania za małe pieniądze w jedno popołudnie. Inne zastosowanie to komunikacja systemowa z innymi urządzeniami, np. przemiennikiem do którego nie mamy dostępu przez internet, a nie chcemy tego robić na kanale przemiennika, nawet prosty algorytm ustalania adrwsów oparty o bieżącą datę/godzinę bardzo ograniczy możliwość podsłuchu i przejęcia kontrroli nad zdalnym urządzeniem.

Jeśli ktośą będzie zainteresowany tematem chętnie podam więcej informacji.

W najbliższym czasie chce sprawdzić jak to wygląda w terenie, jakiś najprostszy zestaw arduino+E32 i drugi zostawiony w domu + mały spacerek po okolicy.. nie widze przeciwwskazań co do podłączenia do tego modułu GPS, z pominieciem arduino i przesyłaniem wprost danych z GPS...


  PRZEJDŹ NA FORUM