cs:pysdr
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
cs:pysdr [2015/08/27 16:09] – [Socket spojeni] kaklik | cs:pysdr [2020/08/09 19:40] (aktuální) – [Přehrávání z audiosouboru] kaklik | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== | + | ====== |
- | Jde o program určený ke zobrazení živého waterfallu (spektrogramu) ze streamu dat. Ten může být poskytnut přes unixovou rouru, nebo Jack audio systém. | + | Jde o program určený ke zobrazení živého waterfallu (spektrogramu) ze streamu dat. Ten může být poskytnut přes unixovou rouru, nebo JACK audio systém. |
- | Nástroj je užitečný pro debugging | + | Nástroj je užitečný pro ladění |
===== Základní vlastnosti ===== | ===== Základní vlastnosti ===== | ||
Řádek 11: | Řádek 11: | ||
* Dynamická změna měřítka pomocí myši | * Dynamická změna měřítka pomocí myši | ||
+ | |||
+ | {{youtube> | ||
{{: | {{: | ||
Řádek 25: | Řádek 27: | ||
./ | ./ | ||
- | Otevře se nám okno, které v případě, že je připojený nějaký zdroj dat, obsahuje spektrogram | + | Otevře se nám okno, které v případě, že je připojený nějaký zdroj dat, obsahuje spektrogram. Spektrogram lze levým tlačítkem myši posouvat a pravým zoomovat. |
=== Klávesové zkratky === | === Klávesové zkratky === | ||
Řádek 75: | Řádek 77: | ||
./ | ./ | ||
- | | ||
- | |||
- | |||
- | ==== Použití s gnuradiem ==== | ||
- | |||
- | {{: | ||
- | |||
===== Slyšitelný výstup ===== | ===== Slyšitelný výstup ===== | ||
Řádek 110: | Řádek 105: | ||
- | ==== Princip | + | ==== Princip |
Program provádí frekvenční konverzi komplexním násobením signálu s lokálním číslicovým oscilátorem. Tím je dosaženo frekvenčního posunu odrazu meteoru do nižších frekvencí ze slyšitelného pásma. | Program provádí frekvenční konverzi komplexním násobením signálu s lokálním číslicovým oscilátorem. Tím je dosaženo frekvenčního posunu odrazu meteoru do nižších frekvencí ze slyšitelného pásma. | ||
- | ===== Přehrávání z audiosouboru ===== | ||
- | sox SVAK1_1386323982726.wav -c 2 -t f32 -r 44100 - repeat 20 | jack-stdin pysdr: | + | ===== Zobrazení záznamu |
- | + | ||
- | ===== Prezentace signálu z detekční stanice | + | |
- | Pro přímé zobrazování detekovaných meteorů může běžet živý waterfall i na jiném počítači, než na kterém běží detekční stanice. Blokové schéma systému pak vypadá následovně: | + | PySDR má ještě variantu [[https:// |
- | {{: | + | $ ./ |
+ | Pro fits soubor je možné si to vyzkoušet například na následujícím meteoru | ||
- | Jednotlivé bloky jsou výše zmíněné programy. | + | wget http://space.astro.cz/bolidozor/svakov/SVAKOV-R12/meteors/2020/08/09/08/20200809082529162_SVAKOV-R12_raws.fits |
- | + | ./pysdr-recviewer 20200809082529162_SVAKOV-R12_raws.fit | |
- | + | ||
- | ==== Spuštění pySDR na prezentačním počítači ==== | + | |
- | + | ||
- | Pokud je stanice připojena datovou linkou s dostatečnou propustností, | + | |
- | + | ||
- | + | ||
- | === SSH === | + | |
- | + | ||
- | Jednou z možností je použití trubek přes ssh spojení. V tom případě budeme postupovat následovně. | + | |
- | + | ||
- | - Spustíme jack například přes ' | + | |
- | - Spustíme pySDR ' | + | |
- | - Připojíme se na vzdálenou stanici a přesměrujeme data do unixové trubky: | + | |
- | + | ||
- | ssh radio.ust.cz " | + | |
- | + | ||
- | V qjackctl pak přetažením myší spojíme stdin a pysdr. Nyní by měl být v pysdr vidět waterfall ze vzdálené stanice. | + | |
- | + | ||
- | + | ||
- | === NetJack === | + | |
- | + | ||
- | sudo apt-get install qjackctl | + | |
- | + | ||
- | + | ||
- | Uživatel musi byt v skupine audio | + | |
- | + | ||
- | sudo adduser kaklik audio | + | |
- | + | ||
- | a v /etc/security/ | + | |
- | + | ||
- | @audio - rtprio 99 | + | |
- | @audio - memlock unlimited | + | |
- | + | ||
- | Pokud se to neudala, tak spusteni jakck zkonci takto: | + | |
- | + | ||
- | jackdmp 1.9.8 | + | |
- | Copyright 2001-2005 Paul Davis and others. | + | |
- | Copyright 2004-2011 Grame. | + | |
- | jackdmp comes with ABSOLUTELY NO WARRANTY | + | |
- | This is free software, and you are welcome to redistribute it | + | |
- | under certain conditions; see the file COPYING for details | + | |
- | JACK server starting in realtime mode with priority 10 | + | |
- | Segmentation fault (core dumped) | + | |
- | + | ||
- | + | ||
- | + | ||
- | == Lokalni spojeni Jack == | + | |
- | + | ||
- | Potom lze jack spustit: | + | |
- | + | ||
- | jackd -d alsa -dhw:1 | + | |
- | + | ||
- | kde hw:1 cislo je urcene podle /proc/asound/cards, nebo: | + | |
- | + | ||
- | aplay -l | + | |
- | + | ||
- | + | ||
- | == Sitove spojeni Jack == | + | |
- | + | ||
- | + | ||
- | Nejdrive musi instalace jack fungovat lokalne viz vise. | + | |
- | + | ||
- | Nasledne na master pocitaci spustime: | + | |
- | + | ||
- | qjackctl | + | |
- | + | ||
- | a nastavime zdroj dat z remote klienta na lokalni siti: | + | |
- | + | ||
- | jack_netsource -H kaklik-netbook.local | + | |
- | + | ||
- | Na remote klientovi pak presmerujeme audiovystup na jack v siti: | + | |
- | + | ||
- | jackd -R -d netone | + | |
- | + | ||
- | Zdroj http://netjack.sourceforge.net/ | + | |
- | + | ||
- | === Jacktrip === | + | |
- | + | ||
- | Jacktrip je metoda pro přenášení zvukových dat přes jack, která synchronizuje vzájemně dvě instance jacku běžící na různých strojích.. V Ubuntu je potřeba jacktrip zkompilovat, | + | |
- | + | ||
- | sudo apt-get install libasound2-dev libjack-jackd2-dev qt4-qmake qt4-default | + | |
- | git clone https://github.com/jcacerec/ | + | |
- | cd ./ | + | |
- | ./build | + | |
- | + | ||
- | == Server == | + | |
- | + | ||
- | Na staničním počítači musíme spustit instanci jacku, která bude číst data ze správné zvukovky. V tomto případě je to externí USB zvukovka s hw:1 | + | |
- | jackd -R -dalsa -dhw:1 | + | |
- | + | ||
- | Dále pak spustíme jacktrip server | + | |
- | + | ||
- | jacktrip -q 8 -r 3 -s | + | |
- | + | ||
- | + | ||
- | == Klient == | + | |
- | + | ||
- | Na vizualizačním počítači pak spustíme istanci jacku, která musí mít nastavenou stejnou vzorkovací frekvenci, jako instance detekční stanici, zde si ale můžeme pomoci grafickým nástrojem qjackctl | + | |
- | + | ||
- | qjackctl | + | |
- | + | ||
- | + | ||
- | Kde v jeho menu nastavíme správnou vzorkovací frekvenci. Pak spustíme jacktrip klienta s parametrem IP adresy detekční stanice. | + | |
- | + | ||
- | ./jacktrip | + | |
- | + | ||
- | protože jacktrip nepodporuje zeroconf, tak můžete nechat IP adresu doplnit bash | + | |
- | + | ||
- | `resolveip | + | |
| | ||
- | nebo například | ||
- | | ||
- | avahi-resolve -4 -n meteor4.local | ||
- | Po spojení s protistanicí by se v zapojovací desce qjackctl mělo objevit zařízení jacktrip. Parametr -z v tomto případě znamená poskytnutí nulových hodnot při podtečení bufferu. | ||
- | ==Více klientů== | + | ===== Přehrávání z audiosouboru ===== |
- | Pokud chcete mít připojení ke stanici pro více uživatelů, | + | |
- | Na straně serveru pro každého klienta musíte do nového terminálu zadat | + | sox SVAK1_1386323982726.wav |
- | + | ||
- | jacktrip | + | |
- | + | ||
- | kde za parametrem | + | |
- | + | ||
- | Na uživatelském počítači zadáte: | + | |
- | + | ||
- | jacktrip | + | |
- | + | ||
- | se stejným parametrem | + | |
- | + | ||
- | === QmidiNet === | + | |
- | + | ||
- | Qmidinet je aplikace, která slouží k přenosu Midi dat po síti. | + | |
- | + | ||
- | QmidiNet nainstalujete: | + | |
- | + | ||
- | sudo apt-get install qmidinet | + | |
| | ||
- | A spouští se stejným příkazem na straně serveru i u klienta. | ||
- | |||
- | qmidinet -p21928 | ||
- | | ||
- | kde za -p vložíte vlastní UDP port. Ještě je potřeba povolit připojení qmidinet k jacku. V grafickém prostředí to lze udělat snadno nastavením v nabídce ikony qmidinet. Přes příkazovou řádku je však potřeba vytvořit soubor // | ||
- | |||
- | [Options] | ||
- | General\NumPorts=1 | ||
- | General\AlsaMidi=true | ||
- | General\JackMidi=true | ||
- | Network\Interface=eth0 | ||
- | Network\UdpPort=21928 | ||
- | |||
- | Pak by se po spuštění qmidinet měla v qjackctl objevit QmidiNet propojka. | ||
- | |||
- | |||
==== Socket spojeni ==== | ==== Socket spojeni ==== | ||
- | PySDR se může připojit na stanici přímo pomocí netcat. Příklad použití je následující. | + | PySDR se může připojit na stanici |
nc radio-TEST.local 3701 | ./ | nc radio-TEST.local 3701 | ./ | ||
+ | Kde radio-TEST.local je sitove jmeno stanice. V případě, že pysdr spouštíme rovnou na stanici, tak je to localhost. | ||
| |
cs/pysdr.1440691787.txt.gz · Poslední úprava: 2015/08/27 16:09 autor: kaklik