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í verzePoslední revizeObě strany příští revize | ||
cs:pysdr [2014/09/13 18:38] – [Ovládání programu] kaklik | cs:pysdr [2017/07/31 15:03] – [Ovládání programu] 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 ladění [[http:// | ||
===== Základní vlastnosti ===== | ===== Základní vlastnosti ===== | ||
Řádek 10: | Řádek 11: | ||
* Dynamická změna měřítka pomocí myši | * Dynamická změna měřítka pomocí myši | ||
+ | |||
+ | {{youtube> | ||
{{: | {{: | ||
Řádek 24: | Řá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 73: | Řádek 76: | ||
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 libjack-jackd2-dev | + | |
- | svn co http:// | + | |
- | cd ./ | + | |
- | ./build | + | |
| | ||
- | Nyní jej můžeme spustit: | + | ==== Socket spojeni ==== |
- | | + | 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 3701 | ./ | ||
- | protože jacktrip nepodporuje zeroconf, tak můžete nechat IP adresu doplnit bash | + | Kde radio-TEST.local |
- | + | ||
- | `resolveip | + | |
- | + | ||
- | Po spojení s protistanicí by se v zapojovací desce qjackctl mělo objevit zařízení jacktrip. Parametr -z v tomto případě | + | |
- | + | ||
- | ==Více klientů== | + | |
- | Pokud chcete mít připojení ke stanici pro více uživatelů, musí být na detekčním PC spuštěno více serverů s jiným portem. | + | |
- | + | ||
- | Na straně serveru pro každého klienta musíte do nového terminálu zadat | + | |
- | + | ||
- | jacktrip -s -o10 | + | |
- | + | ||
- | kde za parametrem -o je offset od portu 4464, pro každé nové připojení tento offset musí být jiný. | + | |
- | + | ||
- | Na uživatelském počítači zadáte: | + | |
- | + | ||
- | jacktrip -c -o10 | + | |
- | + | ||
- | 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 | + | |
- | + | ||
- | qmidinet -p21928 | + | |
- | + | ||
- | kde za -p vložíte vlastní UDP port. Pak by se v qjackctl měla objevit QmidiNet propojka | + | |
| |
cs/pysdr.txt · Poslední úprava: 2020/08/09 19:40 autor: kaklik