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/10/08 15:06]
m.schramm [3. Code-Bausteine]
ss15:datenuebertragung_mit_schall [2016/05/10 14:46] (aktuell)
Zeile 26: Zeile 26:
 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.2 Etappenziele ==== ==== 2.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 
Zeile 37: Zeile 39:
 ===== 3. Code ===== ===== 3. Code =====
 ==== 3.1 Überblick ==== ==== 3.1 Überblick ====
-{{ :ss15:overview.jpeg?​direct&​500 |Programm-Übersicht}}+{{ :ss15:overview1.jpeg?​direct&​500 |Programm-Übersicht}}
 ==== 3.2 Komponenten ==== ==== 3.2 Komponenten ====
   * [[Schallwerkzeuge]]   * [[Schallwerkzeuge]]
Zeile 44: Zeile 46:
   * [[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.1444309611.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)