Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss15:datenuebertragung_mit_schall

Dies ist eine alte Version des Dokuments!


Datenübertragung mit Schall

1. Entstehung des Projekts

1.1 Die Idee

Die Idee zu diesem Projekt entstand als ich einen Artikel über die Chrome-Erweiterung Google Tone gelesen habe. Diese Erweiterung ermöglicht es Links mit anderen Computern in Hörweite zu teilen. So weit so unspektakulär, allerdings nutzt Google Tone zur Übertragung akustische Signale und das ist in der Datenübertragung eher ungewöhnlich. Ich war allerdings fasziniert von dieser ungewöhnlichen Art der Kommunikation von Computern untereinander, die sonst eher der menschlichen Verständigung durch Sprache ähnelt. Mein Interesse war also geweckt und ich fand auch schnell ebenso begeisterte Mitstreiter für mein Projekt. Besonders interessant ist auch wo akustische Datenübertragung sonst noch angewendet wird, z.B. unter Wasser und angeblich auch in dem Supertrojaner BadBIOS.

1.2 Quellen, Literatur, Vorbilder

1.3 Benötigte Soft- und Hardware

  • mind. 2 Computer mit Mikrofonen und Lautsprechern
  • Python Distribution
  • 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.1 Hauptziel

Entwicklung eines Programmes, dass es ermöglicht Daten (URLs etc.) per Schall von einem Computer zu einem anderen zu übertragen.

2.2 Etappenziele

  • Installation von Pyaudio und erstes Verständnis der Funktionen (insbesondere schallwerkzeuge.py)
  • Testen der Machbarkeit anhand eines „Prototyps“: abschnittsweise Fourier-Transformation
  • Entwicklung einer Methode mit Taktrückgewinnung: Herausfiltern der Takt-Frequenz, Hüllkurve durch Hilbert-Transformation
  • Fehlerkorrektur durch Hamming-Code
  • Realisierung einer kontinuierlichen Aufnahme und Auswertung mithilfe einer queue-Klasse
  • 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

3. Code

3.1 Überblick

Programm-Übersicht

3.2 Komponenten

Sonstiges

Teilnehmer

  • Moritz Schramm
  • Clara Hummel
  • Kevin Stegemann
Protokoll 28/05
  • Erzeugung von Sinustönen
  • Aufnahme von Tönen, Widergabe und graphische Darstellung (beides mit Stefans „schallwerkzeuge.py“)
  • Kurzeinführung in Fourieranalyse - Darstellung der Frequenz eines Tons in Graphik
Protokoll 04/06
  • Möglichkeiten der Decodierung
  • Umsetzen der Decodierung mit feinerer Abtastung als Länge eines 1 Bit-Signals
Protokoll 11/06
  • Testen der Übertragung zwischen verschiedenen Laptops
  • Variante des Programms für Windows-Computer mit concatenate
  • Vorstellen der Projekte untereinander
  • Absprache über die weiteren Ziele
Protokoll 18/06
  • Erstellung von Planskizzen
  • Analyse der Problemstellen
  • Recherchearbeiten zu möglichen Hardwareproblemen
  • Umsetzung eines 4 Frequenzen-Systems (Frequenzwechsel als Markierung zum Erhalten der nützlichen Zeitpunkte)
Protokoll 25/06
  • Verwerfung des 4 Frequenzen-Systems
  • neues System: Takt-Frequenz einbinden (mitlaufender Ein-Aus-Takt zum Erhalt der nützlichen Zeitpunkte)
  • Einarbeitung in „clock_recovery“
Protokoll 02/06
  • Umsetzung des Takt-Systems
ss15/datenuebertragung_mit_schall.1444309611.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)