Možnost vzdáleného ovládání přijímačů a následné zpracování nahrávek nebo dokonce přímý poslech stanic na dálku, to je technická vymoženost, kterou využívají státní a vojenské složky již od druhé světové války. O výhodách asi netřeba hovořit. Zajímavá by ale možná byla velmi krátká retrospektiva toho, jak se vlastně vzdálené přijímače ovládaly a k čemu se používaly.
Mít možnost poslouchat radiový provoz, ale třeba také rozhlasové vysílání na místech s výrazně menším rušením, nebo s možností stavby mnohem větší anténní soustavy, než by bylo možné budovat přímo ve městech, byla nutnost již za minulého politického režimu.
Od padesátých letech minulého století se využívalo k tomuto účelu speciálních telefonních linek pro přenos hlasu. Jednalo se o linky vojenské, jelikož měla armáda vybudovanou poměrně hustou síť podél hranic (viz článek o pohraniční stráži), ale ne vždy. I některé civilní linky sloužily pro přenos hlasu z rozhlasových přijímačů. Minulý režim tak například trvale poslouchal Svobodnou Evropu a Hlas Ameriky pomocí vzdálených přijímačů v místech a na kmitočtech, kde bylo cílené rušení z východního bloku malé nebo vůbec žádné. V hlavním městě pak byla utajené centrum, kde se vysílání těchto stanic nahrávalo a zpracovávalo pro účely propagandy.
V případě odposlechu aktivního provozu státních a vojenských složek (dnes bychom to nazvali jako stanice COMINT a SIGINT), tam byla situace trochu jiná. Na odposlechových stanovištích podél našich západních hranic, museli sloužit vojáci, kteří aktivně ovládali přijímače, nahrávali provoz a prováděli jeho analýzu.
Velkým technologickým skokem byl konec 70 let a léta 80, kdy do této techniky začala masivně pronikat digitalizace a začaly se objevovat první číslicově (chcete-li digitálně) řízené přijímače. Pomocí komunikačních rozhraní bylo možné vzdáleně plně ovládat přijímače a měnit jejich nastavení v reálném čase. V tu dobu se možnost dálkově ovládat přijímače a vysílače začala využívat i v civilním sektoru a to například pro účely řízení letového provozu.
Ano, ovládání vzdálených přijímačů a vysílačů pro civilní základnové radiostanice bylo možné již mnoho let před tím, ale velmi omezeně a na velmi omezenou vzdálenost. Většinou se jednalo o spojení ovládacího pultu na dispečinku a radiostanice umístěné v téže budově. Jediná vzdálená funkce bylo přepínání vysílání/příjem, nažhavení elektronek a v lepším případě přepnutí kanálu. Ale i tyto funkce již většinou vyžadovaly speciální vícežilový kabel, po kterém se pomocí napětí ovládala relátka na druhém konci kabelu. S nástupem digitální techniky se tyto možnosti výrazně zlepšily.
Konec 80. a počátky 90. let v tomto směru nastavily navíc ještě jednu zásadní rovinu této technologie a tou byla unifikace. Zatímco v počátcích digitálního řízení bylo nutné pro vzdálené ovládání zařízení používat jednoúčelové počítače, digitální ovládací desky a jednoúčelová speciální komunikační rozhraní, postupem času se začaly využívat standardizovaná rozhraní pro paralelní a sériovou počítačovou komunikaci. U komunikačních přijímačů se začaly objevovat standardizovaná rozhraní a bylo tak možné zařízení ovládat „obyčejným“ počítačem. Od sálových počítačů se přecházelo k miniaturizovaným osmibitovým a později šestnáctibitovým počítačům harvardského typu. Vládní a armádní složky tak mohly nakupovat standardní osobní počítače, ale pro tyto svoje speciální účely. Vznikaly tak první speciální profesionální softwary, které sloužily nejen pro ovládání přijímačů, ale také zpracování zachycených informací, databázové zpracování radiového provozu a samozřejmě vytváření celých dálkově ovládaných sítí přijímačů.
Ke konci 90 let bylo možné koupit i v civilním sektoru přijímače s možností dálkového ovládání i když v domácím prostředí byla tato možnost velmi omezená. Pořizovací ceny těchto zařízení byly velmi vysoké, takže vybudování vzdáleného přijímacího stanoviště vyžadovalo jednak nemalé technické znalosti, a navíc i vysoké náklady.
V této době se začaly objevovat první přijímače, které byly předzvěstí nastupující generace softwarově definovaných přijímačů. Jednalo se o přijímače klasické koncepce (tj. typu superhet ať již typu down-konvertor nebo up-convertor), ale poslední mezifrekvence již byla zpracovávána pomocí A/D převodníku a DSP procesoru. DSP procesor prováděl demodulaci signálu, simuloval a doplňoval funkce klasických přijímačů (např. libovolné nastavení šířky pásma, redukce šumu, audio filtry apod.). Výstup z tohoto číslicového zpracování mezifrekvence byl ale opět D/A převodník, takže bohužel jen klasický analogový signál (sluchátka, reproduktor, audio-linka). Uživatel tak mohl ovlivnit chování přijímače jen velmi omezeně v rámci parametrů, které mu výrobce dal k dispozici. I tak to ale byl velký technický posun kupředu a ukázka, kam se bude technika ubírat dále.
Velkým skokem byl ovšem nástup kompletně softwarově definovaných přijímačů (SDR). Tedy přijímačů, které přímo zpracovávají radiové pásmo nebo jeho část, bez nutnosti konverze. Přímo v připojeném počítači se pak provádí nejen kompletní demodulace a vizualizace zpracovávané části radiového spektra, nastavují se a ovládají se také parametry vstupních obvodů a samozřejmě parametry A/D převodníku popřípadě soustavy A/D převodníku a následného DSP procesoru či FPGA hradlového pole, pokud je přijímač obsahuje. Z podstaty věci tak začaly u přijímačů hrát výraznou roli nové parametry jaké je například bitové rozlišení A/D převodníku, rychlost vzorkování, kmitočtová stability (stabilita zdroje hodinového kmitočtu) nebo šířka zpracovávaného či zobrazovaného pásma. To jsou totiž významné parametry, které ovlivňují nejen citlivost přijímače a možnost separace blízkých signálů, ale především odolnost vůči zahlcení silnými signály vyskytující se ve zpracovávaném pásmu. I v těchto zařízeních se používají samozřejmě pásmové propusti a filtry u vstupních obvodů, ale jen proto, aby zlepšily parametry přijímače a popřípadě odstranily artefakty vznikající při rychlém vzorkování radiových pásem.
Se zvyšující se dostupností internetu a samozřejmě celkové zlevnění nákladů na pořizování jednoduchých počítačů bylo jasné, že doba plně řízených vzdálených přijímačů je jen otázkou času. Z prvopočátku byla tato technologie určena především pro armádní a státní složky. Ty měly peníze na budování složitých jednoúčelových počítačových sítí, ale s rozvojem efektních civilních řešení, kdy bylo možné využít existujících komunikačních protokolů, existující propojení pomocí internetu a efektivní civilní vývojové prostředí, i tyto složky začaly používat to, co „běžní“ posluchači. K dispozici mají jen s rychlejší hardwarové a lepší softwarové vybavení. Dnes je situace dokonce taková, pokud nejste finančně limitováni, můžete si pořídit domů technologie velmi srovnatelné, nebo dokonce po stránce hardwaru identické s těmi, které používají státní složky.
Vedle těchto nákladných profesionálních zařízení se začala objevovat i technika výrazně levnější, ale neméně zajímavá. Hardware je sice založený na méně kvalitních 8 až 14 bitových A/D převodnících, ale vzhledem k poměrně široké škále ovládacích a dekódovacích programů, které vlastně nahrazují profesionální softwarové vybavení, lze tyto přijímače využívat téměř stejně efektivně. Navíc už i tyto pžijímače umožňují vzdálenou správu resp. distribuci přijímaných dat po internetu a náklady na vybudování takového „remote“ přijímacího stanoviště nejsou astronomické. V principu vám stačí i jednočipový počítač Raspberry PI, ale mnohem spolehlivější je samozřejmě lepší použít malý počítač řady s dospělými procesory řady x86, které vám bez problému mohou obsloužit i jiné softwarové vybavení nebo několik radiových přijímačů současně.
SPY Server
V roce 2016 spatřila světlo světa první verze známého SDR přijímače s označením AirSpy. Jednalo se přijímač využívající vstupní obvody v té době již známého a velmi populárního levného televizního tuneru typu „RTL-SDR“. Za vstupním obvodem s označením Rafael Micro R810T (později R810T2) byl posazen 12bitový A/D převodník (a současně procesor) NXP LPC4370. Jako zdroj hodinového kmitočtu byl použit kmitočtově vysoce stabilní obvod SI5351C. Tato kombinace zabezpečovala velmi dobré vlastnosti po stránce radiové a z pohledu stability přijímaného kmitočtu, ale také velmi nízkou hladinu šumu vlastního přijímače (především v později upravené verzi s označením R2). Youssef Touil, tedy „otec“ tohoto přijímače, vytvořil platformu, která za velmi rozumné peníze nabízí velmi dobrou kvalitu. Přijímače z jeho dílny (ať již miniaturizovaná verze AirSpy Mini, nebo krátkovlnná verze AirSpy HF+) jsou pro většinu posluchačů synonymem spolehlivého miniaturního zařízení nejen na cesty, ale také na větší domácí anténu.
Ruku v ruce s hardwarem byl vyvíjen software. Vývoj se týkal nejen modulárního ovládacího programu SDR Sharp, jehož funkcemi jsem se již zde na stránkách několikrát zaobíral, ale také možností vzdálené správy a distribuci dat ze vzdáleného přijímače v reálném čase. Po poměrně dlouhém vývoji tak vznikla kombinace programů SDR Sharp <=> SPY Server, které umožňují přistupovat k jakémukoliv přijímači z rodiny AirSpy kdekoliv na světě. Vývoj streamovacího protokolu a samotné zpracování dat ovládacím programem nebyl jednoduchý, ale po několikaletých úpravách kódu, mnohých optimalizacích zpracování dat a dlouhých hodinách praktického provozu, bylo softwarové vybavení odladěno na velmi spolehlivou a především stabilní úroveň. V praxi to znamená, že je možné provozovat vzdálený přijímač i na relativně pomalém připojení a chovat se k němu, téměř jako by byl připojený přímo k počítači.
Spy Server můžete provozovat na všech běžných platformách tedy jak na Windows, Linux, ale také na miniaturním PC Raspberry PI. Přímo na stránkách AIRSPY.COM lze stáhnout ovládací software a spouštěcí skritpty. Na vzdáleném stanovišti tak potřebujete buď Raspberry PI, nebo malý bezobslužný počítač na kterém poběží očesané Windows popřípadě běžná distribuce Linuxu (klidně i grafická). Dle mých zkušeností je mnohem spolehlivější pro tyto bezobslužné systémy používat spíš Linux typu UBUNTU nebo MINT. Systém Windows v klasické domácí verzi není příliš vhodný, jelikož zde způsobují nestabilitu aktualizační a všelijaké reputační služby, které vám mohou výrazně omezit výkon počítače, nebo dokonce celý běh systému zaseknout. Jediné řešení by bylo použití Windows 10 IoT (bývalé LTSC), tedy systém očesaný o všechny zbytečnosti a hlavně ve které lze aktivovat ochranu proti zápisu na disk (UWF – Unified Write Filter) a současně zabránit automatické instalaci aktualizací. Dle mé zkušenosti je v tomto případě LINUX lepší řešení. Pokud nemáte remote stanoviště v dosahu, stačí jednou za čas spustit aktualizace a hotovo. To samé platí i pro Raspberry PI.
Pokud máte k dispozici počítač, připojený přijímač a chcete si vyzkoušet (nebo rovnou spustit) SPY server, musíte nejprve upravit konfigurační soubor SPYSERVER.CONFIG. V něm je potřeba upravit několik položek:
- bind_host = 0.0.0.0 – zde definujete konkrétní IP adresu přijímače, pokud zůstanou nuly, počítá se IP adresa počítače, na kterém běží Spy Server (není třeba měnit)
- bind_port = 5555-6666 – zde definujete rozsah portů, kde bude k dispozici Spy Server. Zde je výhodnější nastavit jen jeden port.
- list_in_directory = 1 – zde nastavte raději 0, pokud necháte 1 tak bude Váš přijímač k dispozici v seznamu na stránkách AirSpy.com jako veřejný přijímač.
- maximum_clients = 1 – tady si definujete, kolik klientů současně se může připojit k serveru. Je ovšem potřeba upozornit, že ten první rozhoduje o tom, v jakém pásmu bude přijímač poslouchat a ostatní mohou ladit jen v rozsahu samplování (max 2.5 MHz)
- #maximum_session_duration = 30 – Tuto položku položku je potřeba odkomentovat ! Zde nastavujete čas, jak dlouho může být klient maximálně připojen a neprovádí žádnou činnost. Zde je vhodné nastavit čas do 60 minut. Kdyby došlo ke ztrátě spojení, po uplynuté době se automaticky linka rozpojí a přijímač je volný.
- allow_control = 1 – povolení, že posluchač rozhoduje o nastavení zisku přijímače, toto nastavení určitě nechte aktivní (1)
- device_type = Auto – zde nechejte „auto“, pokud nemáte k přijímači připojených víc zařízení a chcete jen definovat, které z nich má být vzdálené.
- device_serial = 0 – má podobnou funkci jako předchozí s tím, že definujete, pokud máte připojených více přijímačů AirSpy, který z nich je vzdálený, s jedním přijímače není potřeba měnit.
- #device_sample_rate = 2500000 – tuto položku je potřeba odkomentovat a nastavit samplovací rychlost dle použitého přijímače. Pokud máte pomalejší připojení nebo pomalejší počítač, je potřeba nastavit nižší vzorkování.
- #maximum_bandwidth = 15000 – tuto položku je opět potřeba odkomentovat a upravit na nějakých 32000 Hz, pokud chcete zpracovávat širší datové přenosy (například POCSAG, TETRA apod.)
- #initial_frequency = 7100000 – tuto položku můžete a nemusíte odkomentovávat, ale já ji používám. Jedná se o úvodní kmitočet, kam se naladí přijímač, když se připojíte k serveru. Pokud to zůstane zakomentované, přijímač se naladí na aktuální frekvenci, kterou máte nastavenou. Tuto funkci je ale dobré použít. Pokud zde nastavíte kmitočet nějakého stabilního vysílače (například ATIS, VOLMET, radiomaják), zjistíte hned, že je ke vzdálenému přijímači připojená anténa a vše funguje.
- #minimum_frequency = 0 – toto je omezující položka. Pokud máte k přijímači například připojenou anténu jen na UHF, můžete omezit kmitočet například až od 400 MHz. Lze takto omezit ale i rozsah přijímače.
- #maximum_frequency = 35000000 – stejná funkce jako u předchozí položky, ale jedná se o omezení maximálního kmitočtu.
- #initial_gain = 5 – je položka, kterou můžete použít jako úvodní nastavení zisku. Opět je to vhodná položka současně s úvodním kmitočtem jako test, že přijímač a anténa jsou v pořádku.
Program na serverovém počítači spustíte, objeví se podobné okno:
Zde můžete vidět, že se k tomuto serveru může připojit jak pomocí origináního programu SDR Sharp, tak pomocí programu SDR Console. Rozdíl je ovšem v tom, že vám v SDR konzoli půjde zobrazit na vodopádu jen velmi omezené pásmo, kdežto v Sharpu uvidíte celé nastavené vzorkované pásmo.
Praktický provoz
Samotný SPY Server není příliš náročný na datové připojení. V podstatě mu stačí pro dobré stabilní připojení rychlost nějaký 1Mbit (96 kbyte/s), důležitá je ale odezva, která by neměla být delší než 100ms, pak se vám totiž nebudou tvořit artefakty na vodopádu a spektrálním analyzátoru. Když totiž bude docházet k výpadkům spojení, nebo budou datové pakety zpožďovány, na druhé straně se vám to bude jevit, jako když z připojeného přijímače netečou data. Vidíte tedy poslední stav spektra, který se časově posunuje, protože program automaticky posouvá vodopád. V extrémním případě může dojít k úplnému přerušení spojení a program se automaticky zastaví.
Zde bych rád upozornil na rozdílné chování programu SDR Sharp při vzdáleném připojení SPYserveru podle verze programu, který používáte. Zjistil jsem totiž, že starší verze SDR Sharpa rozlišují, zda máte aktivní úzkopásmový provoz nebo širokopásmový a podle toho si mění rychlost připojení. Já osobně používám jednu ze starších stabilních verzí programu s označením 1770. Ta tuto funkci ještě má. V praxi se chová tak, že při nastaveném provozu AM,FM,SSB,CW připojí SPYserver jen rychlostí 38kByte/sec (cca 300 kbit/s), ale až když použijete WFM, tak se začnou tahat data plnou rychlostí 1Mbit. To je opět úspora dat a pokud máte na straně SPYserveru pomalé připojení, může vám to velmi pomoci. Tato funkce bohužel v novějších verzích SDR Sharpu chyběla a program se vždy bez ohledu na druh provozu připojoval s plnou rychlostí. Od verze 1900 je tento problém naštěstí vyřešen a opět se omezuje připojení dle druhu provozu.
Je zde ovšem ještě druhá věc, kvůli které je v případě připojení k SPY serveru lepší použít starší verzi Sharpa a tou je rychlost zobrazení spektra. SDR Sharp totiž rozlišuje, zda se připojujete k příjimači přímo a nebo přes internet a omezí vám možnost nastavení vodopádu a spektra. To je na jednu stranu rozumné, jelikož by jste si mohli nastavit nesmyslnou rychlost rozlišení a rychlost vodopádu na data, která nemáte (viz nastavení SpyServeru a jeho obnovovací frekvence FFT). U nových verzí SDR Sharpu ale bohužel na tuto stránku někdo trochu zapomněl a po všech těch „vylepšení“ plynulosti zobrazení spektra je výsledek velmi špatný. Když použijete SDR Sharp verze 1900 či vyšší a připojíte se ke SPY serveru, zobrazení spektra se neuvěřitelně zpomalí a každá reakce na změnu kmitočtu nebo posun spektra je výrazně zpomalen. V tomto směru verze 1770, kterou používám, reaguje okamžitě a bez zpoždění, dá se říci, že skoro nepoznáte, zda máte připojený přijímač přímo a nebo vzdáleně.
Pokud vám vyprší definovaný časovač připojení (viz nastavení SPY serveru), nedojde k násilnému přerušení dat, ale připojení se automaticky korektně ukončí, jako by jste přijímač zastavili ručně. Nedochází tak k žádným anomáliím. Když totiž dojde k „násilnému“ přerušení dat, může se stát, že SDR Sharp zhavaruje a zapíše si do vlastního konfiguračního souboru (SDRsharp.config) nějaký nesmysl a budete mít problém jej opět nastartovat.
Co se týká samotné funkčnosti SPY serveru vs. přímo připojeného přijímače, rozdíly jsou minimální. V podstatě jste pouze omezeni rychlostí reakce přijímače. V praxi tedy není problém poslouchat jak analové provozy, tak dekódování dat do šířky pásma 25 kHz. to znamená, že můžete bez problému na dálku dekódovat DMR, dPMR apod. provozy jakož i datové spoje typu APRS. Totéž, ale platí i pro systémy se širší šířkou kanálu. Zde je ovšem pak kladen mnohem větší důraz na stabilitu i chybovost připojení a časové zpoždění. Kvůli omezené rychlosti reakce přijímače je potřeba počítat s tím, že například rychlé skenovací pluginy typu „Frequency scanner“ nebudou fungovat. Skenování pamětí, pokud se nastaví rozumná skenovací rychlost ovšem možná je. Můžete tedy SPYserver použít také jako jednoduchý skener uložených kmitočtů, podrobnější sledování pásma ovšem musíte dělat ručně.
Jak již jsem psal u konfiguračního souboru, pokud povolíte připojení více uživatelů současně, bude vždy první uživatel „rozhodovat“ o používaném segmentu pásma a následující další budou odkázáni jen na vzorkovaný rozsah pásma. To může být dost omezující a tak je na zvážení, zda tuto možnost vůbec povolovat. Pokud tuto funkci zakážete a jeden uživatel bude již připojen, ostatním se ozbrazí nápis „Server is busy“. A tím je jasné, že je server dostupný, ale obsazený. Opět zde funguje časovač připojení, takže pokud náhodou uživatel zapomene odpojit program od serveru, po definovaném čase dojde k automatickému ukončení spojení a další uživatelé mohou server používat.
Závěr
SPY server používám již několik let i na stanovišti, které jen obtížněji dostupné a relativně špatným internetovým připojením a musím uznat, že je to program velmi stabilní a chová se předvídatelně. Pokud jej navíc budete provozovat na systému Linux, nebude se muset o počítač příliš starat, jen jednou za čas spustit aktualizace. SPYserver vyžaduje samozřejmě veřejnou IP adresu, ke které se můžete připojit. Pokud ji nemáte, lze použít například program AnyDesk a jeho funkce routování portů (funkce, kdy se definovaný port na vzdáleném počítači propojí na definovaný port na vašem počítači). SPYserver je pak připojen na lokální adrese tj. 127.0.0.1.