js8call de kn4crdbygra.pl/.../uploads/2019/06/js8call-guide-1.1.0.pl_.docx · web viewraportowanie...

38
JS8Call de KN4CRD 2019-06-18 - v1.1.0 Tłum. Paweł, SQ8F - wersja z 23.06.2019. Emisja JS8Call została opracowana jako eksperyment łączący niezawodność FT8 z warstwą protokołu realizującego połączenia i transmitującego wiadomości w celu uzyskania komunikacji przy słabych sygnałach. To oprogramowanie open source zostało zaprojektowane dla krótkofalowców, którzy zmagają się z pracą przy słabych sygnałach. Oferuje ono równocześnie możliwość komunikacji w czasie rzeczywistym, przechowywanie i przekazywanie informacji do innych stacji oraz automatyczne rozgłaszanie stacji. JS8Call została w dużej mierze zainspirowana aplikacjami WSJT-X , Fldigi i FSQCall i nie powstałaby bez ciężkiej pracy i zaangażowania wielu programistów ze społeczności krótkofalarskiej. JS8Call opiera się na ramionach gigantów… stąd start jest dużo łatwiejszy. Czytaj więcej na temat inspiracji projektu (ang.). Dołącz do grupy, gdzie prowadzona jest dyskusja oraz ogłaszane są udostępnienia nowych wersji: https://groups.io/g/js8Call

Upload: others

Post on 22-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

JS8Call de KN4CRD2019-06-18 - v1.1.0

Tłum. Paweł, SQ8F - wersja z 23.06.2019.

Emisja JS8Call została opracowana jako eksperyment łączący niezawodność FT8 z warstwą protokołu realizującego połączenia i transmitującego wiadomości w celu uzyskania komunikacji przy słabych sygnałach. To oprogramowanie open source zostało zaprojektowane dla krótkofalowców, którzy zmagają się z pracą przy słabych sygnałach. Oferuje ono równocześnie możliwość komunikacji w czasie rzeczywistym, przechowywanie i przekazywanie informacji do innych stacji oraz automatyczne rozgłaszanie stacji. JS8Call została w dużej mierze zainspirowana aplikacjami WSJT-X, Fldigi i FSQCall i nie powstałaby bez ciężkiej pracy i zaangażowania wielu programistów ze społeczności krótkofalarskiej.

JS8Call opiera się na ramionach gigantów… stąd start jest dużo łatwiejszy.

Czytaj więcej na temat inspiracji projektu (ang.).

Dołącz do grupy, gdzie prowadzona jest dyskusja oraz ogłaszane są udostępnienia nowych wersji: https://groups.io/g/js8Call

Historia● 6 lipca 2017 - Jordan, KN4CRD, opracował początkowy pomysł użycia modyfikacji protokołu FT8

w celu wsparcia dłuższych QSO i przedstawił go na liście mailingowej WSJT-X:

https://sourceforge.net/p/wsjt/mailman/message/35931540/● 31 sierpnia 2017 - Jordan, KN4CRD, nieco rozwinął i zmodyfikował oprogramowanie WSJT-X aby

umożliwić dłuższe łączności z użyciem istniejącego protokołu FT8:https://sourceforge.net/p/wsjt/mailman/message/36020051/. Wysłał on również przykładowe nagranie na grupę WSJT-X: https://widefido.wistia.com/medias/7bb1uq62ga

● 8 stycznia 2018 - Jordan, KN4CRD, rozpoczął pracę nad projektem aplikacji do dłuższych QSO opartej na FT8 z przeprojektowanym interfejsem użytkownika.

● 9 lutego 2018 - Jordan, KN4CRD, zadał pytanie na grupie WSJT-X w celu sprawdzenia, czy wystąpi zainteresowanie kontynuacją projektu: https://sourceforge.net/p/wsjt/mailman/message/36221549/

● 10 lutego 2018 - Jordan KN4CRD, Julian OH8STN, John N0JDS i grupa Portable Digital QRP przeprowadzili eksperyment z wykorzystaniem FSQ. Narodził się pomysł FT8Call, jako łączącego FT8, długie QSO i możliwości FSQCall.

● 11 lutego 2018 - Jordan, KN4CRD, zaproponował zintegrowanie pracy z długimi wiadomościami do oprogramowania WSJT-X: https://sourceforge.net/p/wsjt/mailman/message/36223372/

● 12 lutego 2018 - Joe Taylor, K1JT, odpisał: https://sourceforge.net/p/wsjt/mailman/message/36224507/, mówiąc nie i prosząc o nie zrażanie się i kontynuowanie rozwoju nowej aplikacji wedle własnego życzenia. (oryg. “Please don't let my comment discourage you from proceeding as you wish, toward something new.”)

● 4 marca 2018 - Jordan, KN4CRD, opublikował dokumentację projektową FT8Call:https://github.com/jsherer/ft8call

● 6 lipca 2018 - wersja 0.0.1 FT8Call została wydana w grupie deweloperów.● 15 lipca 2018 - wydanie wersji 0.1 - tuzin testerów.● 21 lipca 2018 - wydanie wersji 0.2 - 75 testerów.● 27 lipca 2018 - wydanie wersji 0.3 - 150 testerów.● 12 sierpnia 2018 - wydanie wersji 0.4 - (“przeciek” na QRZ) - 500 testerów.● 2 września 2018 - wydanie wersji 0.5 - 3000 testerów.● 14 września 2018 - wydanie wersji 0.6 - 5000 testerów.● 8 października 2018 - wydanie wersji 0.7 - 6000 testerów, zmiana nazwy emisji na JS8 i JS8Call.● 31 października 2018 - wydanie wersji 0.8 - ~7000 testerów.● 15 listopada 2018 - wydanie wersji 0.9 - ~7500 testerów.● 30 listopada 2018 - wydanie wersji 0.10 - ~7800 testerów.● 18 grudnia 2018 - wydanie wersji 0.11 - ~8200 testerów.● 1 stycznia 2019 - wydanie wersji 0.12 - ~9000 testerów.● 23 stycznia 2019 - wydanie wersji 0.13 - ~9250 testerów.● 7 lutego 2019 - wydanie wersji 0.14 - ~9600 testerów.● 21 lutego 2019 - wydanie wersji 1.0.0-RC1 - ~10000 testerów.● 11 marca 2019 - wydanie wersji 1.0.0-RC2 - >10000 testerów.● 26 marca 2019 - wydanie wersji 1.0.0-RC3 - >11000 testerów.● 1 kwietnia 2019 - wydanie wersji 1.0.0 ogólnodostępnej - wydanie publiczne!

UwagaJS8Call jest pochodną aplikacji WSJT-X, zrestrukturyzowanej i przeprojektowanej w celu przekazu wiadomości z użyciem przerobionej emisji FT8, nazwanej JT8. Nie jest ona wspierana ani zatwierdzana przez grupę deweloperów WSJT-X. Podczas, gdy grupa WSJT-X zachowuje prawa do oryginalnego opracowania i kodu, JS8Call jest opracowaniem pochodnym na i w zgodzie z licencją GPLv3. Modyfikacje kodu źródłowego są udostępnione publicznie i mogą być pobrane z gałęzi js8call tego repozytorium:https://bitbucket.org/widefido/js8call/

JS8Call jest i zawsze będzie darmowym oprogramowaniem open-source (możesz z nim robić co chcesz, za cenę dokładnie $0).

Możesz zapytać… dlaczego zostało nazwane JS8Call? Dlaczego zmieniono nazwę z FT8Call? Dlaczego nie jakoś inaczej, jak BACON czy HF Messenger? Dobre pytanie! Zostało tak nazwane przez wzgląd na hołd jego dziedzictwa:

● JS8Call poprzednio nazywało się FT8Call.● JS8Call używa przerobionej modulacji FT8, nazwanej JS8 (modulacja 8-FSK projektu Jordana

Sherer’a). To jest podstawa warstwy transportowej RF.● JS8Call posiada protokół “połączeń skierowanych” nałożony na radiową warstwę transportową, w celu

wsparcia przekazywania dowolnych wiadomości do zaadresowanego odbiorcy.

Stąd JS8 + połączenia skierowane (ang. Directed Calling) = JS8Call. W przypadku gdy wciąż nie jest to jasne:

● Oprogramowanie to: JS8Call● Emisja to: JS8

Pobieranie i instalacjaJS8Call jest obecnie dostarczane w wielu wersjach.

● Desktop Linux (64-bit x86_64, deb)● Desktop Linux (32-bit i386, deb)● Raspbian Stretch (armv7, deb)● Windows 10 (win32_64)

○ Windows 10 jest jedynym, oficjalnie wspieranym w tej chwili systemem Windows, ale potwierdzono działanie aplikacji ze wszystkimi wersjami wstecz do Windows XP.

● Mac OSX 10.11+ (x86_64)

Aby uzyskać dostęp do najbardziej aktualnych linków, najpierw przyłącz się do grupy groups.io, a następnie sprawdź:

● JS8Call Release Announcements ● JS8Call Release Download Links

Oczywiście, możesz zawsze zaglądnąć również do kodu źródłowego.

Uwaga: Wersje deweloperskie JS8Call posiadają tylko około 14-dniowy czas działania. Po wygaśnięciu konieczne będzie zaktualizowanie do najnowszej wersji aplikacji. Rozwiązanie to pomaga każdemu

