Uživatelské nástroje

Nástroje pro tento web


cs:pysdr

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
cs:pysdr [2014/09/24 22:10] – [Spuštění pySDR na prezentačním počítači] kaklikcs:pysdr [2015/08/27 16:09] – [Socket spojeni] 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://wiki.bolidozor.cz/doku.php?id=cs:rmds|detekční stanice Bolidozor]]. K vizualizaci dat návštěvníkům má sloužit nástroj [[cs:freya|Freya]].
  
 ===== Základní vlastnosti ===== ===== Základní vlastnosti =====
Řádek 82: Řádek 83:
  
  
-===== Generování zvukového výstupu - Whistle =====+===== Slyšitelný výstup =====
  
 Pro vygenerování audiosignálu z RF signálu přijímaného stanicí byt vytvořen speciální program **whistle**, který zpracovává audio vstup z jacku. A upravuje jej do slyšitelné podoby. Je dostupný na [[https://github.com/MLAB-project/pysdr/tree/sound|Githubu]] ze stejného repositáře, jako pySDR. Pro vygenerování audiosignálu z RF signálu přijímaného stanicí byt vytvořen speciální program **whistle**, který zpracovává audio vstup z jacku. A upravuje jej do slyšitelné podoby. Je dostupný na [[https://github.com/MLAB-project/pysdr/tree/sound|Githubu]] ze stejného repositáře, jako pySDR.
 +
 +==== 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://cs.wikipedia.org/wiki/Filtr_s_kone%C4%8Dnou_impulzn%C3%AD_odezvou|FIR filtr]] (zapisuje se jako "kbfir,řád filtru,Fa,Fb,potlačení v nepropustném pásmu v dB", kde Fa až Fb zastupují rozsah frekvencí pásmové propusti), frekvenční posuv ("freqx,posuv v Hz"), zesílení ("amplify,faktor zesílení"), FM demodulaci ("fmdemod") a pak ještě něco. Jednotlivé operace se pospojují dvojtečkou a předají parametru -p.
 +
 +Např.:
 +
 +  ./whistle -p freqx,-10000:kbfir,41,0,1000,100:freqx,1000:amplify,100
 +
 +pro poslech meteorů. Tahle sekvence operací je nastavená jako výchozí, když se tomu -p nepředá.
 +
 +  ./whistle -p freqx,-31800:kbfir,201,0,400,200:freqx,500:amplify,200
 +  
 +Před výpočtem FIR filtru se signal posune o 31.8 kHz dolu.
 +
 +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.
 +
 +Výstup se zesílí 200x.
  
  
Řádek 95: Řádek 118:
   sox SVAK1_1386323982726.wav -c 2 -t f32 -r 44100 - repeat 20 | jack-stdin pysdr:input_i pysdr:input_q -e float   sox SVAK1_1386323982726.wav -c 2 -t f32 -r 44100 - repeat 20 | jack-stdin pysdr:input_i pysdr:input_q -e float
      
-===== Prezentační vrstva detekční stanice =====+===== 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ě: 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ě:
Řádek 182: Řádek 205:
 === Jacktrip === === 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.. +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, protože balíčková verze v Ubuntu nefunguje a padá na segfault.
  
-  sudo apt-get install jacktrip dbus-x11 +  sudo apt-get install libasound2-dev libjack-jackd2-dev qt4-qmake qt4-default 
 +  git clone https://github.com/jcacerec/jacktrip.git 
 +  cd ./jacktrip/jacktrip/src/ 
 +  ./build
  
 == Server == == Server ==
Řádek 194: Řádek 220:
  
   jacktrip -q 8 -r 3 -s   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 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
Řádek 200: Řádek 229:
  
  
-== Klient == +Kde v jeho menu nastavíme správnou vzorkovací frekvenci. Pak spustíme jacktrip klienta s parametrem IP adresy detekční stanice.  
- +
- +
-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, protože balíčková verze v Ubuntu nefunguje.  +
- +
-  sudo apt-get install libasound2-dev libjack-jackd2-dev qt4-qmake +
-  svn co http://jacktrip.googlecode.com/svn/trunk/jacktrip +
-  cd ./jacktrip/src/ +
-  ./build +
-   +
-Nyní jej můžeme spustit:+
  
   ./jacktrip -z -c 192.168.1.21   ./jacktrip -z -c 192.168.1.21
Řádek 217: Řádek 236:
  
   `resolveip -s popelnice.local`   `resolveip -s popelnice.local`
 +  
 +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. 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.
Řádek 257: Řádek 280:
  
 Pak by se po spuštění qmidinet měla v qjackctl objevit QmidiNet propojka.  Pak by se po spuštění qmidinet měla v qjackctl objevit QmidiNet propojka. 
 +
 +
 +==== Socket spojeni ====
 +
 +PySDR se může připojit na stanici přímo pomocí netcat. Příklad použití je následující.
 +  nc radio-TEST.local 3701 | ./pysdr-waterfall -r 96000
 +
      
cs/pysdr.txt · Poslední úprava: 2020/08/09 19:40 autor: kaklik