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:09] – [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
- 
-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 == == 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
  
-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. +  qjackctl 
  
-  sudo apt-get install libasound2-dev libjack-jackd2-dev qt4-qmake + 
-  svn co http://jacktrip.googlecode.com/svn/trunk/jacktrip +Kde v jeho menu nastavíme správnou vzorkovací frekvenciPak spustíme jacktrip klienta s parametrem IP adresy detekční stanice.  
-  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 249: Řádek 272:
 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 //~/.config/rncbc.org/QmidiNet.conf// a naplnit jej konfigurací: 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 //~/.config/rncbc.org/QmidiNet.conf// a naplnit jej konfigurací:
  
-[Options] +  [Options] 
-General\NumPorts=1 +  General\NumPorts=1 
-General\AlsaMidi=true +  General\AlsaMidi=true 
-General\JackMidi=true +  General\JackMidi=true 
-Network\Interface=eth0 +  Network\Interface=eth0 
-Network\UdpPort=21928+  Network\UdpPort=21928
  
 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