Jak se loví letadla aneb Přijímáme ADS-B

Letadlo v podběrákuOd dob bratří Wrightů, kdy se po obloze prohánělo pouze všelijaké ptactvo, a občas vzbudila pozornost vzducholoď, se nám ve výhledu směrem vzhůru mnohé změnilo. Každý den vzlétne několik set tisíc letadel různých typů, které ročně přepraví přes tři miliardy pasažérů. Pro zajištění přehledu o provozu na jednotlivých letových hladinách i letištích samotných, byl vyvinut systém ADS-B, který rozšiřuje tzv. sekundární přehledový radar. Každé letadlo, až na specifické výjimky, vysílá v definovaných intervalech přesnou polohu, která je získána z GPS, svou identifikaci, a další více či méně důležité informace. Díky ADS-B má pozemní řízení letového provozu (ATC), a okolní letadla, přehled o stavu ve vzduchu.

Pro systém ADS-B (Automatic Dependent Surveillance – Broadcast) je zejména vyhrazen pracovní kmitočet 1090 MHz, za určitých podmínek i 978 MHz. Nicméně v našich končinách nás zajímá pouze 1090 MHz.

ADS-B využívá informací o poloze z GPS. Díky tomu lze přesně určit pozice letadla vzhledem k jakémukoli místu na Zemi. Ostatní informace, jako teploty, počasí, apod. jsou získávány z palubních počítačů.

Protokol, který je využíván pro ADS-B je standardizován a přesně popsán. Proto není větším problémem vysílané informace přijímat a dekódovat poměrně jednoduchým zařízením. Kromě profesionálních přijímačů, kterými jsou vybavována letadla, a mají možnost předvídat kolize (TCAS/ACAS), existují komerční přijímače pro amatéry, které jsou vybaveny velkým přehledovým displayem zobrazující jednotlivá letadla na mapovém podkladu.

Podobné zařízení si lze také postavit v čistě amatérských podmínkách. Tuto možnost využijí zejména zájemci o leteckou techniku, kteří by rádi věděli, jaké letadlo právě letí nad jejich hlavami. V dnešní době není problém na svém chytrém telefonu provozovat aplikace jako Flightradar24 či FlightAware, které jsou schopné potřebné informace zprostředkovat. Nicméně někdo rád získá přesná data přímo od prolétajícího stroje.

Dosah

V případě přijmu dat ADS-B je nutné si uvědomit, že při kmitočtu 1090 MHz je již potřeba přímé viditelnosti na zdroj, tedy letadlo. Samozřejmě je možné zachytit signál i např. pod střechou, bude ale silně utlumen. Na druhé straně výhodou je, že letadla létají v letových hladinách až do cca 14 000 m n. m., a proto je možné přijímat signál z opravdu velké vzdálenosti. Ta je ve volném terénu bez překážek limitována zakřivením Země. Maximální vzdálenosti dosahu se mohou pohybovat až okolo 500 km. Pokud se budeme pohybovat v zarušeném prostředí, města nebo místa s rozsáhlou průmyslovou výrobou, možnosti příjmu budou dále degradované.

Technické vybavení – hardware

Příjem signálu není ani v případě ADS-B jednoduchou záležitostí, protože přijímaný signál je často na hranici šumu. Pojďme si ale jednotlivé části signálové části popsat detailněji.

Anténa

Pro bezproblémový příjem je potřeba určité vybavení. Pasivním prvkem je anténa, která je schopna přijímat kmitočet 1090 MHz. Takovou anténu si můžeme zakoupit, popřípadě vyrobit. Kromě provozovaného kmitočtu je potřeba zmínit, že vysílání probíhá s vertikální polarizací. Pro naše účely použijeme všesměrovou anténu. To z toho důvodu, že budeme přijímat signál ze všech směrů. Samozřejmě máme možnost připojit anténu směrovou, ale taková možnost je vhodná pouze v případě příjmu signálu pouze z určitého směru, např. z letištní plochy.

Impedance může být 50 Ω nebo 75 Ω. Pokud použijeme napáječ (koaxiální kabel) s jinou impedancí než má anténa, měli bychom použít přizpůsobovací člen/transformátor. Pokud to neuděláme, nikdo nám hlavu trhat nebude a přijímat budeme také, musíme ale počítat s nižším ziskem.

Na obrázku je kolineární anténa se ziskem cca 5,3dBi, která je vyrobena z Cu drátu průměr drátu 3 mm. Pokud by byla umístěna do umělohmotného krytu, nebo vyrobena z izolovaných vodičů, z plastem zakrytých délek bychom odečetli cca 5 % (bez proměření antény nelze přesně odhadnout). To proto, že plast se také částečně podílí na přenosu elektromagnetické vlny (viz odstavec filtry, zkracovací činitel). Plast pro použití ve venkovním prostředí vybíráme UV stabilní PVC. Pozor na samozhášivé typy, protože obsahují nejčastěji směs vápníku a zinku, a proto nejsou pro rádiové vlny vhodným společníkem. Pokud ale nemáme jinou možnost, použijeme. Impedance je 50 Ω.

Existuje několik typů kolineárních antén, ale pro příjem ADS-B postačí i jednoduchý půlvlnný dipól, λ/4 nebo anténka, která bývá přibalena k USB DVB-T přijímači. U té ale žádný větší dosah předpokládat nelze. Pouze si ověříme, že s naší konfigurací dokážeme přijímat signál ADS-B.

Anténu umisťujeme co nejvýše nad okolní terén. Díky tomu budeme přijímat signál z větší vzdálenosti. Každý výškový metr může hrát určitou roli. Je zde jedno ale. Blízké silné vysílače pracující na harmonických kmitočtech mohou příjem zarušit. Typickými představiteli jsou GSM, LTE a DVB-T. Tento problém bohužel nelze efektivně eliminovat. Dále se mohou vyskytovat zdroje s podobným kmitočtem kolem 1000 ± 200 MHz . Tím je zpravidla LTE. Takový signál dokáže přebudit vstupní obvody vlastního integrovaného přijímače nebo zesilovače. V tomto případě poslouží vhodný filtr – pásmová propust pro kmitočet 1090 MHz. Takový filtr lze zakoupit, vyrobit nebo…

Filtr

Quarter-wave stub… nebo použijeme tzv. čtvrtvlnný zkrat. Je to vlastně odbočka na koaxiálním kabelu o délce λ/4.

Výpočet je jednoduchý. Vlnová délka pro kmitočet 1090 MHz je 0,275 m. Čtvrtina = 68,8 mm, tu ale musíme ještě vynásobit zkracovacím činitelem vf (velocity factor), který je definován pro každý koaxiální kabel – je nutné se podívat do datového listu. Zkracovací činitel udává, jaká je rychlost přenosu informace v kabelu oproti vakuu, např. v mém případě 0,82 (82 %) pro Belden H126. Výsledná délka včetně konektoru je 56 mm. (Ano, používám anténu s impedancí 50 Ω a koaxiální kabel s impedancí 75 Ω bez přizpůsobení, ideální to není, ale lze.)

Tento „pahýl“ propouští kmitočet pro který je vyroben ± 10 %. Ostatní jsou utlumeny. Přesněji, propouští definovaný kmitočet + jeho sudé harmonické. (Ponecháme-li konec odbočky rozpojený – open end, je efekt opačný, tedy, příslušný kmitočet a jeho harmonické jsou zadrženy. V tomto případě se samozřejmě středový vodič odbočky nezemní.)

Velkou výhodou je, že pokud odbočku (nebo T adaptér) uzemníme, získáme jednoduchou ochranu proti statickému napětí, které může poškodit zesilovač nebo přijímač. Ale pozor, není to ochrana proti blesku! Nezemníme ke svodům hromosvodu, ale k ekvipotenciální sběrnici. Samotná anténa a koaxiální kabel musí být instalovány v ochranném úhlu hromosvodu. Nikdy nemůžeme důvěřovat představě, že pokud je anténa v nevodivém plastovém obalu, je dostatečně chráněna před úderem blesku.

Pokud po koaxiálním kabelu napájíme stejnosměrným napětím nějaké zařízení, nikdy nesmíme připojit čtvrtvlnný zkrat mezi napájecí zdroj (t-bias, fantom) a např. zesilovač. Podobně jako filtr postavený pro 1090 MHz, tak i čtvrtvlnný zkrat zapojíme před samotný zesilovač.

Koaxiální kabel

Kabel použijeme kvalitnější vysokofrekvenční. Opět vybíráme také podle vhodné impedance. V mé instalaci používám Belden H126 Cu nebo Draka 1.13/4.8 Cu. Důležitým parametrem je útlum kabelu při 1 GHz. Obecně lze říci, že lze použít koaxiální kabel pro WiFi a satelitní příjem. O něco více zde.

Nalezneme-li kabely typu RG-58, RG-174 a podobné, necháme si je raději na krátké propojky.

Jelikož koaxiální kabel pracuje také jako anténa, snažíme se o co nejkratší délku signálového vedení.

Zesilovač

Použití zesilovače pro „umělé“ zvýšení dosahu samozřejmě lze, ale často to není nutné. Můžeme použít běžný širokopásmový vysokofrekvenční zesilovač (Mini-Circuits PSA4-5043+, Hittite HMC599), nebo typ s integrovaným filtrem pro 1090 MHz. Opět by měla být impedance stejná jako v případě koaxiálního kabelu.

Napájení zesilovačů bývá provedeno externím konektorem nebo po koaxiálním kabelu.

Potřebný zisk nelze přesně odhadnout, ale vyhoví asi prakticky každý nízkošumový zesilovač se ziskem cca 20 dB.

Přijímač vysokofrekvenčního signálu

Na trhu nalezneme nepřeberné množství vhodných přijímačů. Já se ale budu věnovat pouze jednomu, a to tzv. SDR (softwarově definované rádio), DVB-T přijímači s Realtek RTL2832U a Rafael Micro R820T.

Tento DVB-T přijímač dokáže kromě televize přijímat kmitočty v rozmezí 24 až 1766 MHz. Tím pádem pokrývá i 1090 MHz. Velkou devizou je cena, která začíná kolem 170 Kč. K dispozici je např. na eBay. Poprvé jsem se o tomto přijímači zmínil při popisu příjmu DVB-T a distribuci po IP.

Upraveny SDR prijimac s RTL2832U a R820T - celkovy pohled

Vstupní impedance je 75 Ω. Pro připojení k PC slouží USB port. Přes vhodný adaptér je možné přijímač připojit i k chytrým telefonům s podporou OTG.

Uživatelé GNU/Linux ocení existenci ovladačů ve stabilních jádrech. Pokud zařízení použijeme jako SDR ve Windows, musíme originální ovladače nahradit libusb (projekt Zadig). Z menu Options vybereme volbu List All Devices. V rozbalovacím boxu se zobrazí RTL2838UHIDIR. Položku vybereme a ověříme, zda je původní ovladač RTL2838UUSB a nový WinUSB. Pokud je tomu tak, klikneme na tlačítko Replace Driver. Tímto způsobem jsme zaměnili původní ovladač přijímače za nový, který zpřístupní zařízení jako SDR.

Výpočetní systém

Přijatý signál musíme zpracovat programovým vybavením na vhodném výpočetním systému – počítači, embedded zařízení apod.

Často se setkáváme s popisem příjmu ADS-B na Raspberry Pi. Já ale zajdu ještě dále do historie. Pro ADS-B používám Alix 3D3. Obsahuje i586 CPU AMD Geode LX800 pracujícím na 500 MHz a 256 MB DDR DRAM. Vytížení CPU je někde okolo 91 %. I přesto je možné na zařízení běžně pracovat (používám ho jako NAS se SMB; operační systém Arch Linux).

Programové vybavení

Přijímací cestu se všemi komponentami máme postavenu. Nyní přichází na řadu zpracování přijatého signálu programovým vybavením, zobrazení letadel na mapě, ale také přispívání přijatými daty celosvětové komunitě.

Zpracování signálu v mém případě probíhá na operačním systému Arch Linux. Jádro umožňuje použít přijímač s RTL2832U jak pro DVB-T, tak jako SDR. Pro SDR není potřeba žádného zakazování jaderných ovladačů DVB-T. S tím mám (22. 9. 2016) v nejnovějším vydání Ubuntu problém – nezvládá to stejně dobře jako Arch Linux.

dump1090

Důležitým předpokladem pro běh SDR je instalace balíku rtl-sdr. Příslušné knihovny jsou využívány ostatním SW. Vlastní zpracování přijatého signálu zajišťuje program dump1090 (dump1090-mutability-git) , který je dostupný z repositáře AUR.

Během instalace je automaticky vytvořen uživatelský účet dump1090, který slouží pro spuštění služby dump1090-mutability. Službu je možné nastavit parametry v souboru /etc/dump1090-mutability.

Jak je možné poznat z mé konfigurace, je možné nastavit např. vlastní GPS souřadnice umístění přijímače a adresář (write-json), kam bude každých write-json-every sekund služba zapisovat aktuální informace. Ty lze následně zobrazit na mapě, viz dále nginx. Adresář musí vlastnit uživatel dump1090.

