Toto je starší verze dokumentu!
Obsah
Radio Observer
Jde o staniční aplikaci určenou k rádiovému pozorování:
- Meteorů
- Slunce/Jupiteru
- Pozorování dalších objektů
Cílem radio-observeru je nahradit živého pozorovatele sledujícího data z radioteleskopu na přítomnost nějaké zajímavé události. Například bolidu, nebo Sluneční erupce. Program běží na detekčních stanicích a zpracováním signálu z přijímače detekuje zajímavé události, například meteory.
V principu by mělo jít o komplementární aplikaci k PySDR, která je naopak určena pro vizualizaci měřených dat.
Klíčovou vlastností programu je schopnost zaznamenávat časově označkovaná data, použitelná pro další analýzu po získání dat z více stanic.
Zatím se vyvíjí v testovací verzi, jako radio-observer. Běžet by měl na ARM počítači.
Funkční požadavky k výsledné aplikaci Radio-Observer jsou zapisovány do Redmine.
PySDR a radio-observer
Cílem projektu je vytvořit soustavu nástrojů pro radioastronomická pozorování na vzdálených stanicích. Důvody k tomu jsou:
- Stanice se vyskytují obvykle jinde, než pozorovatelé
- Je výhodné mít možnost spravovat více pozorovacích míst z jednoho pracoviště
Program radio-observer by měl být nástroj, který bude samostatně vykonávat pozorování, na základě detekčních skriptů napsaných v Pythonu. Tyto skripty by měly běžet i v programu pySDR, který by měl sloužit k vizualizaci jejich funkce na identických datech s těmi, na kterých bude provádět detekci i program radio-observer. PySDR by však kromě možnosti ladit novou verzi skriptů poskytoval i možnost zobrazení stavu radio-observeru zejména z důvodu kontroly jeho funkce. Detekční skripty spuštěné v pySDR by ale neměly generovat datové záznamy. Ale pouze zobrazit detekovanou a ukládanou oblast.
Důvod toho, proč samotná detekční aplikace má běžet na počítači u přijímače je ten, že zde je konzistentní přístup k získávaným datům. A navíc může být k dispozici i datový tok s větším rozlišením, než které je dostupné přes síťové připojení.
Instalace
sudo apt-get install libfftw3-dev cfitsio-dev libjack-jackd2-dev clang build-essential git clone https://github.com/MLAB-project/radio-observer.git cd radio-observer git submodule init git submodule update cd cppapp make cd.. make
Nyní by jsme měli mít zkompilovaný radio-observer
checkout konkrétní verze z githubu
pro nejaktuálnější vyzkoušenou verzi na stanicích ZVPP a OBSUPICE lze použít
git checkout d7b29ff0bb7783596033c4be7113baffd91a697f
V dev větvi radio-observeru.
Ovládání radio-observeru
Naprostá většina parametrů radio-observeru je definována v konfiguračním souboru ve formátu JSON. Konfigurační soubor je očekáván v ~/.radio-observer.json. Případně může být zadán přepínačem při spuštění programu -c CONFIG_FILE.
Název konfiguračního souboru se odvozuje od názvu binárky, proto když přejmenujeme binárku, tak můžeme mít v home adresáři i jiný konfigurační soubor pro další experiment. Zároveň klient jacku je pak pojmenovaný podle jména binárky. To je užitečné v případě, že na jedné stanici potřebujeme z nějakého důvodu připojených více radio-observerů.
Parametry v příkazové řádce
Radio observer má minimum parametrů nastavitelných z příkazového řádku. Nejpodstatnějším parametrem je zvolený konfigurační soubor, který bude použit pro detekci.
- -c CONFIG_FILE
- -v - výpis verze
Konfigurační soubor
Konfigurační soubor je ve formátu JSON, který je rozšířený o možnost použití komentářů uvozených znakem //. Formát ukázkového souboru je následující:
{ "jack_left_port": "system:capture_1", // název JACK portu, ke kterému se má radio-observer připojit "jack_right_port": "system:capture_2", "configuration": "default", // název konfigurace která bude použita po spuštění programu. "configurations": [ { "key": "default", // identifikátor konfigurace "factory": "pipeline", "children": [ { "key": "backend", "factory": "waterfall", "bins": 32768, // počet binů FFT "overlap": 24576, // překryv FFT binů "origin": "TEST-R0", // nazev stanice "iq_gain": 0, "iq_phase_shift": 0, "children": [ { "key": "recorder", "factory": "snapshot", "output_dir": "~/Bolidozor/TEST-R0/snapshots", // adresar pro snapshoty "output_type": "snap", // zobrazovany typ souboru ve jmenu souboru "snapshot_length": 60, // délka snímku spektra v sekundach "low_freq": 10100, // spodní frekvenční omezení zaznamenávaného spektra. "hi_freq": 11000, // horní frekvenční omezení zaznamenávaného spektra. }, { "key": "recorder", "factory": "met", // zobrazovany typ souboru s nahledy detekovanych meteoru ve jmenu souboru "output_dir": "~/Bolidozor/TEST-R0/meteors", // adresar pro ukladani detekovanych meteoru "output_type": "met", // zobrazovany typ souboru s metadaty ve jmenu souboru "metadata_path": "~/Bolidozor/TEST-R0/data", // adresar pro ukladani metadat "advance_time": 12, // doba v sekundach, která bude zaznamenána v záznamu ještě před detekcí meteoru a po detekci.který bude sloučen do jednoho záznamu. "jitter_time": 1, //maximální interval v sekundach mezi dvěma detekcemi, vice meteoru v tomto intervalu bude povazovano za jeden "low_detect_freq": 10500, // dolni frekvence, kde budou detekovány meteory "hi_detect_freq": 10700, // horni frekvence, kde budou detekovány meteory "low_noise_freq": 11000, // dolni frekvnece pásma pro výpočet intenzity šumu "hi_noise_freq": 11500, // horni frekvence pasma pro vypocet intenzity sumu }, ], }, ], }, ], }
Do souboru vepsané české komentáře mají pouze dokumentační charakter. Pro vlastní konfigurační soubor prosím využijte příklad souboru v repozitáři radio-observeru.
Pokud spustíme radio-observer bez parametru definujícího konfigurační soubor, tak se pokusí si sám otevřít konfigurační soubor se stejným názvem jako binárka z home adresáře. tj. například: .nazev_stanice.json
Podobné SDR systémy klient-server
Jiné softwarové nástroje pro práci s radioastronomickými daty
FITS soubory
Možnosti použití
Radioteleskopy
Jedna z alternativ použití programu radio-observer je jeho nasazení na stanicích bras a aras, případně na jednoduchém parabolickém radioteleskopu.
Pozorování meteorů
Aplikací programu pro účel pozorování meteorů se zabývá projekt Bolidozor.
Pozorování Slunce/Jupiteru
K tomuto typu pozorování by byl třeba waterfall s nižším rozlišením, ale větší šířkou pásma (jednotky MHz), aby bylo vidět celé pásmo, kde se emise vyskytují. Toho by bylo možné dosáhnout přelaďováním přijímače. Časové rozlišení také nemusí být velké, protože jde o pomalé jevy.
Výsledkem by měl být dlouhý obrázek přes celý den s barevnými fleky odpovídajícími bouřím.
Datové výstupy
- Obrázkové náhledy ve FITs pro generování náhledů na webu. (Webový prohlizeč by mohl vykreslovat obrázek vykreslovat a obarvovat přímo z FITS podle požadavků uživatele)
- RAW záznamy odrazu meteoru, (jsou důležité pro pozdější analýzu záznamů)
- K zaznamům je ve slozce metadatovy textový soubor, společný pro všechny soubory ve složce (každý soubor by měl jeden řádek metadat). Toto opatření má zabránit nutnosti otevírání velkých souborů a procházení jejich hlaviček. Tento soubor je lidsky čitelný.
Radio-observer aktuálně generuje výstupní soubory ve dvou formátech - csv a fits. CSV je formát použitý výhradně pro metadatové záznamy. Typický metadatový záznam vypadá následovně, významy jednotlivých sloupců jsou popsány v prvním řádku.
# file name; noise; peak f; mag.; duration 20140808110008890_OBSUPICE-R1_met.fits;0.63286;10897;1.38025;0.170667 20140808110100772_OBSUPICE-R1_met.fits;0.640167;10605.5;1.53675;0.170667 20140808110211599_OBSUPICE-R1_met.fits;0.494422;10601.1;1.45788;0.170667
Jak je vidět, tak metadatový soubor obsahuje seznam všech detekovaných meteorů a základní informace o nich. Samotné meteory jsou pak zaznamenány v datových souborech formátu FITS. Tento formát lze v případě souborů typu snap a met zobrazit ve standardním fits prohlížeči. Např.
- ds9
- qfitsview
- fits liberator
Protože tyto datové výstupy obsahují klasická obrazová data. Rozdíl mezi oběma typy je ten že soubor snap obsahuje většinou minutový screenshot waterfallu z oblasti ve které jsou vyhledávány meteory. Soubor met pak obsahuje výřez oblasti, která časově odpovídá zaznamenanému RAWS záznamu.
RAWS fits záznam pak obsahuje surové I/Q vzorky z přijímače, tak jak přišly na vstup radio-observeru. Obsah toho souboru je tak do jisté míry přirovnatelný ke dvoukanálovému VAW souboru. Tento soubor je pak možné si prohlédnou prohlížečem pysdr-recviewer, který je součástí repozitáře PySDR.
Postup při prohlížení raw záznamů
Raw záznamy obsahují přímo vzorky signálu, pro jejich zobrazení je proto potřeba speciálnější software než při zobrazování obrázků. Zatím neexistuje webová reprezentace měřených dat, proto se data musí zobrazovat lokálně na počítači. Postup je asi takový, že se nejdříve v metadatovém souboru najde zajímavý meteor. Typicky například s velkou délkou stopy a k němu si pak stáhneme raws soubor, který otevřeme v pysdr-recviewer, což je pohodlnější prohlížeč, než většina konvenčních FITS prohlížečů. To provedeme z příkazové řádky:
Instalace programu:
$ sudo apt-get install python-numpy python-opengl python-dev libjack-jackd2-dev git $ git clone https://github.com/MLAB-project/pysdr.git $ cd pysdr $ python setup.py build_ext --inplace $ pysdr-recviewer raws.fits
Dekomprese FITS souborů
Radio-observer vytváří komprimované FITS soubory, které některé prohlížeče zatím neumí zobrazit. Je však možné tyto soubory dekomprimovat utilitou funpack. Tu použijeme následovně. Nejprve stáhneme a dekomprimujeme zdrojové soubory knihovny CFITSIO. A následně ve složce kam jsme knihovnu dekomprimovali spustíme příkazy:
./configure make make funpack
Nyní by jsme měli mít ve složce spustitelnou binárku:
$ ./funpack usage: funpack [-E <HDUlist>] [-P <pre>] [-O <name>] [-Z] -v <FITS> more: [-F] [-D] [-S] [-L] [-C] [-H] [-V] `funpack -H' for help
Tu můžeme rovnou použít na dekompresi některého snapshotu. Např.
wget http://space.astro.cz/bolidozor/OBSUPICE/OBSUPICE-R1/meteors/2014/10/03/08/20141003080259247_OBSUPICE-R1_met.fits ./funpack -v 20141003080259247_OBSUPICE-R1_met.fits.fz 20141003080259247_OBSUPICE-R1_met.fits.fz -> 20141003080259247_OBSUPICE-R1_met.fits
Nyní máme ve složce dekomprimovaný soubor 20141003080259247_OBSUPICE-R1_met.fits, který lze zobrazit i v prohlížeči JS9.
Přenos událostí
Události jsou v radio-observeru posílány přes systém MIDI.
MIDI zároveň umožňuje posílání synchronizačních značek.
Instalace qjackctl
Qjackctl nástroj pro spojování jack přípojek.
sudo apt-get install libqt4-core libqt4-gui libqt4-dev svn co http://svn.code.sf.net/p/qjackctl/code/trunk qjackctl-svn cd qjackctl-svn make -f Makefile.svn ./configure --enable-jack-version make sudo make install
Případná rekompilace se provede přes
make clean make
Nyní by mělo být možné qjackctl spustit. Pro jeho správnou funkci je ještě potřeba v jeho konfiguraci změnit cestu k jackd serveru na: /usr/local/bin/jackd
Pokud se při spuštění vyskytne chyba:
$ qjackctl qjackctl: symbol lookup error: qjackctl: undefined symbol: JACK_METADATA_PRETTY_NAME
Tak nejsou ze systému ještě odinstalované všechny původní knihovny.
Instalace Patchage
Patchage je nástroj na spojování Jack přípojek podobně jako qjakctl.
sudo apt-get install libglibmm-2.4-dev libgtkmm-2.4-dev libganv-dev svn co http://svn.drobilla.net/lad/trunk/patchage ./waf configure