Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss15:tonverarbeitung

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:tonverarbeitung [2015/10/11 13:26]
m.schramm [3.2 Decodierung für Taktrückgewinnung 1.2]
ss15:tonverarbeitung [2016/05/10 14:46] (aktuell)
Zeile 44: Zeile 44:
  return l  return l
 </​code>​ </​code>​
 +{{:​ss15:​taktverschiebung.png?​direct&​500 |Signale mit Takteinteilung und Taktverschiebung}}
 ==== 3.2 Decodierung für Taktrückgewinnung 1.2 ==== ==== 3.2 Decodierung für Taktrückgewinnung 1.2 ====
 Diese Decodierungs-Funktion gleicht überwiegend der vorigen. Allerdings wird hier keine Taktverschiebung übergeben, sondern eine Liste ''​idx''​ mit konkreten Indizes zur Einteilung in Abschnitte. Nun werden die Indizes vom ersten bis zum vorletzen durchgegangen und die [[https://​de.wikipedia.org/​wiki/​Diskrete_Fourier-Transformation|Diskrete Fourier-Transformation]] auf den Abschnitt vom jeweils aktuellen bis zum nächsten Index angewendet. Weiter geht es äquivalent zur anderen decode-Funktion. Diese Decodierungs-Funktion gleicht überwiegend der vorigen. Allerdings wird hier keine Taktverschiebung übergeben, sondern eine Liste ''​idx''​ mit konkreten Indizes zur Einteilung in Abschnitte. Nun werden die Indizes vom ersten bis zum vorletzen durchgegangen und die [[https://​de.wikipedia.org/​wiki/​Diskrete_Fourier-Transformation|Diskrete Fourier-Transformation]] auf den Abschnitt vom jeweils aktuellen bis zum nächsten Index angewendet. Weiter geht es äquivalent zur anderen decode-Funktion.
Zeile 87: Zeile 88:
  l.append(1)  l.append(1)
 </​code>​ </​code>​
 +{{:​ss15:​decode.png?​direct&​500 |Signalintensitäten abschnittsweise und Schranken}}
 ===== 4. Queue ===== ===== 4. Queue =====
 Die Umsetzung der Queue basiert auf ''​microlistener_queue.py''​ von Stefan. Wir haben noch die Funktionen ''​get_frames''​ und ''​set_frames''​ ergänzt. Über diese Klasse können wir Objekte erzeugen, die einen Stream von der Soundkarte erhalten und diesen kontinuierlich in die ''​queue''​ schreiben. Über ''​get_frames''​ kann man sich daraus immer ''​n''​ Frames zur Weiterverarbeitung holen, die dann zuerst zur Taktrückgewinnung kommen. Mit der Funktion ''​set_frames''​ werden Frames zurück in die ''​queue''​ geschrieben,​ die bei der Weiterverarbeitung übrig geblieben sind und beim nächsten Aufruf von ''​get_frames''​ verarbeitet werden. Leider haben wir das gesamte Programm bisher noch nicht mit Verwendung der Queue zum fehlerfreien Laufen gebracht. Die Umsetzung der Queue basiert auf ''​microlistener_queue.py''​ von Stefan. Wir haben noch die Funktionen ''​get_frames''​ und ''​set_frames''​ ergänzt. Über diese Klasse können wir Objekte erzeugen, die einen Stream von der Soundkarte erhalten und diesen kontinuierlich in die ''​queue''​ schreiben. Über ''​get_frames''​ kann man sich daraus immer ''​n''​ Frames zur Weiterverarbeitung holen, die dann zuerst zur Taktrückgewinnung kommen. Mit der Funktion ''​set_frames''​ werden Frames zurück in die ''​queue''​ geschrieben,​ die bei der Weiterverarbeitung übrig geblieben sind und beim nächsten Aufruf von ''​get_frames''​ verarbeitet werden. Leider haben wir das gesamte Programm bisher noch nicht mit Verwendung der Queue zum fehlerfreien Laufen gebracht.
ss15/tonverarbeitung.1444562808.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)