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í verzeNásledující verzeObě strany příští revize | ||
cs:pysdr [2014/07/21 15:51] – [Spuštění pySDR na prezentačním počítači] roman | cs:pysdr [2015/12/09 15:38] – kaklik | ||
---|---|---|---|
Řádek 2: | Řádek 2: | ||
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 [[http:// | ||
===== Základní vlastnosti ===== | ===== Základní vlastnosti ===== | ||
Řádek 22: | Řádek 23: | ||
Po stažení a instalaci podle readme na Githubu a zapnutí jacku (například přes qjackctl) můžeme program spustit z pracovního adresáře pomocí. | Po stažení a instalaci podle readme na Githubu a zapnutí jacku (například přes qjackctl) můžeme program spustit z pracovního adresáře pomocí. | ||
- | ./waterfall.py | + | ./pysdr-waterfall |
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 | ||
Řádek 73: | Řádek 74: | ||
Potom PySDR můžeme spustit pomocí | Potom PySDR můžeme spustit pomocí | ||
- | ./waterfall.py | + | ./pysdr-waterfall |
- | | + | |
+ | ===== Slyšitelný výstup ===== | ||
- | ==== Použití s gnuradiem ==== | + | Pro vygenerování audiosignálu z RF signálu přijímaného stanicí byt vytvořen speciální program **whistle**, |
- | {{: | + | ==== Použití whistle ==== |
+ | Whistle je konfugorovatelný generátor signálu dají se v něm za sebe různě poskládat operace, které umí. Je to takové hodně malé GNURadio, jen to umí běžet uvnitř callbacku JACKu. Umí to dělat Kaiser-Bessel [[http:// | ||
- | ===== Generování zvukového výstupu - Whistle ===== | + | Např.: |
- | Pro vygenerování audiosignálu z RF signálu přijímaného stanicí byt vytvořen speciální program **whistle**, | + | |
+ | pro poslech meteorů. Tahle sekvence operací je nastavená jako výchozí, když se tomu -p nepředá. | ||
- | ==== Princip funkce programu ==== | + | |
- | + | ||
- | 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 | + | |
| | ||
- | ===== Prezentační vrstva detekční stanice ===== | + | Před výpočtem FIR filtru se signal posune o 31.8 kHz dolu. |
- | 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ě: | + | Spočítá se FIR, který má 201 taps. |
- | {{: | + | Pásmová propust od 0 Hz do 400 Hz. Útlum 200 dB. |
+ | Výstup z filtru se posune o 500 Hz nahoru. | ||
- | Jednotlivé bloky jsou výše zmíněné programy. | + | Výstup se zesílí 200x. |
- | ==== Spuštění pySDR na prezentačním počítači | + | ==== Princip fungování programu |
- | Pokud je stanice připojena datovou linkou | + | Program provádí frekvenční konverzi komplexním násobením signálu |
+ | ===== Přehrávání z audiosouboru ===== | ||
- | === SSH === | + | sox SVAK1_1386323982726.wav -c 2 -t f32 -r 44100 - repeat 20 | jack-stdin pysdr: |
- | + | ||
- | Jednou z možností je použití trubek přes ssh spojení. V tom případě budeme postupovat následovně. | + | |
- | + | ||
- | | + | |
- | | + | |
- | - 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 / | + | |
- | + | ||
- | @audio | + | |
- | @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 / | + | |
- | + | ||
- | 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:// | + | |
- | + | ||
- | === 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.. | + | |
- | + | ||
- | sudo apt-get install jacktrip dbus-x11 | + | |
- | + | ||
- | == 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 | + | |
- | + | ||
- | 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 | + | |
- | + | ||
- | + | ||
- | == Klient == | + | |
- | + | ||
- | + | ||
- | Kde v jeho menu nastavíme správnou vzorkovací frekvenci. Pak spustíme jacktrip klienta s parametrem IP adresy detekční stanice. Jacktrip je ale potřeba zkompilovat, | + | |
- | + | ||
- | sudo apt-get install libasound2-dev | + | |
- | svn co http:// | + | |
- | cd ./ | + | |
- | ./build | + | |
| | ||
- | Nyní jej můžeme spustit: | + | ==== Socket spojeni ==== |
- | + | ||
- | ./jacktrip -z -c 192.168.1.21 | + | |
- | + | ||
- | protože jacktrip nepodporuje zeroconf, tak můžete nechat IP adresu doplnit bash | + | |
- | `resolveip | + | PySDR se může připojit na stanici RMDS02D přímo pomocí netcat. Příklad použití je následující. |
+ | nc radio-TEST.local | ||
- | Po spojení s protistanicí by se v zapojovací desce qjackctl mělo objevit zařízení jacktrip. Parametr -z v tomto případě | + | 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.txt · Poslední úprava: 2020/08/09 19:40 autor: kaklik