Moja Nowa Pasja: Odkrywanie Niewidzialnego Świata Radia z SDR

Jako informatyk przywykłem do świata cyfrowego i logicznego. Na co dzień zajmuję się API, strukturalnymi danymi i przewidywalnymi pakietami sieciowymi. Ale ostatnio wpadłem w nową pasję, która pokazała mi niewidzialny, chaotyczny i fascynujący świat, który nas wszystkich otacza: świat Software-Defined Radio (SDR).
Wszystko zaczęło się od małego, taniego dongla RTL-SDR i porządnej zewnętrznej anteny DVB-T. To co miało być prostym eksperymentem, szybko przerodziło się w pełnoprawny projekt, odkrywający sygnały i sekrety, o których istnieniu nie miałem pojęcia.

Setup: Informatyczne Podejście do Radia
Zgodnie z moim backgroundem, nie chciałem być przykuty do jednego komputera. Postawiłem OpenWebRX+ w kontenerze Dockera na domowym serwerze. Ten kawałek softu zamienia RTL-SDR w zasób dostępny przez sieć, dzięki czemu mogę się dostać do mojego odbiornika z dowolnego urządzenia w sieci lokalnej przez przeglądarkę. Koniec z przywiązaniem do jednej maszyny; moje radio to teraz osobisty serwis streamingowy 24/7.
Techniczne Serce: Docker i OpenWebRX+
Dla zainteresowanych, oto plik docker-compose.yml który napędza mój setup. Prosty ale skuteczny, zapewnia kontenerowi dostęp do sprzętu i trwałe przechowywanie konfiguracji.
services:
owrx:
image: 'slechev/openwebrxplus-softmbe:latest'
container_name: owrx-mbe
restart: unless-stopped
ports:
- '8073:8073'
environment:
TZ: Europe/Warsaw
OPENWEBRX_ADMIN_USER: admin
OPENWEBRX_ADMIN_PASSWORD: admin
devices:
# Mapuj cały bus USB, nie konkretne urządzenie!
# To kluczowe, żeby OpenWebRX znalazł dongle SDR po reboocie hosta,
# nawet jeśli zmieni się jego numer urządzenia.
- /dev/bus/usb:/dev/bus/usb
volumes:
# Mapowanie wolumenów zapewnia zachowanie wszystkich ustawień, profili i zakładek
# nawet po aktualizacji lub restarcie kontenera.
- /opt/owrx-docker/etc:/etc/openwebrx
- /opt/owrx-docker/var:/var/lib/openwebrx
- /opt/owrx-docker/plugins:/usr/lib/python3/dist-packages/htdocs/plugins
tmpfs:
- /tmp:mode=1777
# WAŻNE: 'privileged' jest konieczne, żeby kontener Docker miał pełny,
# niskopoziomowy dostęp do urządzeń USB, co jest wymagane przez RTL-SDR.
privileged: true
Pierwszy rzut oka na interfejs OpenWebRX to hipnotyzujące przeżycie. Wita cię "waterfall" - ciągle przewijający się widok częstotliwości radiowych. Na początku wygląda jak szum, morze niebieskiego staticu. Ale gdy się przyglądasz, uczysz się wyłapywać sygnały: ostre, jasne linie transmisji cyfrowych, szersze, miększe kształty analogowego głosu i ulotne wybuchy danych, które pojawiają się i znikają w mgnieniu oka. To jak patrzenie na tętniące życiem miasto z góry, próbując zrozumieć życie w jego wnętrzu.
Krzywa Uczenia: Od Szumu do Sygnału
Tu naprawdę zaczęła się moja przygoda, ewoluując od prostego setupu do głębokiego nurkowania w fizykę i protokoły radiowe. Początkowy efekt "wow" szybko ustąpił miejsca serii pytań: Co dokładnie widzę? Dlaczego niektóre sygnały brzmią jak bełkot? Czemu nic nie słyszę na częstotliwościach, gdzie się spodziewam? To był proces prób, błędów i intensywnych poszukiwań w necie.
Moja podróż odkrywcza ujawniła kilka kluczowych wyzwań, z którymi mierzy się każdy nowicjusz SDR:
Antena to Podstawa: Moje pierwsze próby z malutką domyślną anteną były edukacyjne, ale ograniczone. Przejście na porządną antenę DVB-T na dachu, podłączoną odpowiednim kablem (pigtail F-Type do SMA), to była różnica jak dzień i noc. Szybko jednak ustaliłem, że nawet ta antena ma swoje limity. Jest fantastyczna dla pasma UHF (470-700 MHz) ale ma problemy z niższymi częstotliwościami jak Airband i jest prawie całkowicie głucha na fale krótkie (HF) poniżej 30 MHz.

Modulacja to Klucz: Moją największą początkową przeszkodą było zrozumienie różnych "trybów" (AM, FM, NFM, WFM, SSB). Moja pierwsza próba słuchania Airbandu zakończyła się fiaskiem, bo używałem FM. Po pewnym troubleshootingu potwierdziłem złotą zasadę: Airband to zawsze AM. Podobnie, dla służb ratunkowych czy pogawędek krótkofalowców, szeroka FM (WFM) używana do radia FM jest bezużyteczna; potrzebujesz Narrow FM (NFM). W moim interfejsie OpenWebRX+ oznaczało to wybór "FM" ale z ustawieniem szerokości pasma na wąską wartość jak 12.5kHz.
Chaos settings.json: OpenWebRX+ używa pliku konfiguracyjnego settings.json do definiowania profili odbiornika. Początkowo to przytłaczający blok tekstu. Ale metodycznie się przez niego przegryzłem, zamieniając go ze źródła zamieszania w moją osobistą mapę fal radiowych. Dodałem profile dla lokalnych służb, zorganizowałem pasmo FM w łatwe do ogarnięcia kawałki i upewniłem się, że Airband jest w pełni pokryty.
Oswajanie Chaosu: Budowanie Osobistej Mapy Częstotliwości
Najbardziej przydatną rzeczą było spersonalizowanie mojego pliku settings.json zakładkami, czyli "profilami". Zamiast ręcznie wpisywać częstotliwości, mogę teraz przełączać się między "Wieża Poznań Airband", "Lokalna Straż Pożarna" czy "Krótkofalówki PMR446" jednym kliknięciem.
Dodanie nowej zakładki to prosta sprawa edycji pliku settings.json (znajdującego się w /opt/owrx-docker/etc/ w moim setupie) i dodania nowego wpisu do sekcji profiles dla mojego rtlsdr. Na przykład, żeby dodać zakładkę dla transmisji ATIS lotniska Poznań-Ławica:
"poznan_lawica_atis": {
"name": "Poznań Ławica ATIS (120.255)",
"center_freq": 120255000,
"rf_gain": 40,
"samp_rate": 2400000,
"start_freq": 120255000,
"start_mod": "am",
"tuning_step": "8333"
}
Każdy parametr jest istotny: name to czytelna dla człowieka etykieta, center_freq i start_freq stroją odbiornik, a start_mod poprawnie ustawia modulację na AM. Ten prosty proces zmienił moje doświadczenie z przypadkowego polowania na celowane nasłuchiwanie.
"Niemożliwe" Złowienia, Które Mnie Wciągnęły
Prawdziwa magia zaczęła się, gdy zacząłem polować na sygnały. Rezultaty, osiągnięte prostą anteną TV, są wręcz zdumiewające.
Od Obserwowania Nieba do Czytania w Myślach
Mój pierwszy moment "wow" przyszedł podczas eksplorowania górnych częstotliwości VHF. Zacząłem od cyfrowych łączy danych używanych przez współczesne lotnictwo, strojąc się na 136.975 MHz, żeby podłączyć się do VDL Mode 2. Nagle nie słuchałem już tylko szumu; mój ekran zaczął się wypełniać surowymi, tekstowymi wiadomościami z samolotów. Dekodowałem raporty statusu i dane operacyjne. Prawdziwa magia wydarzyła się, gdy zdałem sobie sprawę, że mój interfejs OpenWebRX+ może użyć tych danych do podania linku do stron śledzenia lotów na żywo. Jednym kliknięciem byłem przenoszony na mapę pokazującą dokładny samolot, którego "słuchałem", kompletny z trasą lotu i danymi ADS-B. Przejście od bycia biernym obserwatorem do zaglądania do cyfrowego układu nerwowego utrzymującego współczesne lotnictwo w ruchu... i widzenia tego zwizualizowanego na mapie, to był ogromny skok. Czułem się jakbym odblokował zupełnie nową warstwę rzeczywistości.


Rozmowa Na Żywo z 300 Kilometrów
Mój najbardziej oszałamiający moment jednak przyszedł podczas skanowania pasm amatorskich. Natknąłem się na rozmowę, której według praw fizyki nie powinienem był móc słyszeć. To była bezpośrednia rozmowa między dwoma radioamatorami. Jeden był w Tulcach, wiosce tuż za Poznaniem. Drugi był w Warszawie.
A ja, zlokalizowany w Wielkopolsce (na północ od Poznania), mogłem słyszeć obie strony i ich rozmowy wyraźnie.
Odległość między nimi to mniej więcej 300 km. W normalnych warunkach, dla radia VHF, to niemożliwe, bo sygnały są ograniczone linią wzroku. Ale byłem świadkiem magii propagacji troposferycznej ("tropo") - zjawiska pogodowego, które tworzy naturalny "tunel" w atmosferze, prowadząc fale radiowe na niesamowite odległości. Moja antena kierunkowa, skierowana na wschód, była w idealnym miejscu w idealnym czasie. To była potężna, namacalna demonstracja natury naginającej zasady.

Co Dalej na Skali?
Ta przygoda była już niesamowicie satysfakcjonująca, ale wiem że ledwo musnąłem powierzchnię. Jest jeden cel, który wciąż gonię: słuchanie pilotów.
Widzę ich samoloty i dekoduję ich dane, ale jeszcze nie udało mi się nastroić na Airband (118-137 MHz), przełączyć na modulację AM i usłyszeć rozmowy na żywo między kokpitem a wieżą kontrolną. To następna granica dla mnie - w końcu przypisać głos do kropek na mapie.
Poza tym, nowe tajemnice już się ujawniły. Jest niezidentyfikowany "brzęczyk" na 120 MHz, który może być formą danych albo po prostu lokalną interferencją. Widziałem ślady cyfrowych pagerów ("PAGE") i innych niezidentyfikowanych sygnałów cyfrowych ("DIG"), których mój system jeszcze nie potrafi zdekodować. A świat HF, ze swoimi słynnymi stacjami numerycznymi i globalnymi nadawcami, pozostaje w dużej mierze poza zasięgiem mojej obecnej anteny.. Przygoda dopiero się zaczyna.
Dla każdego entuzjasty technologii szukającego nowego wyzwania, nie mogę polecić SDR bardziej. To perfekcyjna fuzja sprzętu, softu i czystej eksploracji. W świecie cyfrowej abstrakcji jest unikalna satysfakcja w złapaniu prawdziwego sygnału z powietrza i odkryciu historii, którą ma do opowiedzenia.