Používáme-li MS Windows, můžeme přeložené binární soubory stáhnout z adresy https://github.com/MalcolmRobb/dump1090. Před spuštěním ale musíme nainstalovat ovladače libusb (viz Zadig). Aktuální verze pro Windows (dump1090-win.1.10.3010.14.zip) obsahuje chybu, při které je mapa provozu (localhost:8080) prázdná. Problém se nachází v adresáři public_html. Opravit ji můžeme nahrazením původních souborů z dump1090-win.1.10.3010.14.zip celým adresářem public_html z https://github.com/MalcolmRobb/dump1090. Nevím proč autor nevytvořil archiv znovu, ale je tomu bohužel tak.

Vraťme se ale k Arch Linux. Na svém serveru Alix 3D3 také pro lokální síť provozuji jednoduchý webový portál, který využívá službu nginx. Ve výchozím nastavení dump1090 čeká na spojení z internetového prohlížeče na portu 8080/tcp. Jelikož chci poskytovat informace v lokální síti přes nginx, musím provést určité kroky:

  1. z repositáře https://github.com/mutability/dump1090 stáhnu adresář public_html a obsah rozbalím do rootu nginx jako dump1090/ (/srv/http/dump1090);
  2. přidám do nastavení nginx následující:

Po připojení internetovým prohlížečem na adresu http://lokalni-server.local/dump1090 je zobrazena mapa s letadly, od kterých byl přijat signál ADS-B.

ADS-B - DUMP1090 - ADS-B ANT

Černou barvou je na mapě zobrazen přibližný tvar možné propagace vysokofrekvenčního signálu v závislosti na terénu. Více v článku Zobrazení dosahu přímé rádiové vlny na profilu terénu.

RTL1090, adsbSCOPE

V prostředí MS Windows můžeme provozovat několik různých projektů. RTL1090 (v době psaní článku je portál nedostupný; lokální archiv) slouží pro zpracování přijatého signálu, který je zobrazován pomocí adsbSCOPE.

Sdílíme přijatá data – data feeder

Zpracovaná data můžeme sdílet s různými projekty. Velice často na oplátku dostaneme prémiové přístupy k obsahu, který je jinak zpoplatněn. Zástupci těchto služeb jsou např. Flightradar24 či FlightAware.

V obou případech je potřeba nainstalovat specializovanou službu, která získává přijatá a dekódovaná data z dump1090, a přeposílá je do datových úložišť jednotlivých provozovatelů.

Flightradar24

Pro Arch Linux existuje aplikace fr24fee, která je dostupná z AUR jako flightradar24.
Po instalaci je potřeba registraci, ke které potřebujeme zadat naši emailovou adresu.

Nastartujeme službu:

Následně si na portálu Flightradar24 vytvoříme se zadanou emailovou adresou účet. Tím se nám propojí s aplikací posílající a aktivuje prémiový obsah.

Flightradar24 nám dovoluje nahlédnou na některé statistiky vztahující se k našemu účtu:

FlightAware

I FlightAware má vlastní aplikaci přeposílající data z dump1090 na servery společnosti.

Její název je piaware-git a je opět dostupná z AUR.

Před instalací si vytvoříme uživatelské konto na portálu FlightAware.

Po instalaci musíme provést nastavení v souboru /etc/piaware.conf. Zde zadáme uživatelské jméno a heslo, které používáme pro účet FlightAware.
Nastartujeme službu:

Po spuštění služby na internetovém portálu potvrdíme aktivaci a následně je nám přidělen prémiový obsah.

V případě FlightAware je k dispozici opravdu velké množství různých statistik:

Závěr

Ať jsme lovci letadel nebo jen občasní sledující, díky různým technologiím máme možnost získat přehled o tom, co se děje nad našimi hlavami.

Následující obrázek zachycuje příjem ADS-B anténou Color supra, kterou používám pro příjem DVB-T z cca 80 km vzdáleného vysílače:

ADS-B - DUMP1090 - TV ANT

Color Klasik - instalaceAnténa obsahuje předzesilovač. V signálové cestě není instalován žádný filtr, pouze aktivní čtyřcestný DVB-T rozbočovač. Ač je signál ADS-B vysílán s vertikální polarizací a anténa je nainstalována pro příjem horizontální, na obrázku s dump1090 je vidět množství sledovaných letadel. Severním směrem, za reflektorem antény, stojí vysoká budova, proto je příjem z tohoto směru velmi limitován.

1 komentář u „Jak se loví letadla aneb Přijímáme ADS-B

  1. Pingback: Arch Linux on Orange Pi Zero | brichacek.net

Napsat komentář