2008/1 – 2.1.2007
Automatická kompenzace Dopplerova posunu frekvence při komunikaci s družicemi na negeostacionárních drahách Ing. Jan Kovář, prof. Ing. Miroslav Kasal, CSc. Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií Purkyňova 118, Brno, 612 00
[email protected] Tento článek popisuje zjednodušeným způsobem pohyb umělých družic Země a dává návod, jak prakticky vyřešit problémy s Dopplerovým posunem při komunikaci s družicemi na nízkém a středním orbitu. S využitím programů pro predikci polohy satelitu lze vytvořit automatický systém, který bude družici sledovat a také nastavovat frekvenci spoje s ohledem na vzniklý Dopplerův posun.
1 Úvod Pohyb planet i družic se řídí třemi Keplerovými zákony. První určuje eliptický tvar dráhy. Druhý Keplerův zákon říká, že průvodič družice opíše za jednotku času konstantní plochu. Z toho plyne, že pohyb družice po eliptické dráze je velmi nerovnoměrný. Čím větší je výstřednost dráhy, tím je pohyb nerovnoměrnější. Třetí Keplerův zákon určuje vztah mezi dobou oběhu družice a délkou hlavní poloosy eliptické dráhy. Příčinou vzniku Dopplerova posunu frekvence je nenulová rychlost družice vůči pozorovateli. Z důvodu nerovnoměrnosti pohybu se mění i hodnota Dopplerova posunu. Pro určení jeho okamžité velikosti je nutné predikovat polohu satelitu a vektor jeho rychlosti. Protože se rychlost družice mění, mění se i hodnota Dopplerova posunu. Je tedy nutné veškeré výpočty polohy i hodnoty Dopplerova posunu provádět v reálném čase a automaticky řídit transciever i pozicionér.
2 Software pro určení Dopplerova posuvu frekvence 2.1 Predikce polohy satelitu Eliptický tvar dráhy je určen prvním Keplerovým zákonem. Jedno z ohnisek eliptické dráhy je totožné s těžištěm celé soustavy Země-družice. Bod, ve kterém je družice nejblíže Zemi, se nazývá perigeum. Nejvzdálenější bod dráhy družice je apogeum. Těmito body prochází přímka apsid (hlavní poloosa elipsy). Pro určení polohy satelitu v libovolném čase musíme znát tvar dráhy, její umístění v prostoru a polohu satelitu na této dráze v daném okamžiku v minulosti. Jak je patrno z obrázku 1, je poloha družice na eliptické dráze dána délkou průvodiče r a úhlem f, který se nazývá pravá anomálie. Tvar eliptické dráhy je určen hlavní poloosou a a excentricitou e.
1-1
2008/1 – 2.1.2007
Máme-li určenou eliptickou dráhu v rovině, musíme dále určit umístění této roviny v prostoru. Rovinu dráhy určují dva úhly, jejichž význam v prostoru je naznačen na obrázku 2. Prvním je sklon roviny dráhy k rovině rovníku (inklinace) i, druhým úhlem je délka vzestupného uzlu, ta se obvykle vztahuje ke směru k jarnímu bodu. V tomto bodě se nachází Slunce v okamžiku jarní rovnodennosti. Máme-li definovaný tvar eliptické dráhy a její rovinu, musíme určit natočení dráhy v této rovině. Jak je parné z obrázku 1, toto natočení určuje ω – argument perigea. Je to úhel, který svírá průvodič perigea (ležící na přímce apsid) a průvodič vzestupného uzlu (ležící na uzlové přímce). Průsečíky oběžné dráhy a uzlové přímky se nazývají uzly. Uzel, ve kterém družice přechází z jižního do severního poloprostoru (obrázek 2), se nazývá vzestupný uzel. V sestupném uzlu družice přechází ze severního do jižního poloprostoru.
Obrázek 1 – Pohyb družice po eliptické dráze.
1-2
2008/1 – 2.1.2007
Obrázek 2 – Určení roviny oběžné dráhy v prostoru.
2.2 Matematický popis pohybu družice Abychom byli schopni určit polohu satelitu v libovolném časovém okamžiku, musíme znát všechny Keplerovy elementy. Těmi jsou spolu s časovým údajem, který je vztažen k dané pozici satelitu, tyto veličiny: a e i Ω ω
délka hlavní poloosy eliptické dráhy excentricita inklinace (sklon roviny dráhy satelitu k rovině rovníku) délka vzestupného uzlu argument perigea
Podle třetího Keplerova zákona lze určit dobu jednoho oběhu P [1] :
a3 4 2 (1) Kde μ je gravitační parametr (pro Zemi 398600,3 km3s-2). Z druhého Keplerova zákona vyplývá, že pohyb družice po eliptické dráze je velmi nerovnoměrný. Čím větší je výstřednost dráhy, tím je pohyb nerovnoměrnější. Důvodem je, že průvodič družice opíše za jednotku času konstantní plochu. Proto je u eliptické dráhy rychlost v apogeu několikanásobně nižší než v perigeu. P2
Z doby oběhu P určíme pak úhel opsaný za jednotku času n – střední pohyb tělesa:
1-3
2008/1 – 2.1.2007
2 P
n
(2)
Střední anomálii M získáme jako součin středního pohybu tělesa a času, který uplynul od průchodu satelitu perigeem. Jedná se o čas v úhlových jednotkách: M n t
(3)
Hodnotu excentrické anomálie E můžeme určit řešením Keplerovy rovnice: E M e sin(E )
(4)
Tato transcendentní rovnice se řeší iterací. Za E dosadíme náš odhad a vypočteme hodnotu E1, tu opět dosadíme do rovnice a vypočteme E2. Výpočet zastavíme, liší-li se dvě po sobě vypočtené hodnoty o méně, než je požadovaná přesnost. Při znalosti excentrické anomálie můžeme určit pravou anomálii f. Ta je se střední anomálií M totožná v případě, že dráha je přesně kruhová (e = 0). 1 e E (5) f 2 arctan tan 2 1 e
Nyní můžeme určit délku průvodiče r a rychlost družice v:
a 1 e2 1 e cos( f )
(6)
2 1 v r a
(7)
r
Úhel, který svírá průvodič r a vektor rychlosti v v rovině dráhy, je:
sin 90
e sin( f ) 1 e 2 e cos( f ) 2
(8)
Při znalosti pravé anomálie f, délky průvodiče r a prvků dráhy i, Ω a ω můžeme vypočítat pravoúhlé souřadnice v souřadné soustavě x, y, z. Počátkem této soustavy je těžiště Země, osou x ve směru k jarnímu bodu a osou z kolmou na rovinu rovníku. Osa y leží v rovině rovníku a je kolmá na osy x a z. [2] Při znalosti pravoúhlých souřadnic pozorovatele je již možné vypočítat nejen vzdálenost pozorovatel-družice, ale i úhel Θ, který tento směr svírá s vektorem rychlosti družice. Pak je již snadné určit i hodnotu Dopplerova posunu: DP
f s v cos c
(9)
1-4
2008/1 – 2.1.2007 Je pochopitelné, že hodnota Dopplerova posunu závisí na frekvenci spoje fs. Z tohoto důvodu se u satelitů na nízkém orbitu (LEO) používají co nejnižší kmitočty. Součin v·cos Θ je složka vektoru rychlosti družice ve směru k pozorovateli, proto se u geostacionárních drah prakticky neuplatní. Zde uvedený popis ohybu družice je velmi zjednodušen. Neuvažuje se rušení pohybu různými vlivy, jako je vliv atmosféry, slunečního větru, gravitace Měsíce, Slunce a dalších těles. Podrobný popis těchto jevů lze nalézt [1].
2.3 Existující programy pro predikci polohy družic v reálném čase Pro určení aktuální polohy satelitu v reálném čase jsou k dispozici programy SatPC32 [4] a TrakSat. Jsou schopny v reálném čase ze zadaných Keplerových elementů určit polohu družice vůči pozorovateli (azimut a elevaci) a také hodnotu Dopplerova posunu (při známé frekvenci spoje). Soubory kepleriánských prvků dráhy lze získat [5] ve tvaru NASA 2 line. Soubor obsahuje i dekódovací klíč: DECODE 2-LINE ELSETS WITH THE FOLLOWING KEY: 1 AAAAAU 00 0 0 BBBBB.BBBBBBBB .CCCCCCCC 00000-0 00000-0 0 DDDZ 2 AAAAA EEE.EEEE FFF.FFFF GGGGGGG HHH.HHHH III.IIII JJ.JJJJJJJJKKKKKZ KEY: A-CATALOGNUM B-EPOCHTIME C-DECAY D-ELSETNUM E-INCLINATION F-RAAN G-ECCENTRICITY H-ARGPERIGEE I-MNANOM J-MNMOTION K-ORBITNUM Z-CHECKSUM TO ALL RADIO AMATEURS BT AO-07 1 07530U 74089B 07271.17170329 -.00000028 00000-0 10000-3 0 9872 2 07530 101.5057 306.1161 0012172 055.5188 304.7029 12.53572559504029
Oba tyto programy umožňují automaticky řídit transcievery i pozicionér. Bohužel jen omezené množství modelů. Z tohoto důvodu bylo nutné vytvořit program, který z těchto programů získá přes DDE (dynamic data exchange) potřebné údaje a sám umožní řídit mnohem více transcieverů a pozicionérů. Pro potřebu Ústavu radioelektroniky FEKT VUT v Brně byl vytvořen klient Satcontroll, ten je schopen řídit transcievery a pozicionéry uvedené v tabulce 1: Transcievery Pozicionéry Yaesu FT 763 ProfiTracker Yaesu FT 840 IF 100 Yaesu FT 847 Yaesu FT 897 Yaesu VR 500 Tabulka 1 – Podporovaná zařízení
3 Vývoj klienta Pro vývoj klienta je vhodné vývojové prostředí Borland Delphi. Jsou k dispozici komponenty ClientConv a ClientItem. S touto komponentou je snadné realizovat celou DDE komunikaci. Pro přístup k sériové lince lze použít komponentu VaComm [6] a pro přístup k paralelnímu portu komponentu SmallPort [7]. Toto řešení je vhodné i pro Windows XP, je zde ovšem několik omezení. Je nutné vyhradit v počítači paralelní port jen k tomuto účelu. Pro tiskárnu je vhodné použít USB. Dalším problémem této komponenty je fakt, že se musí vždy před ukončením programu port uzavřít. To není problém při běžném běhu programu, ale při jeho havárii může zůstat paralelní port otevřen. Když se tak stane, není již možné port
1-5
2008/1 – 2.1.2007 znovu otevřít a to ani po restartu operačního systému. Jedinou cestou je v programu regedit smazat následující klíč: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Smport Poté restartovat operační systém. Pro navázání spojení s DDE serverem je nutné znát tyto tři položky: Položka Program SatPC32 TrakSat Server Name SatPC32 TrakSat DDE Topic SatPcDdeConv DDE_Serv1 DDE Item SatPcDdeItem DDE_EasyComm1 Tabulka 2 – DDE řetězce
3.1 Standart DDE Samotná komunikace přes DDE je typu klient – server. Jsou k dispozici tři základní typy DDE komunikace. Nejjednodušším je komunikace na požádání (Request transaction). Pokud jsou data aktualizována každou sekundu, jak je tomu u námi používaných programů, je vhodnější použít jednu z automatických smyček. Na výběr je ze dvou možností. Při použití smyčky typu Warm loop server oznámí klientovi změnu dat, klient o ně může požádat. Druhou možností je smyčka Hot loop, server při změně dat ihned data pošle klientovi. Protože interval aktualizace dat je předem známý a dostatečně dlouhý (1s), není problém, aby klient data za tuto dobu zpracoval. V Delphi komponenta ClientConv umožňuje připojit se k DDE serveru. Druhá komponenta ClientItem obsahuje událost OnChange, která se vykoná vždy, když sever pošle nová data (jedná se o smyčku hot loop). Data jsou předávána ve formě řetězce nekonstantní délky. Formát tohoto řetězce je následující: SNA0-40 AZ276,8 EL-32,1 UP435671382 UMLSB DN2401298934 DMUSB MA31,7 kde : SN AZ EL UP UM DN DM MA
satellite name – jméno satelitu azimut elevace frekvence uplink v Hz modulace na uplinku frekvence downlink v Hz modulace na downlinku střední anomálie
1-6
2008/1 – 2.1.2007
3.2 Řízení transciverů a pozicionérů Není tedy problém v obsluze události OnChange komponenty ClientItem vybrat podle uvozujících znaků potřené údaje a převést je na číselný datový typ. Dále je nutné nahradit desetinné čárky tečkami. Také je nutné zajistit, aby procedura nehavarovala při nulové délce řetězce. Máme-li potřebné řídící údaje, je potřeba vytvořit procedury, které tato data upraví na formát, který vyžadují jednotlivá zařízení. Pro transcievery je to rozhraní CAT (Computer Aided Transciever), které je kompatibilní se sériovou linkou až na úrovně. Většina modelů firmy Yaesu již převodník úrovní obsahuje. Samotný formát posílaných dat přes CAT se liší u každého modelu. Proto je nutné nastudovat z katalogových listů přesný formát a význam jednotlivých bytů. Každý příkaz posílaný po CAT je dlouhý 5 bytů, 4 byty jsou informační a 5. byt určuje příkaz. Odstup mezi byty musí být od 50 do 200 ms. Každý byte je doplněn o jeden start bit a dva stop bity, nepoužívá se žádné zabezpečení přenosu proti chybám ani řízení toku (handshaking). Parametr 1 Parametr 2 Parametr 3 Parametr 4 Opcode 43 21 00 00 01 Tabulka 3- Struktura 5 bytového bloku s příkladem nastavení frekvence Příklad v tabulce 3 je frekvence 432,1MHz. Opcode v příkladu odpovídá zařízení FT 847, konkrétně nastavení hlavního oscilátoru. Každý CAT příkaz má 5 bytů. Pokud nejsou pro danou funkci využity, na jejich hodnotě nezáleží (dummy values ). Musí se vždy dodržet formát 5 bytů. Je nutné komunikaci povolit příkazem – CAT ON. Komunikační zařízení v tomto modu nereagují na některé ovládací prvky, proto je vhodné vždy při ukončení komunikace s radiem zakázat CAT. Přístup k sériovému portu lze vyřešit pomocí komponenty VaComm [6]. Pro pozicionér IF 100 potřebujeme přístup na paralelní port, to obstará komponenta SmallPort [7]. Komunikace s pozicionérem IF 100 je vlastně sériová, i když na paralelním portu. Posílá se šestnáctibitové číslo, kde vyšších 8 bitů je elevace v rozsahu 0-255 a nižších 8 bitů je azimut, také v rozsahu 0-255. Je tedy nutné převést rozsah 0-360° na rozsah 0 - 255. To lze jednoduše provést vynásobením rozsahu ve stupních konstantou 0.70833 (přesně 255/360). U azimutu je konstanta 1.4166 (přesně 255/180). Jedničku reprezentuje změna hodnoty portu z 9 na 11 a nulu představuje přechod z 8 na 10. Důvodem je, že můžeme zapisovat jen celý byte a 1. bit s váhou 2 je použit jako hodiny. Je vhodné, aby časová prodleva mezi jednotlivými bity byla uživatelsky volitelná. Standardní čas 1ms totiž není dostačující při dlouhém vedení k IF 100. Následující tabulka ukazuje význam použitých pinů: Význam
Pin LPT
Clock 2 Data 3 Strobe 1 Tabulka 4 – Význam pinů LPT
1-7
2008/1 – 2.1.2007 Rotátor Profitracker se pomocí standardního sériového portu RS232 v konfiguraci 8 data bitů, jeden stop bit, bez parity a řízení toku. Přednastavená přenosová rychlost je 1200 bit/s. Komunikace je v textovém režimu, aby bylo možné pozicionér ovládat i ze základních programů, jako je hyperterminál ve Windows. Všechny příkazy musí začínat dvouznakovým heslem (standardně &*), následuje mezera a samotný příkaz. Ukončení se provádí obdobně (příkaz CR), a to netisknutelnými znaky, jejichž ASCII kód je 10h a 0Dh. Samotný příkaz se skládá ze jména proměnné, znaménka rovná se a hodnoty ve uvedené na tři desetinná místa a tři cifry před desetinou tečkou. Celkem má hodnota vždy 7 znaků. Celý příkaz nastavení azimutu nebo elevace včetně počátečního a ukončovacího hesla obsahuje 15 znaků. Tedy při nastavení azimutu na hodnotu 20,5° se musí poslat: &* AZ=020.500(CR). Závorka (CR) představuje již zmíněné netisknutelné znaky (10h a 0Dh).
3.3 Popis funkcí vytvořeného programu Vytvořený program pracuje ve dvou modech. Tím úplně základním je ruční nastavení frekvence a modulace v uplinku i downlinku. Stejně tak nastavení azimutu a elevace pro rotátor. Protože komunikační zařízení FT – 736 a FT – 847 umožňují provoz v plném duplexu (Satmode), je tato možnost také zahrnuta v možnostech programu. Jsou tedy možné dvě konfigurace. Buď jedno komunikační zařízení v Satmode, nebo zvlášť pro uplink a downlink. Druhým módem je spuštění automatické smyčky, která přebírá data z řídících programů a přeposílá je v požadované formě do připojených zařízení.
Obrázek 3 – Program SatPC32
1-8
2008/1 – 2.1.2007 Program se může připojit i k libovolnému DDE serveru, pokud obdrží řetězec ve správném formátu, lze použít i jiný řídící software. Je bezpodmínečně nutné dodržet označení jednotlivých položek v řetězci (AZ-azimut, EL-elevace…), protože podle těchto znaků Satcontroll vyhledává potřebné údaje. Použití čárek nebo teček pro oddělení desetinného místa je ponecháno na tvůrci řídícího programu. Ovládání programu je velmi intuitivní, v menu Settigs – Rotor je možné nastavit pro ovládání rotátoru: - offset azimutu - offset elevace - minimální elevaci - minimální krok azimutu i elevace - zpoždění mezi bity při řízení IF100 Dále v menu Setting – DDE lze nadefinovat alternativní DDE server. Po jeho definici se objeví v možnostech položky Source Software. Dvě podporovaná komunikační zařízení je možné použít v režimu plného duplexu (Sat mode). Podrobný návod lze nalézt v [3].
Obrázek 4 – Formulář programu SatControll
4 Závěr Program SatControll je vytvořen ve vývojovém prostředí Borland Delphi 5. Velkou výhodou této verze je dostupnost komponent jak pro sériový, tak i pro paralelní port. Obě tyto komponenty umožňují bezproblémový přístup i ve Windows XP. Program přijme data z programu SatPc32 nebo Traksat přes vazbu DDE. Z přijatého řetězce vybere potřebné údaje (frekvenci uplinku, downlinku, azimut a elevaci) a nastaví příslušné zařízení. S transcievery a rotátorem Profi Tracker program komunikuje po sériové lince. Program umožňuje využít porty COM1-COM10. Rotátor IF 100 se řídí přes paralelní port, zde je na výběr LPT1-LPT3 na standardních adresách (378h, 278h, 3BCh). V případě potřeby není velký problém přidat další podporované zařízení. Je ale nutné upravit zdrojový kód programu. Důvodem je, že řízení jednotlivých modelů radiostanic se od sebe liší už v základních rysech komunikace jako je formát, ve kterém je předávána frekvence.
1-9
2008/1 – 2.1.2007
5 Seznam použité literatury [1] [2] [3]
[4] [5] [6] [7]
BURŠA, M. Dynamika umělých družic v tíhovém poli Země. Praha: Academia, 1993. KASAL, M. Směrové a družicové spoje. Skriptum. Brno: FEKT VUT v Brně, 2005. KOVÁŘ, J. Programový modul pro kompenzaci Dopplerova posuvu. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, 2007. 49s. Vedoucí diplomové práce prof. Ing. Miroslav Kasal, CSc EICHMANN, E SatPC32 and Wisat32 Satellite Tracking Programs Version 12.4, 2005 Keplerian Elements, [online]. Silver Spring: AMSAT, 2005 - [Cit. 17.10.2007]. Dostupné z WWW: http://www.amsat.org/amsat/keps/menu.html VYKOPAL, J. Sériové rozhraní v Delphi. Buider [online]. Listopad 2001 [Cit. 17.10.2007]. Dostupné z WWW: http://www.builder.cz/art/delphi/delphiser.html KICINA, S. LPT pod Windows. HW SERVER [online]. Únor 2002 [Cit. 17.10.2007]. Dostupné z WWW: http://hw.cz/Teorie-a-praxe/Programovani/ART356-LPT-podwindows---Komponenta-SmallPort.html
1-10