Strona główna  /  Poradnik  /  FT8 na 2 m

Poradnik · emisje cyfrowe · relacja z łączności

FT8 na 2 m:
pierwsza łączność krok po kroku

5 października 2026 r. o 19:57 UTC zrobiłem pierwszą łączność FT8 z mojego IC‑9700: z SP5EBH, na 144,174 MHz, raporty +13 i +12 dB. Radio stało w pokoju i nie miało podłączonego do komputera ani jednego kabla audio. Wszystko szło przez sieć. Przy radiu pomagał mi Claude Code, asystent AI działający w terminalu. Pokazuję, jak działa FT8, jak wyglądała ta łączność sekunda po sekundzie, kto mnie słyszał i na czym się potknęliśmy.

144,174 MHz okresy 15 s 8 tonów · 50 Hz IC‑9700 po LAN WSJT‑X 3.0.1 Claude Code
Icom IC-9700, transceiver na 2 m, 70 cm i 23 cm, na ciemnym tle IC‑9700 · 2 m / 70 cm / 23 cm · zdjęcie produktowe Icom
Łączność sekunda po sekundzie

Trzy minuty, sześć wiadomości

Poniżej odtwarzam prawdziwy zapis z pliku ALL.TXT programu WSJT‑X. Tony na wodospadzie to dokładnie te, które wysłały nasze radia. Wyliczył je program ft8code z pakietu WSJT‑X.