użytkownikowi korzystać z wersji kompatybilnej z innymi podczas rozwoju i testów oprogramowania. Limit ten nie istnieje w przypadku wydań stabilnych wersji ogólnodostępnych.

ZaczynamySynchronizacja zegara / koordynacja.Aplikacja wyświetla bieżący czas komputera PC w formacie UTC. Dokładny zegar jest niezbędny do działania JS8Call, gdyż dekoder pracuje z 15-sekundowymi oknami transmisji (ramkami). Różnica zegara powyżej dwóch sekund od UTC może prowadzić do braku dekodowania wiadomości. Do synchronizacji najlepiej użyć internetu, NTP lub źródła GPS aby ustawić zegar najdokładniej jak to możliwe.

JS8Call jest wyposażony w manualne narzędzie do korekcji zegara. Może być ono wykorzystane do skorygowania czasu w aplikacji w porównaniu z sygnałami na paśmie, które możesz zobaczyć lub usłyszeć (lub z innym źródłem czasu, jak zegarek, ręczny odbiornik GPS, sygnał czasu czy pianie koguta). Funkcja ta została opracowana z myślą o sytuacjach awaryjnych, gdy synchronizacja czasu nie jest możliwa w sposób automatyczny (np. w terenie, bez dostępu do internetu).

Uwaga: Dokładna synchronizacja godziny nie jest konieczna, ważne jest tylko zsynchronizowanie się z początkiem 15-sekundowego okna, +/- 2 sekundy. Większość operatorów będzie w stanie ręcznie zsynchronizować zegar systemowy w oparciu o sygnały z wodospadu i raportowaną odchyłkę dla każdej odebranej stacji.

USB - tylko górna wstęga.Należy się upewnić, że radio jest ustawione na pracę z górną wstęgą (USB), niezależnie od pasma. Praca z dolną wstęgą (LSB) spowoduje odwrócenie sygnałów i brak ich dekodowania.

Cykl pracy.Modulacja JS8 charakteryzuje się stałą obwiednią o pełnej mocy, z którą są nadawane 12,6 sekundowe ramki. Z powodu pustych miejsc pomiędzy kolejnymi ramkami, transmisja podzielona na wiele ramek może być uznana jako 84% wypełnienia w każdym 15 sekundowym oknie (12,6 / 15 = 0,84).

Należy zwrócić uwagę na ograniczenia mocy zalecane przez producenta transceivera przy transmisji sygnałów cyfrowych o 100% wypełnieniu. W przypadku niepewności należy użyć tylko połowy maksymalnej mocy wyjściowej nadajnika, aby oszczędzić wzmacniacz mocy.

Poziomy audio.Wyjściowy i wejściowy poziom audio decyduje o jakości nadawania i odbioru. Zbyt wysokie poziomy wywołują zniekształcenia. Zbyt niskie mogą prowadzić do braku modulacji i demodulacji. Odpowiednie skalibrowanie to ważny krok przed rozpoczęciem pracy.

Poziom wyjściowy i ALC.Najlepiej jest ustawić taki poziom wyjściowy audio, aby był wystarczający do pełnego wysterowania nadajnika, ale bez aktywacji ALC. Zbyt wysokie wysterowanie spowoduje zniekształcenie tonów przez ALC i wiele stacji nie będzie w stanie zdekodować takiej transmisji.

Poziom wejściowy i AGC.W celu uzyskania najlepszego dekodowania warto wyłączyć AGC (lub ustawić je na tryb szybki) i ustawić poziom wejściowy audio tak, żeby uzyskać 30-40 dB na mierniku sygnału w aplikacji. Może być konieczne

poeksperymentowanie z nastawami, które będą najlepsze dla danej stacji lub włączenie tłumika w przypadku silnych sygnałów.

Pierwsza łącznośćPrzewodnik krok po kroku dostępny wkrótce.

Obsługa JS8CallOsoby używające wcześniej FSQ, Fldigi czy WSJT-X, poczują się jak ryba w wodzie obsługując JS8Call. Różnicą jest to, że JS8Call używa zmienionego kodowania FT8 do tworzenia wiadomości JS8 i rozdziela długie wiadomości tekstowe na wiele kolejnych, piętnastosekundowych cykli, z czasem nadawania ramki równym 12,6 sekundy.

Po uruchomieniu aplikacji ukaże się poniższy ekran:

Aktywność na paśmie (Band Activity)Po lewej stronie jest przedstawiona aktywność na paśmie. Aktywność stacji (znaki, które zostały odebrane) jest umieszczona po prawej stronie. Kliknięcie prawym klawiszem myszy ukaże menu pozwalające ustawić przesunięcie częstotliwości audio nadawania/odbioru na żądaną wartość (QSY) i wysłać konkretną wiadomość.

Aktywność stacji (Call Activity)W polu aktywnych stacji, gdy korespondent wyśle wiadomość do ciebie, znaczek ★ pojawi się obok jego znaku wywoławczego. Pomaga to szybko odczytać stacje, które potwierdzają, że cię słyszą.Kiedy stacja nadaje wywołanie ogólne (CQ), znaczek pojawi się obok znaku stacji na czas pięciu minut.☎ Pomaga to odnaleźć stacje, które pracują na wywołaniu. Jeżeli stacja zostawiła wiadomość, znaczek pojawi się obok jej znaku. Wiadomość może zostać odczytana⚑ przez kliknięcie prawym klawiszem myszy na znaku stacji i wybraniu opcji “Show Message Inbox”. Odległość od danej stacji i azymut wyznaczane są na podstawie sześciu znaków QTH lokatora. Jest to wystarczające do uzyskania dokładności 4,6 km. W przypadku mniejszej odległości zarówno odległość jak i azymut pokażą wartość zero.

WodospadU dołu okna znajduje się wodospad pokazujący sygnały w odbieranym paśmie audio. Kliknięcie na wodospadzie pozwala na ustawienie offsetu audio i wybranie tym samym dokładnej częstotliwości pracy.

Istnieje również możliwość ustawienia się na pożądanej częstotliwości ustawiając odbierany sygnał w środku pasma przenoszenia odbiornika. Ułatwia to pracę z użyciem wąskich filtrów w transceiverze.

WiadomościGórne żółte pole tekstowe pokazuje wiadomości transmitowane na wybranej częstotliwości oraz wiadomości zaadresowane wprost do ciebie (zawierające Twój znak wywoławczy).

Wiadomości do nadania należy wpisywać w białe okno poniżej. Nie obowiązują tutaj ograniczenia standardowej emisji FT8 dotyczące zestawu możliwych znaków! Rozszerzony zestaw znaków zawiera wszystkie drukowalne, wielkie znaki ASCII (A-Z 0-9 Space ./?+-`~!@#$%^&*()_=[]\{}|;’:”,<>). Kodowanie transmisji jest zmienne, w efekcie czego najbardziej popularne znaki zajmują najmniej miejsca w ramce. Znaki specjalne zajmują więcej miejsca.Podczas wpisywania wiadomości do wysłania, na przycisku Send wyświetlana jest liczba ramek (15-sekundowych cykli) potrzebnych do wysłania całej treści. Aby wysłać wiadomość należy kliknąć na przycisku Send (lub nacisnąć Enter). Transmisja rozpocznie się od następnego cyklu. Ramki transmitowane są jedna po drugiej. Liczba na przycisku zmniejsza się pokazując liczbę ramek pozostałych do zakończenia nadawania wiadomości.

Ze względu na użycie dedykowanego kodowania, nadawane wiadomości JS8Call nie będą dekodowane przez aplikację WSJT-X. Tak samo ramki nadane w WSJT-X nie zostaną zdekodowane przez JS8Call.

Wiadomości dzielą się na trzy rodzaje:1. Standardowe wiadomości JS8Call z dowolnym tekstem.2. Wiadomości bez oznaczonego odbiorcy.3. Wiadomości z oznaczonym odbiorcą.

Standardowe wiadomościWiadomości standardowe to dowolne wiadomości tekstowe nie zaczynające się od znaku korespondenta i nie będące poleceniem. Tego rodzaju wiadomości wyświetlą się u odbiorcy wyłącznie w sytuacji, kiedy ma on wybraną taką samą częstotliwość z dokładnością do 10Hz. Taka praca jest bardzo podobna do korzystania z innych transmisji cyfrowych, jak Olivia, RTTY czy PSK.

Wiadomości bez oznaczonego odbiorcyWiadomości te to specjalnie sformatowane ramki JS8Call. Informują one o nadawaniu wywołania ogólnego (CQ) czy transmisji beacona (Heartbeats - HB). Nie ma w nich określonego odbiorcy.

Wiadomości z oznaczonym odbiorcąWiadomości te są specjalnym rodzajem transmisji JS8Call, gdzie występuje automatycznie dodawany prefix w postaci Twojego znaku wywoławczego, podobnie jak działa program FSQCall. Nie ma konieczności ręcznego dodawania własnego znaku w treści wiadomości, co pozwala na wysłanie dłuższego tekstu, jak również poinformowanie odbiorcy, że przekaz jest kierowany do niego. Tak długo jak u korespondentów

pokrywa się szerokość odbieranego pasma audio, nie ma konieczności ustawiania dokładnego offsetu na wodospadzie, aby wiadomość z oznaczonym odbiorcą została odebrana.

Aby wysłać wiadomość do wybranego odbiorcy wystarczy podać jego znak wywoławczy jako pierwszy wyraz wysyłanego tekstu. Można także wybrać znak z listy stacji odbieranych, zostanie on wpisany automatycznie do okna nadawanej wiadomości.

Na końcu przesyłanego tekstu można zaobserwować znaczek ♢. Ten symbol oznacza koniec transmisji. JS8Call wyświetla go po przesłaniu ostatniej ramki danej wiadomości. Pozwala to na wizualne potwierdzenie, że transmisja się zakończyła i można rozpocząć nadawanie odpowiedzi. Kształt tego znaczka można wybrać w menu Configuration.

Wiadomości skierowane do Ciebie (i do wszystkich - @ALLCALL) są wyświetlane w górnym oknie odbiorczym. W trakcie odbioru ramek składających się na skierowaną do Ciebie wiadomość (tzn. po odebraniu pierwszej ramki), Twoja stacja nie będzie odpowiadała na komendy automatyczne (nawet przy ustawieniu AUTO on). Ponowna aktywacja trybu automatycznego nastąpi po odebraniu ostatniej ramki wiadomości lub po upływie czasu oczekiwania (minuta od ostatniej zdekodowanej ramki).

Znak wywoławczy @ALLCALL“@ALLCALL” jest specjalnym grupowym znakiem wywoławczym. Umożliwia on wysłanie wiadomości do wszystkich stacji, które będą w stanie ją odebrać. Przykładowo:

● @ALLCALL HELLO NET PSE QSY 14300○ Zostanie wysłane jako: KN4CRD: @ALLCALL HELLO NET PSE QSY 14300 ♢

Znak wywoławczy grupyZnak ten jest specjalną formą znaku złożonego z “@” na początku, mogącego mieć długość do ośmiu znaków alfanumerycznych (A-Z 0-9). Zapisując to jako wyrażenie regularne:

[@][A-Z0-9\/]{0,3}[\/]?[A-Z0-9\/]{0,3}[\/]?[A-Z0-9\/]{0,3}

Stosowanie znaku wywoławczego grupy pozwala na skierowanie wiadomości do każdego kto “dołączył” do grupy. Dołączenie do grupy polega na dodaniu jej znaku w ustawieniach programu.

Przykładowo, będąc członkiem grupy GA ARES i chcąc nadać wiadomość do innych członków, należy wysłać:

KN4CRD: @ARESGA QSL?

Działa to podobnie jak wysłanie wiadomości do @ALLCALL. Każdemu, kto jest członkiem @ARESGA, wiadomość wyświetli się na ekranie.

Program JS8Call zawiera wbudowany standardowy zestaw nazw grup, który można wykorzystać do nadawania wiadomości w taki sam sposób jak do pojedynczych znaków wywoławczych:

● Grupy do użytku przez dowolne sieci (net):○ @JS8NET○ @NET

● Grupy DX kontynentów:○ @DX/NA

○ @DX/SA○ @DX/EU○ @DX/AS○ @DX/AF○ @DX/OC○ @DX/AN

● Regiony ITU:○ @REGION/1○ @REGION/2○ @REGION/3

● Grupy ogólne:○ @GROUP/0○ @GROUP/1○ @GROUP/2○ @GROUP/3○ @GROUP/4○ @GROUP/5○ @GROUP/6○ @GROUP/7○ @GROUP/8○ @GROUP/9

● Grupy dla operatorów sieci:○ @COMMAND○ @CONTROL○ @NTS

Polecenia automatycznePolecenia automatyczne to specjalne wiadomości z oznaczonym odbiorcą. Wysłanie takiej wiadomości do danej stacji spowoduje jej automatyczną odpowiedź, pod warunkiem aktywowania opcji AUTO. Zbudowane są one w oparciu o szablon [ZNAK][POLECENIE]. Lista komend jest następująca:

● SNR? - Jaki jest mój SNR?● GRID? - Jaki jest Twój lokator?● INFO? - Prześlij swoją informację o stacji?● STATUS? - Jaki jest status Twojej stacji (idle time, auto, hb, spot,

version, itp.).● HEARING? - Jakie stacje odbierasz?● ---● >[MESSAGE] - Przekaż tą wiadomość do stacji docelowej

○ Po otrzymaniu całej wiadomości stacja docelowa wyśle w odpowiedzi potwierdzenie ACK.

○ Wiadomość może być opcjonalnie przekazywana do odbiorcy docelowego przez kilka stacji przekaźnikowych, dodając kolejne znaki na początku wiadomości:

■ KN4CRD>HELLO!(wyśle wiadomość do KN4CRD)

■ KN4CRD>DR4CNK>HELLO!(wyśle wiadomość do DR4CNK za pośrednictwem KN4CRD)

■ KN4CRD>DR4CNK>J0Y>HELLO!(wyśle wiadomość do J0Y za pośrednictwem kolejno KN4CRD i DR4CNK)

○ Stacja odpowie również na przesłane w ten sposób polecenia automatyczne (SNR, INFO, GRID, MSG, MSG TO:, itp.) z użyciem wskazanej ścieżki połączeń.

● MSG [MESSAGE] - Zapisz i wyświetl tą wiadomość w inbox.○ Wiadomości zapisane w inbox są dostępne po kliknięciu prawym klawiszem

myszy na znaku korespondenta i wybraniu “View Message Inbox…”.● MSG TO:[ZNAK] [WIADOMOŚĆ] - Zapisz tą wiadomość u siebie w celu późniejszego

odbioru przez stację [ZNAK].○ Zapisuje wiadomość w pamięci dostępnej po ponownym uruchomieniu

programu (na dysku), w celu możliwości jej późniejszego odebrania przez stację docelową z użyciem komendy “QUERY MSGS”.

○ [ZNAK] to pierwszy wyraz po : i jest to końcowy odbiorca wiadomości.● QUERY CALL [ZNAK]? - Czy możesz się połączyć bezpośrednio ze stacją ZNAK?

○ Jeżeli dana stacja słyszy stację ZNAK, to przekaże ona odpowiedź “YES” oraz wyśle potwierdzenie ACK do tej stacji wraz z raportem SNR.

● QUERY MSG [ID] - Wylistuj całość wiadomości oznaczonej identyfikatorem ID.● QUERY MSGS - Dostarcz wszystkie wiadomości, które masz dla mnie zapisane.

○ Każda odpowiedź będzie zawierać ID niedostarczonej jeszcze wiadomości, poczynając od najstarszej.

○ W celu pobrania treści wiadomości należy użyć komendy QUERY MSG z odpowiednim ID.

● AGN? - Stacja korespondenta automatycznie powtórzy ostatnią nadaną wiadomość.

● ---● SNR - Wyślij raport● INFO - Wyślij informacje o stacji● GRID - Wyślij lokator w rozszerzonej dokładności (w celu oznaczenia na mapie

z wykorzystaniem PSKReporter i APRS-IS).

Możemy również skorzystać z listy “krótkich wiadomości”, które mogą być umieszczone w ramce skierowanej do oznaczonego odbiorcy. W przypadku kontaktu bezpośredniego z pojedynczą stacją (nie grupą), zostaną one przesłane z wykorzystaniem tylko jednego cyklu transmisji:

● QSL? - Czy odebrałeś moją ostatnią transmisję?● QSL - Odebrałem Twoją ostatnią transmisję.● YES - Odpowiedź na Twoje ostatnie zapytanie brzmi: TAK.● NO - Odpowiedź na Twoje ostatnie zapytanie brzmi: NIE.● HW CPY? - Jak mnie odbierasz?● RR - Potwierdzam, odebrałem.● FB - Doskonale, świetnie.● TU - Dziękuję.● 73 - Przesyłam pozdrowienia.● SK - Koniec łączności.● DIT DIT - Koniec łączności (telegraficzne dwie kropki).

Przykłady wiadomości:

W celu przesłania zapytania o informację o stacji do DR4CNK, należy nadać:● DR4CNK INFO?

○ Jeżeli stacja DR4CNK ma włączony tryb AUTO, wówczas uzyskamy automatyczną odpowiedź w postaci skierowanej do nas wiadomości: “DR4CNK: KN4CRD INFO 50W VERT IN THE SOUTH OF FRANCE”.

W celu przekazania wiadomość do OH8STN za pośrednictwem DR4CNK, należy nadać następującą komendę:

● DR4CNK>OH8STN>HELLO JULIAN!○ W każdym kroku przekazywania wiadomości znak początkowego nadawcy jest zawsze

dołączany do transmisji.○ Powyższa wiadomość zostanie odebrana przez DR4CNK, następnie zostanie odesłane ACK

oraz przekazana oryginalna wiadomość do odbiorcy jak poniżej:■ Stacja KN4 nadaje:

KN4CRD: DR4CNK>OH8STN>HELLO JULIAN!■ Stacja DR4 przekazuje:

DR4CNK: OH8STN>HELLO JULIAN! DE KN4CRD

Podczas prowadzenia łączności można również korzystać z wiadomości standardowych. W większości przypadków nie będzie to jednak konieczne.

Inbox - Przechowywanie i pobieranie wiadomościWiadomości do oznaczonego odbiorcy mogą zawierać trzy poniższe komendy. Służą one do zapisu i pobierania wiadomości przy wykorzystaniu stacji pośredniczącej:

● MSG TO:[ZNAK] [WIADOMOŚĆ] - Zapisuje WIADOMOŚĆ przeznaczoną dla odbiorcy ZNAK na stacji pośredniej.

● QUERY MSGS - Odpytuje stację pośrednią o listę wiadomości, które zostały dla nas zapisane.

● QUERY MSG [ID] - Pobiera zapisaną dla nas, konkretną wiadomość o identyfikatorze ID.

DO ZROBIENIA: Przydałby się tu jakiś przykład :)

AUTO - Odpowiedzi automatyczneOprogramowanie będzie odpowiadać automatycznie na skierowane do nas polecenia (np. “SNR?”, “INFO?” czy “GRID?”), jeżeli tryb AUTO jest włączony. Gdy AUTO jest wyłączone, wówczas JS8Call umieści odpowiedzi w polu nadawczym, skąd będzie można je ręcznie nadać w dogodnym momencie.

Jeśli chcemy pracować w trybie AUTO, ale nie chcemy pracować jako stacja pośrednia, możemy wyłączyć tą opcję w ustawieniach.

LOG - Log stacjiAby wywołać okno logowania należy kliknąć przycisk logowania lub wcisnąć F5. Oprogramowanie uzupełni automatycznie informacje, o ile to będzie możliwe. Zazwyczaj pozostaje kilka pozycji do uzupełnienia ręcznego, gdyż łączności JS8 odbywają się dowolnym tekstem i nie są zautomatyzowane.

Dane logu przechowywane są w plikach JS8Call.log i JS8Call.adif. Folder z logiem można otworzyć przez wybranie w menu “File -> Open log directory”.Obecnie funkcja logowania zapisuje kontakty zgodnie ze specyfikacją ADIF jako emisja MFSK i subemisja JS8. Istnieje również możliwość ustawienia logowania jako DATA zamiast MFSK i JS8.

Po zalogowaniu wybrany znak do łączności z oznaczonym odbiorcą jest automatycznie odznaczany. Ta funkcja może być wyłączona w ustawieniach programu.

SPOT - raportowanie odebranych stacjiPo włączeniu funkcji SPOT, JS8Call będzie raportował odebrane znaki na serwer PSKReporter. Stacje będą zgłaszane jako pracujące emisją JS8Call.

JS8Call wysyła również na serwer APRS-IS / aprs.fi odpowiedzi na komendę GRID, z sześcioznakowym lub dłuższym lokatorem. Gdy zależy nam na dokładności, należy pamiętać o wpisaniu do programu przynajmniej sześcioznakowego lokatora. Pod linkiem http://k7fry.com/grid/ znajduje się mapa, która pomoże określić swój lokator. Jeżeli są dostępne współrzędne geograficzne, można również użyć do przeliczenia skryptu lonlat2maiden umieszczonego tutaj: http://www.jidanni.org/geo/maidenhead/.

HB - informacja o aktywności (heartbeat)Aplikacja posiada automatyczny mechanizm nadawania wiadomości informującej o aktywności stacji (heartbeat). Po włączeniu tej opcji wiadomości są nadawane zgodnie z nastawionym interwałem czasowym. Czas pomiędzy wiadomościami można zmienić po kliknięciu prawym przyciskiem myszy na przycisku HB (z prawej strony, u dołu ekranu). Wiadomości o aktywności stacji nadawane są na losowo wybranej, wolnej częstotliwości z zakresu audio od 500Hz do 1000Hz, w celu uniknięcia zakłócania innych stacji. Istnieje również możliwość konfiguracji nadawania tych wiadomości na dowolnej częstotliwości, co może być użyteczne szczególnie na dolnych pasmach, jak 160m czy 630m.Jeżeli w programie aktywowaliśmy tryb AUTO i wybraliśmy funkcję potwierdzania wiadomości heartbeat, wówczas nasza stacja będzie automatycznie na nie odpowiadać informując o słyszalności odpowiedniego nadawcę. Odpowiedź taka traktowana jest również jako uproszczona wersja informacji o aktywności naszej stacji i jej nadanie zeruje licznik czasu nadawania własnej informacji heartbeat. Założeniem nadawania informacji o aktywności naszej stacji nie jest badanie warunków propagacyjnych. Ta funkcja służy do informowania o aktywności na paśmie (lista stacji po prawej stronie ekranu) w celu sprawdzenia jakie stacje są osiągalne do przeprowadzenia łączności. W końcu nie można przeprowadzić QSO, jeżeli nie słyszymy drugiej stacji (albo ona nas). Należy pamiętać, że funkcja heartbeat nie służy do rozpoczynania łączności. Włączenie jej należy traktować jak “przyłączenie się” do grupy stacji. Pozwala to na zaplanowanie użycia stacji przekaźnikowych oraz określenia stacji pośredniej do przechowania wiadomości. Wiadomości heartbeat i ich potwierdzenia są metodą na określenia topologii sieci i stacji pośrednich (">"), pozwalających na przesłanie przez tą sieć wiadomości, które będą odczytane później (podobnie jak SMS).

Jeżeli stacja odbierająca naszą wiadomość o aktywności przechowuje dla nas wiadomość od innej stacji, wówczas informacja o tym zostanie przesłana w potwierdzeniu naszego heartbeat jak poniżej:

KN4CRD: KM4ACK ACK -12 MSG 32 ♢

Podczas przeprowadzania QSO (podczas odbierania wiadomości skierowanej do nas) licznik funkcji heartbeat zostaje wyzerowany, aby zapobiec zakłóceniu przeprowadzanej łączności.

Należy pamiętać, że nadawanie bez obecności operatora może być nielegalne, w zależności od kraju. Dla bezpieczeństwa najlepiej aktywować funkcję automatycznego nadawania informacji o aktywności stacji tylko na czas obecności przy radiostacji. Program pozwala również skorzystać licznika nieaktywności, który sam zablokuje nadawanie gdy stacja pozostaje bez opieki.

CQ - Wywołanie ogólneStandardowym sposobem na wywołanie ogólne jest nadanie wiadomości “CQCQCQ”. Taka treść wywołania jest ustawiona domyślnie, lecz może być ona zmieniona w ustawieniach. Poniższe treści wiadomości wywołania ogólnego zostaną nadane jako pojedyncza piętnastosekundowa transmisja:

● CQCQCQ● CQ CQ CQ● CQ CQ● CQ● CQ CONTEST● CQ FIELD● CQ QRP● CQ DX

Używając jednej z nich można również dodać czteroznakowy lokator i wiadomość nadal będzie zakodowana tak, aby zmieścić się w jednym cyklu:

● CQCQCQ EM73● CQ CQ CQ AA99● CQ CQ BB88● CQ CC77● CQ CONTEST FN04● CQ FIELD AB01● CQ QRP JO42● CQ DX GC28

Rozpoczęcie nadawania CQ z użyciem jednego z tych formatów spowoduje nadanie wiadomości jako skierowanej do odbiorcy, co znaczy, że automatycznie zostanie dodany nasz znak wywoławczy. Bez problemu można dodać inne informacje do wywołania, np:

● CQ QRP 500MW CQ?

Odejście od ustalonych formatów spowoduje, że wyślemy wiadomość bez oznaczonego odbiorcy, bez dołączonego lokatora, a nasz znak wywoławczy trzeba będzie dodać ręcznie.

Wywołanie ogólne można również nadawać automatycznie w powtarzalnych przedziałach czasu. W celu skonfigurowania tej funkcji należy kliknąć prawym klawiszem myszy na przycisku CQ i wybrać pożądany przedział czasu. Stacja będzie powtarzać wywołanie ogólne dopóki nie zostanie odebrana wiadomość.

REPLY - Odpowiadanie na wywołanie ogólneStandardowym komunikatem wysyłanym w odpowiedzi na wywołanie ogólne jest “HW CPY?”. Pozwala to wybrać nadającemu wywołanie jedną z odpowiadających stacji poprzez przesłanie jej raportu. Standardową

odpowiedź można zmienić, należy jednak pamiętać, że większość stacji odpowie treścią mieszczącą się w jednym piętnastosekundowym cyklu. Poniżej zamieszczono przykład takiej łączności:

○ →KN4CRD: CQ QRP EM73 ♢○ ←DR4CNK: KN4CRD HW CPY? ♢○ →KN4CRD: DR4CNK SNR -12 TU 4 CALL QSL? ♢○ ←DR4CNK: KN4CRD RR -22 FB INTO GO28 GUD QRP DX! ♢

KonfiguracjaGeneral (Station i Behavior)Do zrobienia

Radio (CAT i PTT control)PTT Command to zaawansowana funkcja do sterowania radiem. Pozwala ona aplikacji JS8Call wykonać zewnętrzny skrypt kontrolujący PTT radiostacji:

PTT command pozwala na wykonanie dowolnej komendy linii poleceń do przełączania PTT radiostacji.

W powyższym przykładzie, skrypt toggle-ptt zostanie wywołany z parametrami -p 17 i -s w chwili przełączania nadawania. Symbol %1 w powyższym wywołaniu zostanie zastąpiony przez “on” lub “off”, w zależności od stanu PTT. Jeżeli %1 nie zostanie umieszczone w treści komendy, wówczas, “on” lub “off” zostanie dodane na końcu wywoływanego polecenia.

Przykład:

Jeżeli PTT command zdefiniujemy jako: /usr/bin/ptt %1JS8Call przy przejściu na nadawanie wywoła: /usr/bin/ptt “on”Kiedy nadawanie się zakończy, zostanie wywołane: /usr/bin/ptt “off”

Funkcja ta jest przydatna przy korzystaniu z Raspberry Pi / DRAWS, gdy porty GPIO są wykorzystanie do sterowania PTT radiostacji. Przykładowy skrypt można znaleźć tutaj:https://gist.github.com/jsherer/dd09895ab23bdf571e2117cdd814c198

Audio (Sound Card)Przy konfiguracji karty dźwiękowej możliwe jest wybranie niezależnych urządzeń jako wejście lub wyjście. Należy wybrać to urządzenie, które jest podłączone lub wbudowane w radiostację. W zależności od możliwości podłączonego urządzenia możemy wybrać tryb pracy wejścia i wyjścia jako stereo lub mono.

Konfigurując urządzenia dźwiękowe należy zadbać o odpowiednie poziomy sygnałów wejściowego i wyjściowego:

1. Należy się upewnić, że karta dźwiękowa wybrana jako wejście nie ma włączonego wzmacniacza mikrofonowego. Ustawienie to jest zazwyczaj dostępne w konfiguracji systemu operacyjnego komputera. Poziom sygnału wejściowego należy ustawić na 100%.

2. Przestrajając VFO należy znaleźć fragment cichy pasma bez obecnych sygnałów.3. Ustawić poziom AF Gain na maksymalną wartość.4. Wyregulować RF Gain radiostacji tak, aby S-metr pokazywał wartość 0.5. Jeżeli nie można ustawić tej wartości poprzez regulację RF Gain, należy włączyć tłumik odbiornika.

Zazwyczaj jest to potrzebne w przypadku dużych szumów pasma lub obecności lokalnych zakłóceń. Większość tłumików ma wartość -10 dB do -15 dB, zazwyczaj potrzebna jest zatem niewielka korekta RF Gain.

6. Jeżeli powyższe regulacje są ciągle niewystarczające, oznacza to warunki o ekstremalnie wysokich szumach. W takim przypadku można próbować regulować AF Gain do sprowadzenia poziomu wejściowego do pożądanego przedziału 30 - 60 dB, odczytując ze wskaźnika w aplikacji.

Wejściowy poziom audioza niski!

Wejściowy poziom audio prawidłowy.

Wejściowy poziom audioza wysoki!

Raportowanie (Spotting i API)Do zrobienia

Częstotliwości (Calling Frequencies i Band Hopping)Większość stacji testujących aplikację można spotkać +/- 4 do 8 kHz od standardowych częstotliwości FT8. Należy unikać głównych częstotliwości FT8, aby nie wprowadzać w błąd operatorów używających WSJT-X. Poniżej zamieszczono listę sugerowanych częstotliwości:

● 160m: 1.842 MHz // 2kHz powyżej FT8● 80m: 3.578 MHz // 5kHz powyżej FT8● 40m: 7.078 MHz // 4kHz powyżej FT8● 30m: 10.130 MHz // 6kHz powyżej FT8● 20m: 14.078 MHz // 4kHz powyżej FT8● 17m: 18.104 MHz // 4kHz powyżej FT8● 15m: 21.078 MHz // 4kHz powyżej FT8● 12m: 24.922 MHz // 9kHz powyżej FT8● 10m: 28.078 MHz // 4kHz powyżej FT8● 6m: 50.318 MHz // 5kHz powyżej FT8● 2m: 144.178 MHz // 4kHz powyżej FT8

Można zauważyć, że kilka z nich leży blisko częstotliwości używanych przy JT9. Nie chwytaj za widły! JS8Call blokuje nadawanie w dolnych 500 Hz pasma. Zostawia to dosyć miejsca dla dwudziestu pięciu jednoczesnych transmisji JT9. Można również zauważyć, że na liście brakuje kilku pasm. JS8Call nie proponuje standardowych częstotliwości dla 2200 m, 630 m, 60 m, czy wyższych niż 2 m, ponieważ wiele z nich jest traktowana szczególnie i podlega różnym przepisom w różnych krajach. Do operatora należy wybór najlepszej częstotliwości i sposobu pracy na tych pasmach.

Należy pamiętać, że są to tylko sugerowane częstotliwości. Wszyscy mamy gałki VFO, więc proszę je używać. Pamiętaj tylko, że dobry operator unika zakłócania innych sygnałów na naszych wspólnych pasmach.

Możemy wpisać dowolną częstotliwość. JS8Call nie ogranicza częstotliwości jakie możemy ręcznie wprowadzić.

Możesz skorzystać z listy dyskusyjnej Sked Chat lub grupy Facebook aby umówić się z innym operatorem na częstotliwość do testów.

Jeśli chcesz nadawać na niestandardowej częstotliwości, możesz zarówno zmienić listę w ustawieniach lub możesz wpisać ją bezpośrednio w polu częstotliwości w górnej lewej części ekranu.

Jeżeli chcesz dodać własne częstotliwości do pracy JS8Call, możesz to zrobić w ustawieniach:

Jeżeli chcesz przywrócić częstotliwości domyślne, należy kliknąć prawym klawiszem myszy i wybrać Reset.

Zapisane wiadomości (Macros)Program posiada kilka przycisków umożliwiających szybkie nadanie standardowych wiadomości. Treść tych wiadomości może być zdefiniowania w ustawieniach JS8Call. Należy pamiętać, że długie wiadomości potrzebują dużo czasu na ich nadanie.Zapisane wiadomości mają wbudowaną funkcjonalność makr. Możemy używać w ich treści zmiennych (słowa otoczone przez znaki <>), których treść zostanie wstawiona przy nadaniu wiadomości:

● <MYCALL> - nasz znak wywoławczy,● <MYGRID4> - nasz czteroznakowy lokator,● <MYGRID12> - nasz rozszerzony lokator (maksymalnie 12 znaków),● <MYINFO> - informacja o naszej stacji,

● <MYCQ> - nasze wywołanie CQ,● <MYREPLY> - nasza standardowa odpowiedź,● <MYSTATUS> - status naszej stacji,● <CALL> - wybrany znak korespondenta,● <SNR> - raport SNR dla wybranego korespondenta,● <TDELTA> - róznica czasu między nami a wybranym znakiem.

Makra te możemy wykorzystać do tworzenia innych wiadomości standardowych (CQ, Reply, INFO, itp.).

Powiadomienia (Sound Alerts)Do zrobienia.

Interfejs użytkownika UI (Customize Colors and Font)Do zrobienia.

Tips & Tricks● Bądź dobrym operatorem. Jeżeli widzisz wywołanie ogólne, powinieneś najpierw odpowiedzieć zanim

samemu nadasz CQ.● Jeśli nie odbierasz wywołań, nadaj CQ!

● Przykładowe QSO:○ →KN4CRD: CQCQCQ EM73 ♢○ ←DR4CNK: KN4CRD SNR +01 GOOD SIGNAL ♢○ →KN4CRD: DR4CNK SNR -12 TU 4 CALL RIG IS KX2 5W DIPOLE ♢○ ←DR4CNK: KN4CRD RR -22 FB KX3 100W VERT ♢○ →KN4CRD: DR4CNK RR FB REALLY ENJOYING THE CHAT MODE WITH LONG

MESSAGES. BUT HEY LET’S TRY A RELAY ♢○ … (i tak dalej, i tak dalej, jak długo zechcesz)○ →KN4CRD: DR4CNK 73 ♢○ →KN4CRD: @ALLCALL QRZ? ♢

● Nie dołączaj swojego znaku nadając odpowiedzi do konkretnego korespondenta. Jeżeli na liście słyszanych stacji mamy wybrany znak korespondenta, wówczas nasz znak zostanie dodany automatycznie na początku nadawanej wiadomości.

● Nie musisz odpowiadać na tej samej częstotliwości w kanale audio co korespondent. Jeżeli jednak wywołujesz stację na częstotliwości innej niż ona nadaje, musisz dodać na początku wiadomości jej znak. Taka skierowana do danej stacji wiadomość wyświetli się w jej oknie odbiorczym.

● Wiadomości do oznaczonego odbiorcy mogą pomieścić tyle tekstu co standardowe ramki FT8. Wszystkie poniższe przykłady zostaną nadane w jednym cyklu.

○ Przykłady:■ KN4CRD/P: CQCQCQ EM73 (1 nadana ramka)■ VE3/KN4CRD: CQ QRP EM73 (1 nadana ramka)■ KN4CRD: @ALLCALL? (1 nadana ramka)■ DR4CNK: KN4CRD SNR +15 (1 nadana ramka)

■ DR4CNK: KN4CRD AGN? (1 nadana ramka)

● Aby odpowiedzieć na wywołanie ogólne korespondenta, należy dwukrotnie kliknąć na jego znak w oknie aktywnych stacji. Następnie można wybrać polecenie automatyczne lub wpisać inną wiadomość:

○ DR4CNK: KN4CRD HW CPY?○ DR4CNK: KN4CRD SNR +12○ DR4CNK: KN4CRD YES○ DR4CNK: KN4CRD NO○ DR4CNK: KN4CRD RR○ DR4CNK: KN4CRD 73○ DR4CNK: KN4CRD HELLO MY FRIEND GREAT TO HEAR YOU!

● W każdej chwili można nadać dowolny tekst. JS8Call został zainspirowany właśnie taką funkcjonalnością:

○ HI JIM TU 4 CALL UR -12 INTO ATLANTA BTU DE KN4CRD (4 nadane ramki).

● Pomocne może być nauczenie się i korzystanie ze skrótów telegraficznych i tych używanych przy PSK31:

○ https://en.wikipedia.org/wiki/Prosigns_for_Morse_code ○ http://www.hamblog.co.uk/common-psk31-abbreviations/ ○ Przykłady:

■ K - przechodzę na odbiór (over),■ BTU - twoja kolej (back to you),■ FB - dobrze, znakomicie (fine business),■ HW? - jak odebrałeś? (how do you copy?).

● Generalnie wystarczy wpisywać słowa i zdania, a ich efektywne spakowanie pozostawić oprogramowaniu.

○ Obecnie oprogramowanie posiada funkcję podpowiadania słów (jęz. angielski), która oznacza tekst do nadania w trakcie jego wpisywania (w stylu sprawdzania pisowni). Słowa nie występujące w słowniku (najczęściej niestandardowe skróty) zostaną zaznaczone. Choć jest to sprzeczne z intuicją, stosowanie dużej liczby skrótów często prowadzi do mniejszej efektywności komunikacji.

○ Przykład:■ Tekst do nadania to "CONGRATULATIONS AND WELL WISHES FRIEND". Zostanie on

skompresowany do 67 bitów i uzyskamy prędkość transmisji 20 słów na minutę i 1,76 bitu na znak (24 znaki) w jednej nadawanej ramce.

■ Chcąc być sprytniejszym i stosując skróty do szybszego nadania wiadomości załóżmy tekst "CNGRATS ES WL WISHS FRND". Ma on 10 znaków mniej, ale kompresuje się do 122 bitów. Uzyskujemy 10 słów na minutę i 5,08 bitu na znak. To prawie dwa razy więcej bitów (i oczywiście dwa razy więcej ramek do nadania).

● JS8Call zakłada minimalne ograniczenia na nadawcę. Od operatora i tylko od niego zależy, czy będzie on przestrzegał prawa i ograniczeń swojej licencji.

Najczęściej zadawane pytania (FAQ)● Co jest uznawane jako łączność emisją JS8?

○ Łączność radioamatorska to wymiana informacji między dwiema stacjami.○ Łączność jest tym, czym chcesz, żeby była. Może to być minimalna wymiana informacji, może to być

godzinne “żucie szmat”. Z programu można korzystać jak tylko się chce. ○ Twój znak wywoławczy, raport, imię, lokalizację, wyposażenie stacji, pogoda, itp. są właściwymi

informacjami do przekazania. ○ Należy pamiętać, że zaletą JS8 jest komunikacja otwartym tekstem. Można przekazywać

dowolne informacje podczas łączności. Jeżeli jedyną informacją, którą chcesz przekazać jest lokator i raport, to emisja FT8 będzie zapewne lepszym wyborem.

● Co oznaczają losowe trzy lub sześć znaków na końcu przekazywanej wiadomości i potwierdzenia odbioru wiadomości?

○ To suma kontrolna dodawana do wiadomości w celu potwierdzenia jej poprawności zanim zostanie przekazana lub wyświetlona jako alert. Nie są one wyświetlane w stacji odbierającej wiadomość po zakończeniu transmisji.

● Podano, że można użyć wszystkich drukowalnych wielkich znaków ASCII. Czy transmisja jednych zabiera więcej czasu niż innych?

○ Tak. Znaki wysyłane w wiadomości podlegają zmiennemu kodowaniu o długości od 3 do 19 bitów, w zależności od prawdopodobieństwa ich wystąpienia w zdaniu (j. angielski). Najbardziej powszechny znak zajmuje najmniej miejsca, pozwalając średnio na przesłanie powyżej 13 znaków w jednym cyklu.

○ Przykład: spacja oraz E zajmują jedynie 2,5 bitu. Można ich zatem wysłać około 22 w jednym cyklu. Natomiast znak taki jak { ma długość ponad 14 bitów, można ich zatem wysłać tylko cztery (ale w rzeczywistości jak często ten znak bywa używany?).

○ Poniżej kilka przykładów fraz, które mogą być wysłane w jednym, piętnastosekundowym cyklu:■ EEEEEEEEEEEEEEEEEEEEEE (22 znaki) ■ I HAVE EATEN A SHOE (20 słów na minutę)■ WHICH WAY TO OHIO (16 słów na minutę)■ NEVER HAVE I EVER (16 słów na minutę)■ TU UR 599 4A GA (20 słów na minutę)■ itd.

● Jaka jest prędkość transmisji w JS8Call? ○ JS8Call używa takich samych piętnastosekundowych cykli transmisji jak FT8. Różnicą jest zmienne

kodowanie znaków, co umożliwia nadanie do 22 znaków na jeden cykl. Dla typowych fraz, JS8Call skutecznie kompresuje słowa, pozwalając osiągnąć 15 WPM.

○ Przykład: ■ "WE HOLD THESE TRUTHS TO BE SELF-EVIDENT THAT ALL MEN ARE CREATED EQUAL THAT

THEY ARE ENDOWED BY THEIR CREATOR WITH CERTAIN UNALIENABLE RIGHTS THAT AMONG THESE ARE LIFE LIBERTY AND THE PURSUIT OF HAPPINESS"

● Fraza ma 35 słów. Jej nadanie zajmie 10 cykli (2 min. 30 s.). To około 14 słów na minutę. ■ “A SUCCESSFUL MAN IS ONE WHO CAN LAY A FIRM FOUNDATION WITH THE BRICKS

OTHERS HAVE THROWN AT HIM”● To zdanie ma 19 słów. Zostanie nadane w 5 cyklach (1 min. 15 s.). To nieco ponad 15 WPM.

■ “THIS IS A TEST OF JS8”● Ta fraza ma 6 słów i zajmuje jeden cykl (15 s.). To 24 WPM.

○ W przypadku transmisji alfabetu Morse’a, WPM oblicza się mierząc czas nadawania słowa PARIS. W JS8Call, PARIS zostanie zakodowany w 17 bitach (3,4 bitu na znak). Każdy cykl transkisji pozwala przesłać do 69 bitów. To odpowiada około 16 WPM. (69/17=4,05 słów / (15 sekund * 4)).

○ Aplikacja pokazuje tą informację na pasku statusu:

● Czy 10 - 20 WPM to nie za wolno jak na rozmowę?○ Jeżeli propagacja pozwala na użycie szybszej emisji, to powinna być ona użyta! Jednak

w przypadku kiepskich warunków, które obserwujemy w minimum aktywności Słońca, użycie JS8Call może być złotym środkiem.

○ Może się wydawać, że transmisja jest wolna (i w sumie jest), jednak modulacja FT8 jest możliwa do zdekodowania przy poziomie -24 dB poniżej szumów pasma 2500 Hz. Niewiele emisji może to osiągnąć, w szczególności jeśli używają większych prędkości transmisji. Co to oznacza? JS8Call może działać gdy inne modulacje zawiodą.

○ Wierzymy, że powolna komunikacja jest lepsza niż brak komunikacji.

● Co to jest JS8Call Relay Challenge? ○ To koleżeńskie zawody mające na celu przekazanie wiadomości w obu kierunkach przez jak

największą liczbę kontynentów, korzystając z funkcji przekazywania wiadomości przez stacje pośredniczące.

○ Zostanie przyznana nagroda pierwszej drużynie operatorów JS8Call, którzy osiągną przekazanie wiadomości z jednego kontynentu poprzez dwa inne (NA, SA, EU, AF, AS, OC, AN) i prześlą jej potwierdzenie ACK z powrotem do pierwszej stacji. Wszystko co trzeba zrobić to dostarczyć logi z każdej stacji i opcjonalnie dokumentację fotograficzną lub filmową swojego wyczynu.

○ Poniżej przykład jak może wyglądać taka komunikacja:■ KN4CRD>LB9YH>VK1MIC QSL?■ VK1MIC>LB9YH>KN4CRD QSL

● Czy nadawanie informacji o aktywności (Heartbeat - HB) łamie przepisy FCC 97.221 dotyczące cyfrowych stacji automatycznych w Stanach Zjednoczonych?

○ Operatorzy ze Stanów Zjednoczonych mogą znaleźć odniesienie do odpowiednich przepisów tutaj: http://www.arrl.org/part-97-text

○ Należy pamiętać o:■ 1) Operator jest odpowiedzialny za pracę stacji. Oprogramowanie w jak największym stopniu

wymusza obecność operatora podczas pracy stacji (tryb nadawania HB domyślnie wyłączony, wbudowane ograniczenie czasowe, itp.). Zadaniem operatora jest upewnienie się, że praca stacji jest zgodna z lokalnymi przepisami prawa.

■ 2) Odpowiedzi na zapytania skierowane do naszej stacji podlegają wyjątkom w przepisach §97.221.C.1.

○ Zalecane jest wyłączanie nadawania HB w przypadku nieobecności operatora przy radiostacji, jednak należy być spokojnym pozostawiając włączony tryb AUTO. Wtedy nasza stacja będzie jedynie odpowiadać na zapytania, które nie są nadawane automatycznie przez inne stacje.

● Czy przekazywanie wiadomości (>) łamie w Stanach Zjednoczonych przepisy FCC 97.113.d?○ Dla operatorów ze Stanów Zjednoczonych odniesienie do przepisów zamieszczono tutaj:

http://www.arrl.org/part-97-text○ Kilka wyjaśnień:

■ Stacje przemiennikowe (definicja 40) są stacjami, które retransmitują sygnały radiowe w tej samej chwili na innej częstotliwości.

■ Systemy przekazywania wiadomości (definicja 32) są dozwolone według FCC 97.219.○ Funkcja przekazywania wiadomości w JS8 nie nadaje automatycznie sygnału radiowego na tej

samej lub innej częstotliwości. Taki sposób pracy czyniłby z tej funkcji przemiennik. Zamiast tego oprogramowanie JS8Call bierze udział w systemie przekazywania wiadomości, tworząc nową wiadomość w celu nadania jej poprzez nowy sygnał radiowy. Ten nowy sygnał zawiera oryginalną wiadomość, jej sumę kontrolną i ścieżkę powrotną trasy przekazu do stacji początkowej.

● Dlaczego moja stacja nie odpowiada na @ALLCALL?○ Poprzednie wersje JS8Call (FT8Call) posiadały wiadomość z oznaczonym odbiorcą “@ALLCALL?”,

na którą stacje odpowiadały automatycznym nadaniem raportu. Od wersji 0.7 JS8Call zostało to zastąpione poprzez HB i ACK. Od tej pory stacje nie odpowiadają na zapytanie “@ALLCALL?”.

○ Podobną funkcję może spełnić wysłanie “@ALLCALL QUERY CALL [nasz znak]?”

● Dlaczego moja stacja nie odpowiada (ACK) na informacje o aktywności innych stacji (HB)?○ Trzeba włączyć tryb odpowiedzi na HB i mieć aktywną funkcję AUTO aby wysyłać potwierdzenia

ACK. Ustawienia krok po kroku:■ Włączyć tryb AUTO.■ Kliknąć prawym przyciskiem myszy na HB, wybrać “Send Heartbeat Acknowledgements”.■ Twoja stacja będzie od tej pory odpowiadać na HB wysyłając ACK.

● Czy mogę uruchomić jednocześnie więcej niż jedną kopię JS8Call?○ Tak! Używając opcji -r w linii poleceń można nadać każdej uruchamianej kopii inna nazwę. Tworzy

to również osobne katalogi na pliki konfiguracyjne i logi, można zatem używać kilku radiostacji w tej samej chwili.

● Dlaczego potrzebuję hasła APRS?○ JS8Call umożliwia przekazywanie danych jako iGate APRS-IS. ○ Twoja stacja będzie realizować tą funkcję tylko jeśli podasz prawidłowe hasło APRS, zgodnie

z wymogami sieci APRS-IS.

● Kocham to co robisz. Czy masz konto PayPal lub Patreon gdzie mógłbym cię wesprzeć w ramach podziękowania?

○ Doceniam twój gest! Kontynuuję pracę jako wkład mojego czasu dla środowiska radioamatorskiego. Nie oczekuję jakiejkolwiek zapłaty. Jednak jeżeli czujesz się zobligowany to wesprzyj dowolnie wybraną lokalną instytucję dobroczynną. Na przykład Czerwony Krzyż, Armia Zbawienia czy nawet lokalny radioklub. Oni zrobia z tych pieniędzy o wiele lepszy użytek!

● Co Joe Taylor, K1JT (czy inni deweloperzy WSJT-X) myślą o JS8Call?○ Nie słyszeliśmy od nich żadnej opinii, więc musicie sami zapytać!○ Jak można przeczytać w sekcji historia, w lutym 2018 otrzymałem od Joe, przed kontynuacją

projektu JS8Call, jego akceptację:

przez https://sourceforge.net/p/wsjt/mailman/message/36224507/

Rozwiązywanie problemówJeżeli masz jakiś problem, zwróć się po pomoc na: https://groups.io/g/JS8Call/chat/1423 lub napisz e-mail bezpośrednio do Jordana: [email protected].

Typowe problemy i rozwiązania.

JS8Call nie działa na moim komputerze.Upewnij się, że używasz wspieranego systemu operacyjnego, że zamknąłeś wszystkie programy mogące korzystać z karty dźwiękowej lub mogące blokować JS8Call przed jej użyciem, jak przykładowo agresywne oprogramowanie antywirusowe. Jeśli używasz Windows i korzystasz z Windows Defender, musisz dodać JS8Call do wyjątków lub wyłączyć ochronę.

Widzę sygnały na wodospadzie, ale nie są one dekodowane.Upewnij się, że te sygnały to na pewno JS8Call, a nie FT8 (są one niekompatybilne), sprawdzając, czy znajdujesz się na jednej z częstotliwości JS8Call. Upewnij się, że używasz górnej wstęgi (USB). Sprawdź, czy zegar w komputerze jest zsynchronizowany z dokładnością przynajmniej 2 sekund. Sprawdź, czy nie masz jednocześnie uruchomionego programu WSJT-X.

Nie widzę żadnych sygnałów na wodospadzie.Sprawdź sygnał audio wychodzący z radia. Upewnij się, że ustawienia audio w JS8Call są poprawnie skonfigurowane. Sprawdź, czy znajdujesz się na jednej z częstotliwości JS8Call. Pamiętaj, że JS8Call znajduje się ciągle w fazie rozwoju ma o rząd wielkości mniej użytkowników pracujących w eterze. Może się zdarzyć, że akurat nie ma nikogo w zasięgu twojej stacji. Sprawdź na PSKReporter czy są inne stacje na paśmie. Jeżeli ciągle nic nie odbierasz, to:

1) Masz problem z odbiorem w swojej stacji.2) Nikt inny nie pracuje na paśmie, które używasz.3) Nie sprzyja ci propagacja.

Uwaga: Pamiętaj, że JS8Call to nie magia, ciągle jesteśmy zależni od łaski jonosfery.

Moja radiostacja nie nadaje.Sprawdź sygnał audio wychodzący do nadajnika. Upewnij się, że ustawienia audio JS8Call są poprawnie skonfigurowane. Odłącz radiostację od komputera i podłącz zamiast niej słuchawki lub głośniki. Spróbuj nadawać, na przykład przez użycie przycisku TUNE. Czy słyszysz tony? Jeśli nie, to masz problem z sygnałem audio, jeśli tak, problem leży po stronie nadajnika. Upewnij się, że sterowanie PTT jest poprawnie skonfigurowane albo użyj VOXa. Możesz to przetestować w menu ustawień. Przycisk PTT będzie miał kolor zielony, jeśli program będzie w stanie włączyć nadawanie. Jeżeli sygnał audio dociera do radiostacji, lecz ciągle nie nadajesz sygnału radiowego, sprawdź, czy nadajnik jest prawidłowo skonfigurowany (digital gain / tx gain / poziomy mikrofonu). Po tym sprawdź, czy nadajnik w ogóle działa, przełącz tryb pracy na FM lub CW i spróbuj wyemitować jakikolwiek sygnał.

Raporty o błędachRaporty o błędach można zgłaszać do Jordan Sherer (KN4CRD) [email protected] lub zamieszczać je na liście błędów pod adresem: https://bitbucket.org/widefido/js8call/issues?status=new&status=open

Definicja APIJS8Call udostępnia JSON API poprzez UDP. Ta funkcja jest obecnie w fazie eksperymentu i może się kompletnie zmienić w przyszłości (na przykład poprzez przejście na implementację HTTP lub XMLRPC.

API posiada następujące funkcje:

● PING - Wysyłany przez aplikację co 15 sekund.

● RIG.PTT - Wysyłany przez aplikację przy zmianie stanu PTT.● RIG.GET_FREQ - Podaje obecną częstotliwość pracy.● RIG.SET_FREQ - Ustawia częstotliwość pracy.

● STATION.GET_CALLSIGN - Pobiera znak stacji.● STATION.GET_GRID - Pobiera lokator.● STATION.SET_GRID - Ustawia lokator.● STATION.GET_INFO - Pobiera informację o stacji.● STATION.SET_INFO - Ustawia informację o stacji.

● RX.GET_CALL_ACTIVITY - Pobiera listę słyszanych stacji.● RX.GET_BAND_ACTIVITY - Pobiera aktywność na paśmie.● RX.GET_TEXT - Pobiera tekst z żółtego okna odbiorczego.● RX.GET_CALLSIGN_SELECTED - Pobiera wybrany znak.● RX.SPOT - Znak, SNR i lokator zostały zaspotowane (dostępne w 0.14).

● TX.FRAME - Ramka nadawcza została przygotowana (i przygotowane tony).● TX.GET_TEXT - Pobiera tekst z okna nadawczego.● TX.SET_TEXT - Ustawia tekst w oknie nadawczym.● TX.SEND_MESSAGE - Wysyła wiadomość.

● LOG.QSO - QSO zostało dodane do logu JS8Call.

● WINDOW.RAISE - Umieszcza okno programu na pierwszym planie.

Implementacja technicznaJS8Call znajduje się w fazie aktywnego rozwoju i szczegóły techniczne implementacji mogą się zmieniać. Szczegóły zostaną zamieszczone gdy implementacja osiągnie stabilny poziom. Do tego czasu kod źródłowy będzie jedynym pewnym opisem implementacji.

ModulacjaJS8Call używa modulacji FT8 jako podstawę warstwy transportowej. Będąc pochodną WSJT-X, JS8Call w wielkim stopniu opiera się na pracy zespołu rozwijającego modulację FT8 w WSJT-X. Standardowa modulacja FT8 została zmodyfikowana w bardzo małym stopniu (wyczerpująca lista znajduje się w kodzie źródłowym), za wyjątkiem dwóch ważnych spraw:

1. Zmiana algorytmu costas array w celu zapobieżenia interferencji JS8Call z sygnałami FT8.2. Możliwość wykorzystania do 75 bitów do transmisji danych.

ProtokółProtokół JS8Call znajduje się na warstwie powyżej warstwy transportowej. Duża część implementacji została zainspirowana przez dokument projektowy: https://github.com/jsherer/ft8call z kilkoma with a few deviations from the original proposal.

Wiadomości w JS8Call są nadawane w piętnastosekundowych cyklach (ramkach), z których każdą można sklasyfikować jako jeden z sześciu typów:

1. Heartbeat.2. Compound Callsign Partial.3. Compound Callsign Directed Command.4. Directed Command.5. Data Huffman.6. Data Dictionary.

Następnie każda ramka zawiera flagę nadawczą, która identyfikuję ją jako:1. Default Frame (dowolna ramka).2. First Frame (pierwsza ramka transmisji).3. Last Frame (ostatnia ramka transmisji).4. Flag - Reserved (do przyszłych zastosowań).

I w końcu zastosowanie znajdują specjalne kodowania dla:1. Znaków (Callsigns).2. Prefiksów i sufiksów (Callsign Prefix/Suffixes).3. Raportów (Signal Reports).4. Lokatorów (Grids).

HeartbeatRamki Heartbeat składają się z:

● Rodzaj Heartbeat (Heartbeat lub CQ).● Złożony znak wywoławczy (Compound Callsign).

● Lokator (Grid).

Compound Callsign PartialRamki te występują jako połowa dwuramkowej złożonej transmisji, gdzie jedna ze stacji stosuje złożony znak. Jest to zawsze pierwsza ramka z dwóch, gdzie zakodowano pole “from” wiadomości znakiem złożonym.

Ramka zawiera:● Znak wywoławczy.● Czteroznakowy alfanumeryczny prefiks albo sufix (A-Z, 0-9).● Lokator lub wartość liczbowa (SNR lub PWR).

Compound Callsign Directed CommandCompound callsign directed command to szczególny przypadek ramki compound callsign partial, gdzie w wartości liczbowej zakodowano polecenie do użycia z wiadomością złożoną. Jest to połowa dwuramkowej transmisji złożonej. Nadawana jest zawsze jako druga ramka i koduje pole “to” wiadomości znakiem złożonym.

Ramka zawiera:● Znak wywoławczy.● Czteroznakowy alfanumeryczny prefiks albo sufix (A-Z, 0-9).● Polecenie.

Directed CommandKorzystając ze standardowych znaków wywoławczych można wysłać polecenie w jednej ramce.

Ramka zawiera:● Znak wywoławczy nadawcy.● Znak wywoławczy odbiorcy.● Polecenie.● Wartość liczbową.

DataRamki danych są szkieletem długich wiadomości w JS8Call. Są to 75-bitowe ramki, które wykorzystują zmienne kodowanie do spakowania ciągu znaków w możliwie jak najkrótszej transmisji.

Występują dwa rodzaje ramek danych:● Nieskompresowane: wszystkie bity są używane do przesłania znaków z użyciem kodowania Huffman’a.● Skompresowane: Znaki są kompresowane na poziomie wyrazów z użyciem (s,c)-Dense Code.

Ramki danych mogą zawierać puste bity z powodu zmiennego kodowania stosowanego do spakowania znaków. Stosowane kodowanie to zmodyfikowany kod Huffman’a, który odzwierciedla najczęściej występujące znaki (bazując na częstotliwości ich występowania w większości tekstów - j. ang) mniejszą ilością bitów niż rzadziej występujące, z opcją przejścia na inne alfabety.

Kompletny zmodyfikowany kod Huffman’a zamieszczono w załączniku A. Tabela (s,c)-Dense Code zawiera 260 tys. kompresowalnych jednostek.

Znaki wywoławczeZnaki wywoławcze są kodowane na 28 bitach, zgodnie z opisem zamieszczonym w: EME 2000 - http://www.ka9q.net/papers/eme-2000.ps.gz

Znaki złożone to 11 symboli zakodowanych na 50 bitach, zgodnie z formatem:[@A-Z0-9/][A-Z0-9/][A-Z0-9/][/][A-Z0-9/][A-Z0-9/][A-Z0-9/][/][A-Z0-9/][A-Z0-9/][A-Z0-9/]

Standardowe znaki mają długość 28 bitów, natomiast znaki złożone to 50 bitów. W sytuacji, gdy długość ramki to 75 bitów nie jest możliwe nadanie jednego i drugiego łącznie w jednej ramce. Gdy zatem występuje znak złożony, transmisja jest dzielona na dwie ramki, z poleceniem zawartym w wolnej przestrzeni drugiej ramki.

Prefiksy i sufiksy znaków wywoławczychPrefiksy i sufiksy posiadają długość czterech znaków alfanumerycznych zakodowanych na 21 bitach, z jednym bitem flagi informującym czy jest to prefiks, czy sufiks. Każdy ze znaków alfanumerycznych może być zakodowany z użyciem 5,25 bitu (występuje tylko 1 874 161 kombinacji czteroznakowego prefiksu lub sufiksu, co stanowi mniejszą liczbę niż możliwa do zapisania przy pomocy 21 bitów liczba 221 = 2 097 152).

LokatoryLokatory kodowane są na 15 bitach, zgodnie z opisem zamieszczonym w: http://physics.princeton.edu/pulsar/k1jt/wsjtx-doc/wsjtx-main-1.7.0.html#PROTOCOL_OVERVIEW

Dalsze praceEmisja JS8Call została opracowana jako eksperyment łączący niezawodność FT8 z warstwą protokołu realizującego połączenia i transmitującego wiadomości w celu uzyskania komunikacji przy słabych sygnałach. To oprogramowanie open source zostało zaprojektowane dla krótkofalowców pracujących w takich warunkach. Oferuje ono równocześnie możliwość komunikacji w czasie rzeczywistym, przechowywanie i przekazywanie informacji do innych korespondentów oraz automatyczne rozgłaszanie stacji.

Istnieje wiele możliwości badania niezawodności transmisji w oparciu o stworzone fundamenty, w tym:

● SRARQ - Selective Repeat Automatic Repeat Requests○ Automatyczne powtarzanie ramki utraconej podczas transmisji.○ Selektywne powtórki pozwolą na zmniejszenie ilości nadawanych ramek niż w przypadku

obecnie stosowanego ręcznego polecenia “AGN?”.

● Przekazywanie Store-and-forward○ Automatyczne przekazywanie zapisanych wiadomości w celu umieszczenia jej “bliżej” stacji

docelowej.

● Disruption-tolerant / Delay-tolerant Networking ○ Wykorzystanie replikacji epidemicznej w celu automatycznego dostarczenia wiadomości do

odbiorcy docelowego za pomocą wyjątkowo opóźnionych i rozdzielonych tras.

● Automatic Relay Routing○ Wykorzystanie topologii sieci w celu inteligentnego wyboru trasy do odbiorcy końcowego.

● Weryfikacja znaku wywoławczego○ Użycie klucza publicznego do weryfikacji autentyczności przekazywanych wiadomości.

● Nadawanie wiadomości w trakcie jej pisania○ Możliwość rozpoczęcia nadawania wiadomości i dalszego jej pisania w trakcie transmisji.

● I wiele więcej!

Załącznik A: Tablica kodowa

Kod Huffman’a:Kody znaków w zależności od częstotliwości występowania " " "01" "E" "100" "T" "1101" "A" "0011" "O" "11111" "I" "11100" "N" "10111" "S" "10100" "H" "00011" "R" "00000" "D" "111011" "L" "110011" "C" "110001" "U" "101101" "M" "101011" "W" "001011" "F" "001001" "G" "000101" "Y" "000011" "P" "1111011" "B" "1111001" "." "1110100" "V" "1100101" "K" "1100100" "-" "1100001" "+" "1100000" "?" "1011001" "!" "1011000""\"" "1010101" "X" "1010100" "0" "0010101" "J" "0010100" "1" "0010001" "Q" "0010000" "2" "0001001" "Z" "0001000" "3" "0000101" "5" "0000100" "4" "11110101" "9" "11110100" "8" "11110001" "6" "11110000" "7" "11101011" "/" "11101010"

(s,c)-Dense Code:Na ten temat powstał artykuł. W międzyczasie zaglądnij do jsc.h, jsc.cpp i jsc_map.cpp w repozytorium z kodem źródłowym, gdzie znajduje się pełna tabela dense code.