Benutzer-Werkzeuge

Webseiten-Werkzeuge


gnuradio

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
gnuradio [2012/01/09 15:11] 141.46.188.9gnuradio [2024/12/25 13:46] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== GNU Radio ====== ====== GNU Radio ======
 Eine Software um im PC Datensignale zu verarbeiten und zu erzeugen Eine Software um im PC Datensignale zu verarbeiten und zu erzeugen
 +  * Audioausgabe: [[gnuradio:audio]]
  
 ===== Code-Schnippsel ===== ===== Code-Schnippsel =====
Zeile 17: Zeile 18:
  
 Jetzt gibt es Aufgaben:  Jetzt gibt es Aufgaben: 
-  Daten aus dem Radio einlesen +  Daten aus dem Radio einlesen 
-  Daten mit GNU Radio verarbeiten+  Daten mit GNU Radio verarbeiten
  
 Und ich kenne min. 2 Arten das zu tun. Und ich kenne min. 2 Arten das zu tun.
Zeile 26: Zeile 27:
 2 Fenster 2 Fenster
 Fenster a: Fenster a:
-usrp2_rx_cfile.py -f 10700000 -s -d 250 pipe+  usrp2_rx_cfile.py -f 10700000 -s -d 250 pipe
  
 und später mit Strg+C beenden und später mit Strg+C beenden
  
 Fenster b: Fenster b:
-''cat pipe | ../../../../baudline/baudline -reset -samplerate 400000 -channels 2 -quadrature -format le16 -stdin''+  ''cat pipe | ../../../../baudline/baudline -reset -samplerate 400000 -channels 2 -quadrature -format le16 -stdin''
  
 Oder in einem Terminal: Oder in einem Terminal:
Zeile 38: Zeile 39:
  
  
-Netzwerkschnittstelle aktivieren+=== Netzwerkschnittstelle aktivieren ===
  
-sudo ifconfig eth0 up + 
 +  sudo ifconfig eth0 up
  
 im Verzeichnis gnuradio/gr-utils/src/python: im Verzeichnis gnuradio/gr-utils/src/python:
 die FIFO Datei pipe erzeugen (einmalig) die FIFO Datei pipe erzeugen (einmalig)
-mkfifo pipe+  mkfifo pipe
  
 usrp2 in diese Pipe streamen lassen usrp2 in diese Pipe streamen lassen
  
  
-usrp2_rx_cfile.py -f 10700000 -d 125 pipe +  usrp2_rx_cfile.py -f 10700000 -d 125 pipe 
-usrp2_rx_cfile.py -f 10700000 -s -d 250 pipe+  usrp2_rx_cfile.py -f 10700000 -s -d 250 pipe
  
  
 (mit Strg + C abbrechen) - es wird in den FIFO geschrieben! (mit Strg + C abbrechen) - es wird in den FIFO geschrieben!
  
-cat pipe | ../../../../baudline/baudline -reset -samplerate 400000 -channels 2 -quadrature -format le16 -stdin+  cat pipe | ../../../../baudline/baudline -reset -samplerate 400000 -channels 2 -quadrature -format le16 -stdin
  
-cat pipe | ../../../../baudline/baudline -reset -samplerate 800000 -channels 2 -quadrature -format le16 -stdin+  cat pipe | ../../../../baudline/baudline -reset -samplerate 800000 -channels 2 -quadrature -format le16 -stdin
  
  
-multimon: +=== multimon: ===
-make+
  
-cd multimon/bin-i686 +  make 
-./multimon+ 
 +  cd multimon/bin-i686 
 +  ./multimon 
 + 
 +== Frequenzen ==
  
 http://linuxreviews.org/man/fflush/ http://linuxreviews.org/man/fflush/
