Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss15:datenuebertragung_mit_schall

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ss15:datenuebertragung_mit_schall [2015/09/21 21:56]
m.schramm [2. Ziel des Projekts]
ss15:datenuebertragung_mit_schall [2016/05/10 14:46] (aktuell)
Zeile 21: Zeile 21:
   * Python Distribution   * Python Distribution
   * Pyaudio   * Pyaudio
 +  * es empfiehlt sich alle Audio-Effekte bei der Wiedergabe als auch bei der Aufnahme zu deaktivieren um eine Verfälschung des Signals zu vermeiden
 ===== 2. Ziel des Projekts ===== ===== 2. Ziel des Projekts =====
 ==== 2.1 Hauptziel ==== ==== 2.1 Hauptziel ====
 Entwicklung eines Programmes, dass es ermöglicht Daten (URLs etc.) per Schall von einem Computer zu einem anderen zu übertragen. Entwicklung eines Programmes, dass es ermöglicht Daten (URLs etc.) per Schall von einem Computer zu einem anderen zu übertragen.
-==== 2.Etappenziele ====+==== 2.Etappenziele ==== 
 +=== Erledigt ​===
   * Installation von Pyaudio und erstes Verständnis der Funktionen (insbesondere schallwerkzeuge.py)   * Installation von Pyaudio und erstes Verständnis der Funktionen (insbesondere schallwerkzeuge.py)
   * Testen der Machbarkeit anhand eines "​Prototyps":​ abschnittsweise Fourier-Transformation   * Testen der Machbarkeit anhand eines "​Prototyps":​ abschnittsweise Fourier-Transformation
   * Entwicklung einer Methode mit Taktrückgewinnung:​ Herausfiltern der Takt-Frequenz,​ Hüllkurve durch Hilbert-Transformation   * Entwicklung einer Methode mit Taktrückgewinnung:​ Herausfiltern der Takt-Frequenz,​ Hüllkurve durch Hilbert-Transformation
   * Fehlerkorrektur durch Hamming-Code   * Fehlerkorrektur durch Hamming-Code
 +=== Noch zu machen ===
   * Realisierung einer kontinuierlichen Aufnahme und Auswertung mithilfe einer queue-Klasse   * Realisierung einer kontinuierlichen Aufnahme und Auswertung mithilfe einer queue-Klasse
-  * Optimierung (bessere Reichweite, geringere Störanfälligkeit etc.), angenehmere Töne+  * Optimierung (bessere Reichweite, geringere Störanfälligkeit etc.), angenehmere Töne  
 +  * Übersetzung von Dateien (Text, Bilder, ...) in Bit-Listen und zurück
   * evtl. Übertragung auf Smartphone-App   * evtl. Übertragung auf Smartphone-App
  
-===== 3. Code-Bausteine ​=====+===== 3. Code ===== 
 +==== 3.1 Überblick ==== 
 +{{ :​ss15:​overview1.jpeg?​direct&​500 |Programm-Übersicht}} 
 +===3.2 Komponenten ​==== 
 +  * [[Schallwerkzeuge]]
   * [[Der Prototyp]]   * [[Der Prototyp]]
   * [[Tonerzeugung]]   * [[Tonerzeugung]]
   * [[Tonverarbeitung]]   * [[Tonverarbeitung]]
   * [[Hamming-Code]]   * [[Hamming-Code]]
 +
 +==== 3.3 Tips zum Testen des Codes ====
 +Wir fanden es sehr hilfreich für das eigene Verständnis und zum Debuggen unseren Code oft zu testen. Besonders anschaulich geht das grafisch mit [[http://​matplotlib.org/​api/​pyplot_api.html|matplotlib.pyplot]]. Damit wir ein Signal nicht immer wieder neu aufzunehmen brauchen hat uns Stefan das Modul ''​pickle''​ gezeigt. Damit lassen sich Daten abspeichern und wieder einlesen.
 +
 +Hier ist ein Grundgerüst zum aufnehmen und wieder einlesen von Ton. Über ''​AUFNEHMEN''​ lässt sich steuern ob neu aufgenommen werden soll oder eine alte Aufnahme verwendet wird.
 +<code python>
 +from pickle import Pickler, Unpickler
 +AUFNEHMEN=True
 +if AUFNEHMEN:
 + y = sw.recordsnd(None,​ 5)
 + with open("​beispielaufnahme.dump","​wb"​) as f:
 + p=Pickler(f)
 + p.dump(y)
 +else:
 + with open("​beispielaufnahme.dump","​rb"​) as f:
 + p=Unpickler(f)
 + y=p.load()
 +</​code>​
 ===== Sonstiges ===== ===== Sonstiges =====
 +=== Danksagung ===
 +Wir möchten uns herzlich bei Stefan für seine tolle Unterstützung bedanken! Wir hatten eine spannende und lehrreiche Zeit im MATHESIS-Labor.
 +
 === Teilnehmer === === Teilnehmer ===
   * Moritz Schramm   * Moritz Schramm
ss15/datenuebertragung_mit_schall.1442865369.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)