31.10.2012 Aufrufe

DIPLOMARBEIT

DIPLOMARBEIT

DIPLOMARBEIT

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

3.4 Verbinden der Komponenten<br />

Die Ursache für den Qualitätsverlust kann man im unteren linken Diagramm erkennen. Da die digitale<br />

Audioverarbeitung immer bemüht ist, eine Kurve durch alle Amplitudenwerte zu legen, entstehen<br />

kleine Wellenberge und Täler zwischen den Werten, die zu neuen Frequenzanteilen im Signal führen.<br />

72<br />

Abbildung 44: Zeitsignal (Werte dupliziert)<br />

Abbildung 45: Zeitsignal (resampled)<br />

Im Frequenz‐Spektrum ist zu erkennen, dass sich die originalen Frequenzen an der Nyquist‐Frequenz<br />

���� ⁄ 2 � 8000 ��⁄ 2 � 4000 �� spiegeln. Durch Anwendung eines Tiefpassfilters kann der zusätz‐<br />

liche Frequenzanteil wieder entfernt werden. Ein ähnliches Verfahren wird auch beim Resampling<br />

angewendet.<br />

Abbildung 46: Frequenzspektrum (Werte dupliziert)<br />

Abbildung 47: Frequenzspektrum (resampled)<br />

Eine Recherche im Internet hat ergeben, dass Java auch zwischen verschiedenen Abtastfrequenzen<br />

konvertieren kann, wenn man eine zusätzliche Java‐Bibliothek einbindet. Diese Bibliothek ist Teil des<br />

Tritonus‐Projektes 20 . Bei Tritonus handelt es sich um eine Implementierung der Java Sound API. Die<br />

nötige Bibliothek findet man auf der Seite „Plug‐Ins“ unter „Tritonus miscellaneous“.<br />

Nach der Einbindung muss nur noch die Abtastfrequenz für die Ausgabe auf 16000 Hz in der Metho‐<br />

de audioOutput.initAudioLine() angepasst werden:<br />

//float fFrameRate=8000.0F;<br />

float fFrameRate=16000.0F;<br />

AudioFormat format=new AudioFormat(<br />

AudioFormat.Encoding.PCM_SIGNED, fFrameRate, 16, 1, 2, fFrameRate,<br />

true);<br />

20 URL: http://www.tritonus.org/

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!