19:55:15 UTC · okres nieparzysty
SP5EBH ~1000 HzSQ5CBA 1540 Hz
80010001200140016001800 Hz
  WSJT‑X · FT8 · 144,174 MHz

    Żółte linie to moje nadawanie, czerwone to wiadomości zaadresowane do mnie, jak w WSJT‑X. Uproszczenie: w prawdziwym programie własnego sygnału na wodospadzie nie widać, bo podczas nadawania odbiornik milczy. Tu rysuję oba, żeby było widać kolejność.

    UTCKtoWiadomośćCo znaczy
    19:55:45jaCQ SQ5CBA KO02Wołanie ogólne: „CQ”, mój znak i lokator (pierwsze cztery znaki, kwadrat ok. 110 × 140 km).
    19:56:00SP5EBHSQ5CBA SP5EBH KO02Odpowiedź: najpierw znak wołanego, potem własny i lokator. Odbierałem go z siłą +13 dB.
    19:57:15jaSP5EBH SQ5CBA +13Raport: tak mocno go słyszę. Liczba to stosunek sygnału do szumu w dB w paśmie 2,5 kHz.
    19:57:30SP5EBHSQ5CBA SP5EBH R+12„R” znaczy: twój raport dotarł. +12 dB to mój sygnał u niego.
    19:57:45jaSP5EBH SQ5CBA RRRWszystko odebrane. Znaki, raporty i potwierdzenia są wymienione, więc łączność jest kompletna.
    19:58:00SP5EBHSQ5CBA SP5EBH 73Pozdrowienia. 11 s później WSJT‑X zapisał łączność w logu.

    Zamiast RRR wiele stacji wysyła od razu RR73, czyli potwierdzenie i pozdrowienia w jednej wiadomości. Podręcznik WSJT‑X radzi używać go tylko wtedy, gdy powtórki raczej nie będą potrzebne. Według definicji IARU łączność jest ważna, gdy obaj operatorzy się zidentyfikowali, odebrali raport i dostali potwierdzenie. Pełna sekwencja od CQ do 73 to sześć okresów, czyli 90 s.

    Co to w ogóle jest

    Emisja, która słyszy pod szumem

    FT8 to emisja cyfrowa do łączności przy bardzo słabych sygnałach. Stacje wymieniają krótkie, standardowe wiadomości w okresach po 15 sekund: znak, lokator, raport. Na pogawędkę się nie nadaje, ale doprowadza do łączności tam, gdzie fonią nikt by się nie usłyszał.

    Portret Joe Taylora K1JT, uśmiechnięty, w okularach, tonowany na sepięJoe Taylor K1JT, 2008
    fot. Betsy Devine, CC BY‑SA 3.0, wycinek, sepia

    Franke i Taylor, osiem tonów

    FT8 opracowali Steve Franke K9AN i Joe Taylor K1JT. Nazwa to skrót od „Franke and Taylor, 8‑FSK modulation”. Pierwsza wersja trafiła do programu WSJT‑X w lipcu 2017 r. (wydanie 1.8.0‑rc1). Już w tym roku, choć FT8 istniało pół roku, w serwisie Club Log zapisano nim 4,8 mln z 32 mln łączności, czyli 15%.

    Joe Taylor to radioastronom, laureat Nagrody Nobla z fizyki z 1993 r., przyznanej razem z Russellem Hulse’em za odkrycie nowego typu pulsara: pierwszego pulsara podwójnego, PSR 1913+16. Programy WSJT („Weak Signal communication by K1JT”) wydaje od 2001 r.

    Dzisiejsze FT8

    Od 10 grudnia 2018 r. (WSJT‑X 2.0) każda wiadomość niesie 77 bitów treści, a starsze wersje programu nie dogadają się z nowszymi. Od wersji 2.1 z lipca 2019 r. przejścia między tonami są wygładzane filtrem Gaussa, żeby sygnał był węższy.

    W tygodniu kończącym się 5 października 2026 r. FT8 to 71% łączności wgranych do Club Log. Ja używam WSJT‑X 3.0.1 z maja 2026 r. W czerwcu wyszła wersja 3.0.2, a w testach jest już 3.2.

    WSJT‑X jest wolnym oprogramowaniem na licencji GPLv3. Autorzy celowo nie pozwalają na w pełni automatyczne łączności: każdą musi zacząć człowiek.

    Sylwetka masztu z zestawem długich anten Yagi do łączności przez Księżyc na tle fioletowego nieba o zmierzchu Anteny EME o zmierzchu · fot. Jannis, CC BY‑SA 2.0, wycinek
    czułość−21 dB

    Słyszy pod szumem

    Taki próg dekodowania podaje podręcznik WSJT‑X, liczony w paśmie odniesienia 2500 Hz. Na wodospadzie sygnał widać od ok. −26 dB, a uchem słychać go dopiero od ok. −15 dB.

    szerokość50 Hz

    Wąski jak telegrafia

    Osiem tonów co 6,25 Hz. W paśmie zwykłego kanału SSB mieszczą się dziesiątki sygnałów naraz, a dekoder rozdziela je sam, nawet dwa lub trzy na tej samej częstotliwości.

    tempo15 s

    Okres nadawania

    Nadawanie zaczyna się 0,5 s po początku okresu i trwa 12,64 s. Zostaje niecałe 2 s na dekodowanie i decyzję, co wysłać dalej.

    Anatomia sygnału

    Moje „CQ SQ5CBA KO02” jako 79 tonów

    Tak wygląda jedna wiadomość FT8 od środka. To nie jest przykład z podręcznika, tylko moje wołanie przeliczone przez ft8code. Kliknij i posłuchaj, jak brzmi w głośniku.

    ton bazowy 1540 Hz, jak w mojej łączności
    Anatomia sygnału FT8: wiadomość CQ SQ5CBA KO02 jako 79 tonów Wykres 79 symboli w czasie 12,64 sekundy. Trzy bloki synchronizacji Costasa po 7 symboli na początku, w środku i na końcu, między nimi 58 symboli danych. Pod spodem 174 bity: 77 bitów wiadomości, 14 bitów CRC i 83 bity parzystości. Costas 7×7 29 symboli danych Costas 7×7 29 symboli danych Costas 7×7 +0,00 Hz 1 2 3 4 5 6 +43,75 Hz ton 0 s 2 s 4 s 6 s 8 s 10 s 12,64 s 174 bity po zakodowaniu (kod LDPC 174,91) 77 bitów wiadomości: „CQ SQ5CBA KO02” CRC 14 83 bity parzystości (korekcja błędów) 174 bity ÷ 3 bity na ton = 58 symboli danych. Do tego 21 symboli synchronizacji = 79 tonów po 0,16 s. 8 tonów co 6,25 Hz: cały sygnał zajmuje ok. 50 Hz. W paśmie 2,5 kHz mieści się kilkadziesiąt stacji naraz.

    ← przesuń w bok, żeby zobaczyć całość →

    79 tonów po 0,16 s. Trzy jasne bloki to tablice Costasa 7×7 (tony 3‑1‑4‑0‑6‑5‑2). Po nich dekoder znajduje sygnał w czasie i częstotliwości. Między nimi jest 58 symboli danych po 3 bity. 77 bitów treści dostaje 14 bitów sumy kontrolnej CRC i 83 bity kodu LDPC (174,91), który poprawia błędy. Ciąg zer na początku danych to zakodowane słowo „CQ”. Dźwięk przycisku powstaje w przeglądarce z tych samych tonów, bez szumu.
    15 sekund

    Zegar jest częścią radia

    Wszystkie stacje FT8 na świecie nadają w tych samych 15‑sekundowych okresach, liczonych od pełnej minuty UTC. Jedna strona łączności nadaje w okresach parzystych (:00 i :30), druga w nieparzystych (:15 i :45). Podręcznik WSJT‑X wymaga zegara zgodnego z UTC z dokładnością do ±1 s.

    Na żywo, według zegara Twojego komputera

    Liczę…

    –

    do końca bieżącego okresu

    okresy nieparzyste (:15, :45): nadawałem japarzyste (:00, :30): SP5EBHprzerwa na dekodowanie
    DT, czyli spóźnienie

    0,3 s u SP5EBH

    • w każdej linii dekodu jest kolumna DT: o ile sygnał przyszedł wcześniej albo później, w sekundach
    • według przewodnika ZL2IFB średnie DT między −1 a +1 s jest w praktyce w porządku
    • dekoder szuka sygnału w oknie ±2,5 s, ale to nie znaczy, że tyle wolno się spóźniać
    • moje pierwsze CQ poszło 3 s po czasie i też się zdekodowało: według symulacji autorów FT8 (sygnał −10 dB, dekodowanie bez AP) dekodują się transmisje spóźnione do ok. 5 s
    Mój zegar

    +0,17 s

    • macOS ustawia czas sam z serwera Apple: Ustawienia systemowe › Ogólne › Data i czas
    • przed sesją Claude Code tylko sprawdził odchyłkę poleceniem sntp i niczego nie przestawiał
    • podręcznik WSJT‑X odradza programy, które poprawiają zegar skokami: zegar ma płynąć równo
    • na Windowsie podręcznik poleca np. Meinberg NTP Client; swój zegar porównasz z zegarem UTC
    Gdzie słuchać

    144,174 MHz i reszta pasm

    FT8 nie ma własnych częstotliwości w planie pasm IARU. Plan regionu 1 celowo nie przypisuje ich konkretnym emisjom cyfrowym. Wszyscy używają tych, które WSJT‑X ma wpisane domyślnie. Na 2 m to 144,174 MHz, w odcinku 144,150–144,400 MHz przeznaczonym na CW, SSB i emisje cyfrowe.

    PasmoFT8 (USB, częst. nośnej)Uwagi
    2 m144,174 MHzFT4 144,170 · Q65 144,180 · MSK144 (meteory) 144,360
    70 cm432,174 MHzMSK144 432,360
    23 cm1296,174 MHzIC‑9700 ma też to pasmo
    6 m50,313 MHz50,323 opisane w WSJT‑X jako „intercontinental”
    4 m70,154 MHz
    KF1,840 · 3,573 · 7,074 · 10,136
    14,074 · 18,100 · 21,074
    24,915 · 28,074 MHz
    od 160 do 10 m; na 20 m (14,074) najwięcej nasłuchujących stacji w PSK Reporterze: 1911 w chwili mojego zrzutu

    To częstotliwości nośnej („dial”) w USB. Sygnał leży wyżej o ton akustyczny: przy tonie 1540 Hz mój był na 144,17554 MHz. Źródło: domyślna tabela częstotliwości w kodzie WSJT‑X. Stary plan pasm z 2011 r., wciąż opublikowany na stronie PK‑UKF, wymieniał na 2 m zakres emisji cyfrowych 144,160–144,180 MHz. Obecny podręcznik VHF IARU (wersja 10.03) już go nie ma. Pełny plan: BandPlan IARU.

    Mój zestaw

    IC‑9700 bez kabla audio

    Zwykle radio łączy się z komputerem kablem USB i to wystarcza. U mnie radio stoi w innym miejscu niż komputer, więc wszystko idzie przez sieć: sterowanie i dźwięk w obie strony.

    Tor sygnału FT8 na stacji SQ5CBA: IC-9700 po sieci, wfview, WSJT-X i Claude Code IC-9700 łączy się przez mostek Wi-Fi z Makiem. Program wfview odbiera z radia dźwięk i sterowanie po UDP, wystawia sterowanie dla WSJT-X na porcie 4533 i przekazuje dźwięk przez wirtualne karty BlackHole. Claude Code działa w terminalu obok: ustawia radio rozkazami CI-V, sprawdza zegar, poziom dźwięku i log. MacBook (macOS) Radio na biurku Icom IC-9700 144,174 MHz · USB-D DATA MOD = LAN SQL 0 · jeden odbiornik Mostek Wi-Fi radio nie ma Wi-Fi, ma gniazdo LAN UDP (Icom)50001 sterowanie50002 CI-V50003 dźwięklogowanie:login i hasłoz menu radia wfview most do radia rigctld :4533 wodospad wyłączony WSJT-X 3.0.1 koder i dekoder FT8 CAT: Hamlib NET PTT przez CAT BlackHole 16ch dźwięk z radia (RX) BlackHole 2ch dźwięk do radia (TX) Claude Code (terminal) własny klient CI-V w Pythonie: odczyt i ustawienia radia sntp: zegar (+0,17 s) · ffmpeg: poziom dźwięku (−50 dBFS) uruchamianie wfview i WSJT-X · kliknięcia w oknach podgląd ALL.TXT · PSK Reporter · zapis ADIF Internet PSK Reporter QRZ.com · ADIF CAT RX TX spoty CI-V dźwięk z radia dźwięk do radia sterowanie (CAT) Claude Code Porty 5000x to domyślne portysieciowego sterowania Icoma.

    ← przesuń w bok, żeby zobaczyć całość →

    Mój tor sygnału. IC‑9700 ma gniazdo LAN, a po włączeniu „Network Control” wysyła przez sieć dźwięk i przyjmuje rozkazy. wfview, wolny program na licencji GPLv3 (autorzy W6EL i M0VSE), łączy się z radiem i udaje dla WSJT‑X program rigctld z pakietu Hamlib, na porcie 4533. Dźwięk idzie przez dwie wirtualne karty BlackHole. Kablem byłoby prościej: radio ma wbudowany interfejs dźwiękowy USB, który WSJT‑X widzi bez pośredników.
    GdzieUstawienieDlaczego
    RadioNetwork Control = ON, użytkownik i hasło sieciowebez tego radio nie wpuści wfview
    RadioDATA MOD = LANdźwięk do modulatora przychodzi z sieci
    RadioVFO, simplex, USB‑D, jeden odbiornik (MAIN)CAT i dźwięk dotyczą tego samego odbiornika, bez przesunięcia
    RadioSQL 0, moc 35% (ok. 37 W)ciągły dźwięk; FT8 nie potrzebuje pełnej mocy
    wfviewrigctld włączony, port 4533przez ten port WSJT‑X steruje radiem
    wfviewwyjście: BlackHole 16ch, wejście: BlackHole 2chosobne karty dla odbioru i nadawania
    wfviewwodospad wyłączonyna macOS 26 wywracał program przy połączeniu
    WSJT‑XRadio: Hamlib NET rigctl, 127.0.0.1:4533, PTT: CAT, Mode: Data/Pkt, Split: Nonewybór „Icom IC‑9700” szuka radia na porcie szeregowym
    WSJT‑XAudio: wejście BlackHole 16ch (kanał Left), wyjście BlackHole 2ch„Mono” uśredniało 16 kanałów
    WSJT‑XAuto Seq, „CQ: First”, Tx watchdog 30 minodpowiedź na wołających bez klikania
    macOSczas ustawiany automatycznie (time.apple.com); kontrola: sntp pokazał +0,17 sokresy muszą się zgadzać z UTC
    Prawdziwy zrzut ekranu

    WSJT‑X tuż po łączności

    Zrzut z 19:59:42 UTC, chwilę po 73 od SP5EBH. Najedź na numer albo na opis, a zobaczysz, o którą część okna chodzi.

    Okno WSJT-X 3.0.1 po łączności z SP5EBH: lista dekodów, częstotliwość 144,174 000, wiadomości Tx1 do Tx6
    1. Band Activity. Wszystko, co dekoder złapał w paśmie, okres po okresie. Czerwone linie to wiadomości zaadresowane do mnie.
    2. Rx Frequency. Rozmowa na mojej częstotliwości. Żółte linie to moje nadawanie, czerwone odpowiedzi SP5EBH.
    3. Linia „SQ5CBA SP5EBH 73”. 195800 to godzina okresu, 13 to raport w dB, 0.3 to DT, czyli przesunięcie w czasie w sekundach, a 1001 to ton w Hz.
    4. 144,174 000 to częstotliwość nośnej radia. Sygnał leży wyżej o ton akustyczny: u mnie 144,174 MHz + 1540 Hz = 144,17554 MHz. Tę wartość WSJT‑X zapisał w logu.
    5. DX Call i DX Grid: z kim rozmawiam. Azymut 360° i 37 km to wynik liczenia do środka kwadratu KO02, bo tylko tyle lokatora podał SP5EBH. Naprawdę dzieli nas 7 km.
    6. Tx 1540 Hz i Rx 1001 Hz: ton, na którym nadaję, i ton, na którym słucham. W FT8 nie muszą być takie same.
    7. Auto Seq i pole „CQ”. Auto Seq prowadzi łączność dalej sam. Przy „CQ: None” program nie odpowiada wołającym na moje CQ. Przy „CQ: First” odpowiada pierwszemu.
    8. Enable Tx. Włącza nadawanie, wtedy świeci na czerwono. Przy włączonym Auto Seq program sam wyłącza go po każdej łączności. Żółty kolor przycisku i pola DX Call to ostrzeżenie: włączone są funkcje „Wait” i program może nadać sam, gdy odezwie się stacja z pola DX Call.
    9. Tx1–Tx6: gotowe wiadomości łączności. Kropka „Next” wskazuje, co pójdzie w następnym okresie, przycisk „Now” wysyła od razu.
    10. Pasek stanu: ostatnio nadana wiadomość (RRR) i „WD:30m”, czyli strażnik nadawania. Po 30 minutach bez łączności WSJT‑X sam przestanie wołać.
    11. Poziom dźwięku z radia: 40 dB na samym szumie pasma.
    Asystent AI przy radiu

    Co robił Claude Code

    Claude Code to narzędzie firmy Anthropic: asystent AI, który działa w terminalu, czyta i edytuje pliki oraz uruchamia polecenia. Zwykle pomaga programistom. U mnie przez kilka wieczorów szukał błędów w sieciowym torze radia, a 5 października przygotował stację do FT8 i pilnował łączności. Ten artykuł też powstał razem z nim.

    Podział ról

    Operatorem z licencją jestem ja i to ja decydowałem, kiedy nadajemy. Claude Code miał zgodę na samodzielne uruchamianie poleceń na moim Macu, ale robił to, o co go prosiłem. WSJT‑X i tak nie pozwala na w pełni automatyczne łączności: przy Auto Seq po każdym QSO sam wyłącza nadawanie.

    Co zrobił 5 października

    • sprawdził, czy radio odpowiada w sieci, i odczytał jego ustawienia własnym programem w Pythonie, napisanym wcześniej na podstawie otwartego kodu wfview;
    • przestawił radio z przemiennika SR5W (145,750 MHz, przesunięcie −600 kHz) na 144,174 MHz USB‑D bez przesunięcia i sprawdził, że nadawałoby na właściwej częstotliwości;
    • uruchomił wfview i WSJT‑X, poprawił blokadę szumów i głośność, sprawdził zegar i poziom dźwięku, ustawił moc na 35%;
    • pilnował pliku z dekodami, podpowiedział, co kliknąć, gdy WSJT‑X nie odpowiadał SP5EBH, i zrzutem ekranu sprawdził, że kliknąłem dobrze;
    • po sesji zamknął programy i przywrócił radio dokładnie do stanu sprzed FT8: kanał SR5W, blokadę szumów, głośność i moc;
    • przy tym artykule zebrał źródła, wyliczył tony, narysował mapę z danych PSK Reportera i zrobił animacje. Temat i decyzje są moje.
    claude · terminal · 5.10.2026
    # 21:48 czasu polskiego: czy radio w ogóle odpowiada w sieci?
    ping -c 3 192.168.0.212
    3 packets transmitted, 3 packets received, 0.0% packet loss
    python3 ic9700_przeglad.py --tylko 03,04,0f,1659,1a050116
    03 → 145,750 MHz   04 → FM   0f → DUP− (przemiennik)
    1659 → Dual Watch wyłączony   1a050116 → DATA MOD = LAN
    # Radio stoi na przemienniku SR5W z przesunięciem −600 kHz. Najpierw VFO i simplex.
    python3 ic9700_zapis.py --plan plan_ft8.json
    07            tryb VFO                  FB
    0f10          simplex, bez przesunięcia FB
    050040174401  144,174 MHz               FB
    060101        USB, filtr 1              FB
    1a060101      tryb danych (USB-D)       FB
    14030000      blokada szumów 0          FB
    python3 ic9700_przeglad.py --tylko 1c03
    1c03 → częstotliwość nadawania 144,174 MHz ✓
    open -a wfview
    rigctld nasłuchuje na 127.0.0.1:4533 (po 4 s)
    # wfview po połączeniu wpisał swoje SQL 0,43 i AF 1,0. Poprawiam przez rigctld.
    echo 'L SQL 0' | nc 127.0.0.1 4533; echo 'L AF 0.22' | nc 127.0.0.1 4533
    RPRT 0   RPRT 0
    sntp time.apple.com
    +0.165875 +/- 0.045142 time.apple.com
    open -a wsjtx
    ffmpeg -f avfoundation -i ":BlackHole 16ch" -t 6 -af astats -f null -
    RMS level dB: -49.96   (ok. 40 dB na wskaźniku WSJT-X)
    echo 'L RFPOWER 0.35' | nc 127.0.0.1 4533
    RPRT 0   (moc ok. 37 W, jak dzień wcześniej)
    # 19:55 UTC: Filip włącza Enable Tx. Pilnuję pliku ALL.TXT.
    195545  Tx        1540  CQ SQ5CBA KO02
    195600  Rx  +13   1003  SQ5CBA SP5EBH KO02
    195615  Tx        1540  CQ SQ5CBA KO02
    # SP5EBH odpowiada, a WSJT-X dalej woła CQ. Trzeba dwa razy kliknąć jego linię.
    195715  Tx        1540  SP5EBH SQ5CBA +13
    195730  Rx  +13   1001  SQ5CBA SP5EBH R+12
    195745  Tx        1540  SP5EBH SQ5CBA RRR
    195800  Rx  +13   1001  SQ5CBA SP5EBH 73
    tail -1 wsjtx_log.adi
    <call:6>SP5EBH <rst_sent:3>+13 <rst_rcvd:3>+12 <band:2>2m <time_off:6>195811
    # Łączność jest w logu. Kopia ADIF do wgrania na QRZ.com: ~/Downloads.
    Rozkaz CI-V, który ustawił 144,174 MHz Jedenaście bajtów: FE FE na początek, A2 to adres IC-9700, E0 adres sterownika, 05 to rozkaz ustawienia częstotliwości, pięć bajtów częstotliwości zapisanej cyframi BCD od najmłodszego bajtu i FD na koniec. FE FE A2 E0 05 00 40 17 44 01 FD początek do: IC-9700 od: sterownik ustaw częst. częstotliwość, cyfry BCD od końca koniec czytane od ostatniego bajtu: 01 44 17 40 00 = 0 144 174 000 Hz = 144,174 MHz Każdy bajt to dwie cyfry dziesiętne (BCD). Radio odpowiada FB („w porządku”) albo FA („błąd”).

    ← przesuń w bok, żeby zobaczyć całość →

    Tak Claude Code ustawił 144,174 MHz. CI‑V to język, którym radia Icom rozmawiają z komputerem. Ten sam rozkaz można wysłać kablem albo przez sieć. A2 to domyślny adres IC‑9700 (według instrukcji), E0 to adres komputera. Po każdym rozkazie radio odpowiada FB („w porządku”) albo FA („błąd”).
    Wpadki

    Nie wszystko poszło gładko

    • kliknęliśmy Enable Tx w tej samej sekundzie, więc nadawanie wyłączyło się po jednym CQ
    • przy kończeniu pierwsza próba zatrzymania nie wyłączyła Enable Tx i poszło jeszcze jedno CQ
    • dzień wcześniej jego test dekodera wysłał do PSK Reportera fałszywy spot z wymyślonym znakiem
    • po każdej wpadce zapisywał, co poszło nie tak, żeby nie powtórzyć jej następnym razem
    Wnioski

    Gdzie AI się przydaje

    • najbardziej przy żmudnym szukaniu przyczyn: logi, menu radia, ustawienia trzech programów naraz
    • przy sprzęcie nadawczym każdy krok powinien być widoczny i odwracalny: zmiany szły z plików z planem, a stan radia był odczytywany przed i po
    • przy myszy powinna być jedna osoba naraz
    • odpowiedzialność za każdą emisję zostaje przy operatorze
    Na czym się potknęliśmy

    Dziesięć pułapek z prawdziwej sesji

    Każda z nich kosztowała mnie co najmniej jeden wieczór. Pierwsze próby z siecią robiłem w lipcu, a nadawanie ruszyło dopiero 4 października.

    1. Radio odpowiada na ping, a wfview pisze „No response”

      Sieć działa, ale radio nie wpuszcza programu. W menu IC‑9700 sterowanie po sieci jest osobnym przełącznikiem.

      → SET › Network › Network Control = ON
    2. Radio nadaje, a moc wynosi 0 W

      Tor dźwięku do modulatora szedł z USB, nie z sieci. Ustawienia FT8 w radiu same przestawiły DATA MOD na USB.

      → SET › Connectors › MOD Input › DATA MOD = LAN
    3. Wodospad pełen szumu, a dekodów zero

      IC‑9700 ma dwa odbiorniki. CAT stroił jeden na 144,174, a dźwięk przez sieć szedł z drugiego, ustawionego na 145,000.

      → jeden odbiornik (MAIN), Dual Watch wyłączony
    4. Czarne pasy na wodospadzie

      Przy włączonej blokadzie szumów (SQL) dźwięk przychodził kawałkami, z przerwami po 2–4 s. wfview po połączeniu sam wpisywał SQL 0,43.

      → SQL = 0, poprawione po każdym uruchomieniu wfview
    5. Kanał przemiennika i „Fake It”

      Radio stało na kanale pamięci z przesunięciem −600 kHz. Rozdzielenie częstotliwości „Fake It” w WSJT‑X zgłasza wtedy błąd. Gorzej, gdyby przesunięcie zostało przy nadawaniu.

      → przed WSJT‑X: VFO, simplex, sprawdzić częstotliwość nadawania
    6. Poziom dźwięku prawie zero

      Wirtualna karta BlackHole 16ch ma 16 kanałów, a ustawienie „Mono” w WSJT‑X uśredniało je wszystkie. Sygnał był tylko w dwóch.

      → WSJT‑X › Audio › wejście: kanał Left
    7. wfview zamyka się sam

      Na macOS 26 program padał kilka sekund po połączeniu z radiem. Winny był jego własny wodospad, a potem odczyt dźwięku z BlackHole 16ch.

      → wodospad wfview wyłączony, TX przez BlackHole 2ch, RX przez 16ch
    8. Fałszywy spot w PSK Reporterze

      Przy teście dekodera podałem do WSJT‑X sygnał z programu ft8sim z wymyślonym znakiem. WSJT‑X zgłosił go do PSK Reportera jako prawdziwy odbiór.

      → na czas testów: PSK Reporter wyłączony
    9. Ktoś woła, a program milczy

      SP5EBH wołał mnie trzy razy, a WSJT‑X odpowiadał kolejnym CQ. Winne było pole „CQ: None”.

      → „CQ: First” albo dwa kliknięcia w linię wołającego
    10. Dwie ręce na jednej myszy

      Kliknąłem Enable Tx w tej samej sekundzie co Claude Code. Dwa kliknięcia to włącz i wyłącz, więc poszło jedno CQ i koniec.

      → przy myszy jedna osoba naraz
    Fragment okna WSJT-X z rozwiniętą listą: CQ: None, CQ: First, CQ: Max Dist, CQ: Max dB, CQ: Min dB
    Lista „CQ” w WSJT‑X 3.0. Przy „CQ: None” program nie odpowiada sam na odpowiedzi na moje CQ. „First” wybiera pierwszego wołającego, „Max Dist” najdalszego, „Max dB” i „Min dB” najsilniejszego lub najsłabszego. Zrzut z 5.10.2026, 20:02 UTC.
    PSK Reporter

    Kto mnie słyszał

    PSK Reporter zbiera automatyczne zgłoszenia odbioru od programów takich jak WSJT‑X. Wystarczy zawołać CQ, a po kilku minutach na mapie widać, kto mnie odebrał i z jakim raportem. Serwis prowadzi Philip Gladstone N1DQ i sam niczego nie nadaje.

    Kto odebrał CQ SQ5CBA na 144,174 MHz 5 października 2026 Mapa z Warszawą w środku. Piętnaście stacji, które zgłosiły odbiór do PSK Reportera, od 7 km (SP5EBH) do 355 km (LY2WR-3 na Litwie). 100 km 200 km 300 km 400 km Gdańsk Poznań Łódź Kraków Lublin Białystok Wilno Kowno Brześć Grodno Katowice Olsztyn Kaliningrad Bydgoszcz Rzeszów Wrocław SP5QWK 72 km · −17 dB SQ5TF 89 km · −9 dB SP7VVB 101 km · −18 dB SP8ZOC 116 km · bez raportu SR4DON 172 km · −24 dB SQ2HCZ 221 km · −15 dB SQ9NKX WebSDR 223 km · −21 dB SP3CUG 293 km · −13 dB SR9NSK 312 km · −14 dB LY2WR-3 355 km · −24 dB SQ5CBA · KO02ME · Warszawa SP5EBH 7 km · +10 dB SP5XMU 8 km · −5 dB SP5QAT 16 km · +6 dB SP5AOZ 17 km · +11 dB SP5QWB 45 km · −3 dB Raport odbiorcy (SNR w 2,5 kHz) 0 dB i więcej −1…−15 dB poniżej −15 dB Dane: PSK Reporter, 5.10.2026, 19:55–20:10 UTC · granice: Natural Earth N ↑

    ← przesuń w bok, żeby zobaczyć całość →

    15 stacji, które odebrały moje CQ 5 października między 19:55 a 20:10 UTC. Mapa jest wyśrodkowana na moim QTH i odległości od środka są prawdziwe. Najbliżej był SP5EBH (7 km, +10 dB), najdalej LY2WR‑3 na Litwie (355 km, −24 dB). Kolor kropki to raport odbiorcy. Lokatory pochodzą z PSK Reportera, a odległości liczę po kole wielkim, tak jak w kalkulatorze lokatora.

    Co widać w danych

    Przez kwadrans wołania (moc ok. 37 W, pionowa antena X‑200N) PSK Reporter dostał 15 raportów odbioru: 5 z Warszawy i okolic oraz 10 z odległości od 72 do 355 km. Trzy najsłabsze miały −21, −24 i −24 dB, czyli były na granicy możliwości dekodera.

    Dzień wcześniej, 4 października, moje CQ zdekodował między innymi EW6FS z Białorusi: 504 km, −19 dB. To najdalszy odbiór mojego sygnału na 2 m, jaki do tej pory widziałem.

    W drugą stronę było gorzej. Przez ten sam kwadrans zdekodowałem tylko SP5EBH, a wieczorem 4 października nie zdekodowałem nikogo, choć według PSK Reportera nadawało wtedy 5–7 stacji w odległości od 66 do 270 km. Dlaczego, piszę niżej.

    W chwili mojego zrzutu PSK Reporter widział na świecie 6351 aktywnych nasłuchów FT8, z czego 271 na 2 m. Po FT8 przypadało ok. 92% wszystkich zgłoszeń z ostatnich dwóch godzin, ale to statystyka automatycznych raportów, a nie łączności.

    Mapa PSK Reportera: Polska nocą, dymki z czasem zgłoszeń przy stacjach, które odebrały SQ5CBA PSK Reporter, 5.10.2026 ok. 20:37 UTC · mapa © OpenMapTiles © OpenStreetMap
    Antena

    Pionowa antena na poziomym paśmie

    Do FT8, SSB i CW na 2 m używa się anten z polaryzacją poziomą. IARU nigdy tego formalnie nie zaleciła, ale taka jest powszechna praktyka. Pionowa jest standardem w FM i na przemiennikach. Moja X‑200N jest pionowa, bo służy głównie do FM.

    Ile to kosztuje

    ARRL Antenna Book podaje, że przy skrzyżowanej polaryzacji trzeba się liczyć z dodatkowymi stratami 20 dB lub więcej. W teorii, przy antenach ustawionych idealnie prostopadle, moc w ogóle by nie przeszła.

    20 dB to sto razy mniej mocy. W FT8 to różnica między dekodem przy −5 dB a sygnałem −25 dB, którego dekoder już nie złapie.

    Co zobaczyłem w praktyce

    Mnie odebrało 15 stacji, a ja zdekodowałem tylko jedną, 7 km ode mnie. Przewodnik FT8 Gary’ego Hinsona ZL2IFB radzi: jeśli inni słyszą Cię dużo lepiej niż Ty ich, popraw odbiór albo zmniejsz moc. U mnie pierwszym krokiem będzie pozioma antena kierunkowa, choćby mała Yagi.

    Taką antenę da się zbudować samemu. Opisałem to w artykule o antenie Yagi na 2 m i 70 cm.

    Pionowa antena kolinearna Diamond X-200N na maszcie na dachu kamienicy, w tle niebo i dachy Mokotowa Moja X‑200N na Mokotowie · 24 m nad ziemią
    Polaryzacja pionowa i pozioma Z lewej pionowa antena kolinearna, pole elektryczne drga w pionie. Z prawej pozioma antena Yagi, pole drga w poziomie. Przy antenach ustawionych pod kątem 90 stopni teoretycznie moc nie przechodzi, w praktyce traci się 20 dB lub więcej. pionowaX-200N: FM, przemienniki poziomaYagi: SSB, CW, FT8 90° teoria: moc nie przechodzi praktyka (ARRL): −20 dB lub więcej E = kierunek drgań pola elektrycznego
    Pion kontra poziom. Antena odbiera tę składową pola elektrycznego, która drga wzdłuż jej elementów. Pionowa i pozioma antena „mijają się” o 90°.
    Kratownicowy maszt z dużym zestawem długich anten Yagi na 2 m na tle wieczornego nieba
    Szyk anten Yagi na 2 m stacji DK5LA. Do słabych sygnałów na tym paśmie używa się długich anten kierunkowych. Do FT8 wystarczy dużo mniejsza · fot. Reinhard Kuehn DK5LA, CC BY‑SA 4.0
    Po łączności

    Log, QRZ i co dalej

    Łączność trafia do pliku wsjtx_log.adi w formacie ADIF, który przyjmuje każdy dziennik i serwis. Plik z QSO z SP5EBH Claude Code przygotował do wgrania na QRZ.com. Jak to zrobić, opisałem w poradniku QRZ i logbook. Poniżej pięć rzeczy, które zrobiłbym od początku, gdybym zaczynał jeszcze raz.

    1

    Najpierw słuchaj

    Ustaw 144,174 MHz, WSJT‑X w trybie FT8 i przez kwadrans tylko patrz. Jeśli coś się dekoduje, tor odbiorczy działa. Podręcznik radzi ustawić poziom szumu na wskaźniku na ok. 30 dB i wyłączyć AGC albo ograniczyć jego działanie.

    FT8 · USB‑D · 144,174 MHz · szum ok. 30 dB
    2

    Zegar i moc

    Zegar z dokładnością do sekundy. Moc z umiarem: FT8 to emisja do słabych sygnałów, a przewodnik ZL2IFB wprost prosi, żeby nie przesadzać z mocą. Nadawanie trwa 12,64 s ze stałą mocą, więc radio grzeje się jak przy nośnej, a nie jak przy fonii.

    3

    Odpowiadaj obok wołającego

    Gdy odpowiadasz na czyjeś CQ, wybierz wolny ton i zaznacz Hold Tx Freq. Podwójne kliknięcie w dekod samo ustawi okres, w którym masz nadawać.

    4

    Sprawdzaj PSK Reporter

    Na mapie pskreporter.info wpisz swój znak i wybierz „sent by”. Po kilku minutach od CQ zobaczysz, kto Cię odebrał. W WSJT‑X wystarczy zaznaczyć raportowanie do PSK Reportera i wpisać 6‑znakowy lokator.

    5

    Pozioma antena

    Jeśli inni słyszą Cię dużo lepiej niż Ty ich, problem leży po stronie odbioru. Na 2 m pierwszym krokiem jest antena pozioma. Gdy będzie gotowa, warto spróbować też meteor scatter i jesiennego tropo.

    Źródła

    Skąd te liczby

    1. S. Franke K9AN, B. Somerville G4WJS, J. Taylor K1JT, „The FT4 and FT8 Communication Protocols”, QEX, lipiec/sierpień 2020 · wsjt.sourceforge.io
    2. WSJT‑X User Guide 3.0.0 · wsjt.sourceforge.io
    3. WSJT‑X Release Notes (od 1.8.0 do 3.2.0‑rc1) · wsjt.sourceforge.io
    4. Kod źródłowy WSJT‑X: domyślna tabela częstotliwości (FrequencyList.cpp) i dekoder FT8 (sync8.f90) · github.com
    5. IARU Region 1 VHF Handbook, wersja 10.03 (luty 2026) · www.iaru-r1.org
    6. ARRL: „FT8 Mode is Latest Bright, Shiny Object in Amateur Radio Digital World”, 1.08.2017 · www.arrl.org
    7. ARRL / Club Log, M. Wells G7VJR: „Mode Usage Evaluation: 2017 Was the Year When Digital Modes Changed Forever” · www.arrl.org
    8. Club Log, DX Report (tydzień 28.09–5.10.2026) · clublog.org
    9. PSK Reporter: mapa, statystyki i dane odbiorów SQ5CBA z 5.10.2026 · pskreporter.info
    10. Nagroda Nobla z fizyki 1993, komunikat prasowy · www.nobelprize.org
    11. Icom IC‑9700: strona produktu i instrukcja podstawowa (Basic Manual) · www.icomjapan.com
    12. wfview: strona projektu i instrukcja emulacji rigctld · wfview.org
    13. G. Hinson ZL2IFB, „FT8 Operating Guide” · www.g4ifb.com
    14. ARRL Antenna Book, rozdz. 18 „VHF and UHF Antenna Systems”: straty przy skrzyżowanej polaryzacji
    15. Claude Code: dokumentacja Anthropic · code.claude.com
    16. Dane własne: ALL.TXT i wsjtx_log.adi z WSJT‑X 3.0.1, tony z programu ft8code, zrzuty ekranu z 5.10.2026

    Parametry FT8 podaję według WSJT‑X 2.1 i nowszych. W 2017 r. FT8 działało trochę inaczej (75 bitów, kod LDPC 174,87, próg −20 dB), więc starsze opisy w sieci mogą podawać inne liczby. Statystyki Club Log i PSK Reportera zmieniają się z dnia na dzień.

    Następny krok

    Posłuchaj 144,174 i zawołaj CQ

    Najprostszy start: radio w USB‑D, WSJT‑X w trybie FT8 i kwadrans nasłuchu. U mnie na 2 m słuchających było dużo, a nadających niewielu, więc nawet jedno CQ zostawi ślad na mapie PSK Reportera. Jeśli mnie usłyszysz, daj znać w księdze gości.