Zeile 72: Zeile 77:
  
 131,9MHz service channels aircrafts 131,9MHz service channels aircrafts
 +392,775 MHz FSK Moduliert, hohe Bitrate, kleiner Hub
 +391,325MHz, 391,95MHz FSK
 +187,75MHz lokale Werbung?
 +182,25 MHZ ASK?
 +172,25MHz FM digital
 +168,725MHz digital 164,15
 +151,95MHz Digital
 +
  
 mit angehängtem Zeichen "&" das Terminal freigeben, und mit kill [pid] beenden mit angehängtem Zeichen "&" das Terminal freigeben, und mit kill [pid] beenden
Zeile 91: Zeile 104:
 50 2000000 50 2000000
  
-sudo aptitude install gnuradio gnuradio-companion gnuradio-utils usrp python-usrp libgnuradio-usrp python-gnuradio-usrp +  sudo aptitude install gnuradio gnuradio-companion gnuradio-utils usrp python-usrp libgnuradio-usrp python-gnuradio-usrp 
-python-gnuradio-usrp +  python-gnuradio-usrp 
-libgnuradio-usrp +  libgnuradio-usrp 
-python-usrp +  python-usrp
  
  
Zeile 138: Zeile 151:
 206,4 206,4
 223,52 223,52
 +
 +==== UHD ====
 +Einlesen: uhd_rx_cfile.py -f 10700000 -s pipe &
 +Baudline starten: cat pipe | ./baudline -reset -samplerate 1000000 -channels 2 -quadrature -format le16 -stdin
 +
 +
 +
 +
 +====== USRP2 ======
 +Um auszulesen, welche Hardware verfügbar ist:
 +  * ''find_usrps''
 +  * ''uhd_find_devices''
 +
 +===== Umstieg auf UHD Treiber =====
 +Um auf die neuen UHD Treiber umzustellen, ist es nötig die SD-Karte mit den neuen Dateien zu beschreiben. Diese enthalten das Image für den FPGA und die Firmware. Der alte Treiber wird hier beschrieben: [[http://gnuradio.org/redmine/projects/gnuradio/wiki/USRP2UserFAQ]]. Infos zu dem neuen UHD Treiber: [[http://files.ettus.com/uhd_docs/manual/html/usrp2.html]], Beispielprogramme [[http://gnuradio.org/redmine/projects/gnuradio/wiki/HowToUse]]
 +
 +Als Vorbereitung benötigt man:
 +  * Die Dateien: [[http://files.ettus.com/uhd_releases/003_003_002/images-only/]] oder eine andere aktuelle Ausgabe von [[http://files.ettus.com/uhd_releases/]]
 +  * ein SD-Laufwerk, prüfen, welche Bezeichnung die SD Karte hat: ''sudo fdisk -l'', in meinem Fall ''/dev/sdb''
 +  * die GNURADIO Companion Umgebung mit UHD, damit folgender Befehl funktioniert: 
 +
 +  cd /usr/local/share/uhd/utils
 +  sudo ./usrp2_card_burner_gui.py
 +
 +  * Zunächst den Inhalt der originalen Karte sichern: ''sudo dd if=/dev/sdb of=~/sdcardusrp2_org.img''
 +  * (Mit dem Befehl ''sudo dd if=~/sdcardusrp2_org.img of=/dev/sdb'' könnte der alte Inhalt wiederhergestellt werden.)
 +  * Die Datei [[http://files.ettus.com/uhd_releases/003_003_002/images-only/UHD-images-003.003.002-release.zip]] oder eine neuere entpacken und im Verzeichnis ''/UHD-images-003.003.002-release/share/uhd/images/'' die Dateien ''usrp2_fpga.bin'' und ''usrp2_fw.bin'' extrahieren.
 +  * Jetzt ''sudo /usr/local/share/uhd/utils/usrp2_card_burner_gui.py'' aufrufen
 +  * Die 2 Dateien wählen und los gehts!
 +  * Achtung hier könnte auch eine Festplatte oder Speicher überschrieben werden!
 +  * {{:bildschirmfoto-usrp2_sd_card_burner.png|}}
 +  * {{:bildschirmfoto-verbose.png|http://example.com|Externer Link}}
 +  * Ups, hier gabe es einen Fehler, irgenwas mit der Unicode-Unterstürtzung, es gibt im SVN/GIT eine Änderung [[http://code.ettus.com/redmine/ettus/projects/uhd/repository/diff/host?rev=529297b97df9b9d928c30bb7cdb51f14f3fb3ab0&rev_to=60669a28d8862fd2a8ea324f947580485585b317&type=inline|1]], die mich inspirierte in Zeile 53 folgendes zu ändern [[http://docs.python.org/howto/unicode.html|1]] [[http://pastebin.com/9xF0Tazm|2]]:
 +<code python>
 +# Zeile 53 in /usr/local/share/uhd/utils/usrp2_card_burner.py
 +#      verbose = p.stdout.read().decode()
 +       verbose = p.stdout.read().decode('utf-8')
 +</code>
 +  * Jetzt klappt es:
 +
 +<code>
 +$ sudo ./usrp2_card_burner.py --fw=/home/student/usrp2_fw.bin --dev=/dev/sdb
 +Burn firmware image:
 +32+0 Datensätze ein
 +32+0 Datensätze aus
 +16384 Bytes (16 kB) kopiert, 0,00756297 s, 2,2 MB/s
 +
 +Verification Passed:
 +32+0 Datensätze ein
 +32+0 Datensätze aus
 +16384 Bytes (16 kB) kopiert, 0,0058502 s, 2,8 MB/s
 +
 +
 +
 +$ sudo ./usrp2_card_burner.py --fpga=/home/student/usrp2_fpga.bin --dev=/dev/sdb
 +Burn fpga image:
 +1685+0 Datensätze ein
 +1685+0 Datensätze aus
 +862720 Bytes (863 kB) kopiert, 0,647275 s, 1,3 MB/s
 +{{:erfolg-verbose.png|}}
 +Verification Passed:
 +1685+0 Datensätze ein
 +1685+0 Datensätze aus
 +862720 Bytes (863 kB) kopiert, 0,0873257 s, 9,9 MB/s
 +
 +</code>
 +  * {{:erfolg-verbose.png|}}
 +
 +==== Test ====
 +Zum Testen wird die SD Karte eingelegt, das USRP2 wieder mit Spannung versorgt. Die Netzwerkverbindung zum PC endet im PC an einer Gigabitkarte die auf eine IP-Adresse im Subnetz 255.255.255.0 eingerichtet ist. z.B. 192.168.10.1. Das USRP2 hat im UHD Treiber im Normalfall die 192.168.10.2. Nun sollte der Befehl ''uhd_find_devices'' eine erfreuliche Antwort liefern:
 +<code>
 +$ uhd_find_devices 
 +linux; GNU C++ version 4.4.3; Boost_104000; UHD_003.004.000-287958b
 +
 +--------------------------------------------------
 +-- UHD Device 0
 +--------------------------------------------------
 +Device Address:
 +    type: usrp2
 +    addr: 192.168.10.2
 +    name: 
 +    serial: 252
 +
 +
 +</code>
 +
 +Jetzt sollte das Beispielprogramm uhd_fft.py [[http://gnuradio.org/redmine/projects/gnuradio/wiki/HowToUse|1]] laufen, aber leider nicht:
 +<code>RuntimeError: RuntimeError: 
 +Please update the firmware and FPGA images for your device.
 +See the application notes for USRP2/N-Series for instructions.
 +Expected FPGA compatibility number 8, but got 7:
 +The FPGA build is not compatible with the host code build.</code>
 +Also wiederholen! Ich hatte eine Datei vom November 2011 ausgewählt, nochmal mit den Dateien aus ''UHD-images-003.004.000-322fb97.zig'' dann, klappt es.
 +
 +
  
  
gnuradio.1326118289.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki