Tłumaczenie maszynowe, niezweryfikowane przez osobę, dla której polski jest językiem ojczystym. Wzorcem jest wersja angielska.

Zaufanie do odbiornika i żegluga morskaEdytuj na GitHubieŹródło: docs/observatory/METHOD.md

Obserwatorium zakłóceń: opis metody

Wersja kshana-observatory/adsb/v1, zbudowana na kshana-interference-map/adsb/v2. Wyłącznie doradczo: to opis tego, jak wyglądały opublikowane raporty pozycji w minionych dniach, a nie pomiar żadnego odbiornika, prognoza, potwierdzenie zakłóceń ani przypisanie ich przyczyny.

Co obserwatorium publikuje#

Jeden produkt na dobę UTC i region, z jednego otwartego archiwum pozycji statków powietrznych. Każda komórka stałej siatki szerokości i długości geograficznej o boku 0.5 stopnia jest w jednym z trzech stanów:

Stan Znaczenie
degraded Duży odsetek statków powietrznych próbkowanych w komórce zgłosił tego dnia niską dokładność nawigacji, wyraźnie powyżej tła tego dnia.
not_degraded Próbkowano dostateczną liczbę statków powietrznych, a odsetek nie spełnił reguły.
not_observed Dane nie pozwoliły na rozstrzygnięcie. To nie znaczy „czysto”. Każda taka opublikowana komórka niesie powód dotyczący danych: insufficient_sample, no_day_background lub day_wide_effect. Komórka bez żadnego wpisu była widziana przez mniej niż 5 różnych statków powietrznych i jest wstrzymana.

Nic więcej nie jest publikowane: żadnej przyczyny, żadnego sprawcy, żadnego rekordu pojedynczego statku powietrznego. Powody opisują, czy dane z danego dnia wystarczały, a nigdy dlaczego dokładność była niska.

Trzy pliki na dobę (kshana interference-map daily):

  • observatory-adsb-<dataset>-<day>.geojson: komórki z schema kshana-observatory-day/1, metoda i jej wstępnie zarejestrowane parametry, licencja i atrybucja, reguła wydania oraz uwaga.
  • observatory-adsb-<dataset>-<day>.png: te same komórki jako obraz (z pogorszoną jakością, bez pogorszenia, nieobserwowane zakreskowane; puste komórki nie były obserwowane). Fragmenty tekstu w pliku powtarzają uwagę i licencję.
  • observatory-adsb-<dataset>-<day>.incidents.json: schema kshana-incident-report/1. Stykające się komórki z pogorszoną jakością (łącznie z przekątnymi) tworzą jeden incydent z obwiednią i swoimi komórkami. cause to stały tekst not attributed. Plik jest wejściem do cyklu raportowania, potwierdzania i powiadamiania (lotniczego cyklu raportowania, który kończy się NOTAM-em); nie jest potwierdzeniem ani NOTAM-em.

oraz .manifest.json z liczbą bajtów i SHA-256 trzech plików, identyfikatorem metody, licznikami wejścia (wiersze odczytane i wykluczone) i blokiem zbioru danych, tak aby produkt dało się sprawdzić i odtworzyć.

Reguły wydania (egzekwowane przez polecenie)#

  1. Opóźnienie co najmniej 24 h. Produkt z danej doby jest wydawany nie wcześniej niż po końcu tej doby UTC plus --delay-hours (24 lub więcej; mniejsza wartość jest odrzucana). Polecenie odrzuca dobę, której jeszcze nie można opublikować, i podaje najwcześniejszy czas. Nie ma przełącznika, który by to skracał.
  2. Grube komórki. --cell-deg poniżej 0,5 jest odrzucane.
  3. Tłumienie. Komórka widziana przez mniej niż 5 różnych statków powietrznych nie jest publikowana; liczba poniżej 5 to null (łącznie z zerem), tak jak w metodzie bazowej.
  4. Brak przypisania przyczyny. Słownik stanów i powodów nie zawiera przyczyny; sprawdza to test.
  5. Źródła. Tylko adsb.lol (ODbL 1,0) albo zbiór użytkownika z jego własną licencją. Dane OpenSky Network są odrzucane (jej licencja nie zezwala na użycie komercyjne ani redystrybucję map pochodnych). ADS-B i AIS nigdy nie są łączone.
  6. Licencja produktu. Plik ADS-B z danymi na komórkę, wykonany z adsb.lol, jest bazą pochodną (Derived Database) i niesie w pliku ODbL 1,0 oraz atrybucję adsb.lol. Kod Kshana pozostaje na AGPL-3.0.

Wielkość obserwowana i metoda bazowa#

Statek powietrzny ADS-B zgłasza, jak dokładna jego zdaniem jest jego własna pozycja GNSS: NACp (Navigation Accuracy Category for Position, poziomy zakres 95 % od 10 NM do poniżej 3 m) i NIC (Navigation Integrity Category, promień zawierania). Metoda bazowa (kshana-interference-map/adsb/v2, docs/INTERFERENCE-MAP.md) liczy dla każdej komórki i doby odsetek różnych statków powietrznych, których raporty w komórce miały w większości niską dokładność, z zabezpieczeniami: tylko wysokość powyżej 5 000 ft; statek powietrzny liczy się tylko wtedy, gdy tego samego dnia zgłosił dobrą dokładność gdzie indziej (punkt odniesienia sprzętu); odsetek w komórce musi przekraczać medianę odsetków w komórkach z tej doby o margines; doba, której mediana sama jest wysoka, jest oznaczana jako zakłócona czynnikiem zewnętrznym i żadna komórka nie jest uznawana za pogorszoną. Parametry ustalono na podstawie definicji pól i reguły prywatności, zanim zbadano jakiekolwiek dane, i są zapisane w każdym pliku wyjściowym. Obserwatorium dodaje trójstanowy słownik, reguły wydania i powyższe pliki i nie zmienia żadnego parametru.

Przebiegi regionalne. Przy --bbox odczytywane są tylko raporty wewnątrz prostokąta. Punkt odniesienia sprzętu i tło doby są wtedy liczone wyłącznie z raportów z prostokąta, co plik zaznacza (method.scope). Produkt regionalny jest więc produktem danych tego regionu, a nie wycinkiem produktu globalnego.

Związek z metodą NACp wobec HDOP z almanachu#

Pleninger, Topkova i Steiner, „GNSS interference detection: Methodology utilising ADS-B NACp indicator and GPS almanac data”, The Aeronautical Journal 129 (1331), 206 do 223 (2025), doi 10.1017/aer.2024.67, porównują błąd pozycji wynikający z NACp statku powietrznego z HDOP (poziomym rozmyciem dokładności) konstelacji GPS wyznaczonym z danych almanachu i oznaczają statek powietrzny jako dotknięty, gdy oba się rozchodzą; artykuł ocenia metodę na eksperymentach z umyślnym zagłuszaniem GPS.

Z czego korzystaliśmy. Tylko z opublikowanego streszczenia i rekordu bibliograficznego. Pełny tekst był dla nas niedostępny (za paywallem), więc nie znamy ani jego odwzorowania NACp na oszacowanie błędu, ani jego obliczenia HDOP, ani jego progów i nie twierdzimy, że je odtwarzamy.

Co zamiast tego robi obserwatorium. Pytanie, na które odpowiada porównanie z almanachem, brzmi: „czy sama geometria konstelacji mogłaby wyjaśnić tę niską dokładność?”. Metoda bazowa odpowiada na pytanie pokrewne bez almanachu: niski odsetek musi wyróżniać się na tle tej samej doby w całym regionie oraz na tle własnych dobrych raportów statku powietrznego gdzie indziej. To inny i słabszy substytut: nie potrafi powiedzieć, że godzina o spokojnej geometrii miała pogorszoną jakość tam, gdzie tło doby też jest niskie. Układ oceniający HDOP z almanachu nie jest zaimplementowany. To otwarta pozycja, do zbudowania z pełnego tekstu artykułu i publicznego almanachu GPS oraz do wstępnej rejestracji przed uruchomieniem; do tego czasu jest cytowany, a nie twierdzony.

Odtwarzanie produktu#

scripts/fetch_adsblol_day.sh 2026-09-15 /path/to/cache      # fetch and extract one day, hashes recorded
kshana interference-map daily /path/to/cache/extracted/2026-09-15 \
    --dataset adsb-lol --day 2026-09-15 --bbox 53.5,9.0,66.0,31.0 --out products/

Potok jest deterministyczny we wszystkim, co publikuje (sól identyfikatorów dla każdego przebiegu zmienia tylko wewnętrzne skróty, które nigdy nie są zapisywane). Wartości SHA-256 w manifeście pozwalają porównać drugi przebieg bajt po bajcie.

Badanie czułości#

kshana interference-map sensitivity <input> --dataset adsb-lol --day <day> --out report.json odtwarza raporty z jednej doby przy zmianach po jednym każdego wstępnie zarejestrowanego parametru (po dwie wartości, plus siatka 1,0 stopnia) i podaje dla każdego wariantu liczbę komórek z pogorszoną jakością, bez pogorszenia i nieobserwowanych, indeks Jaccarda zbioru pogorszonego ze zbiorem zarejestrowanym, komórki, których stan się zmienił, oraz powierzchnię pogorszoną. Nie zmienia niczego w zarejestrowanej regule: wariant nie jest sprawdzoną alternatywą, a duża zmiana pod wpływem parametru mówi, jak bardzo rozstrzygnięcie zależy od tego parametru, a nie która wartość jest właściwa. Wyniki dla katalogu wstecznego są w docs/observatory/RESULTS.md.

Ograniczenia#

  • Pokrycie. adsb.lol opiera się na odbiornikach wolontariuszy; otwarte morze i słabo pokryta przestrzeń powietrzna są rzadko próbkowane, a not_observed jest tam częste. Mapa pokazuje pokrycie swojego źródła.
  • Co oznacza niska dokładność. NACp i NIC spadają z powodów innych niż zakłócenia: awarii satelitów lub systemów wspomagania, pogody kosmicznej, usterek odbiornika lub transpondera oraz geometrii. Żaden stan nie sugeruje przyczyny.
  • Statki powietrzne, które przez całą dobę pozostają w dotkniętym regionie, nie mają punktu odniesienia poza nim i nie są liczone, więc metoda zaniża trwały efekt regionalny. Badanie czułości pokazuje wpływ zabezpieczenia punktu odniesienia.
  • Granice doby są w UTC; zdarzenie, które przekracza północ, jest dzielone między dwie doby.
  • Brak prawdy terenowej. Obserwatorium nie ma zewnętrznej wyroczni: każda wartość jest MODELLED i żaden wiersz macierzy weryfikacji na nim nie spoczywa.
  • Wrażliwość tematu. Mapy tego rodzaju są sprawą polityczną. Obserwatorium podaje metodę, opóźnienie i słownik, i nic więcej; nie wskazuje państw ani podmiotów i nie publikuje w czasie rzeczywistym.