Sie sind auf Seite 1von 4

Übungsblatt 1

(Punkte in Klammern hinter den Aufgaben angegeben)

0. Vorbereitung
Bitte nehmt für Aufgabe 1 folgende Sätze auf:
(Wenn ihr kein Mikrofon zur Verfügung habt, besorgt euch Aufnahmen von Kommilitonen.
Ihr könnt bspw. über das Forum auf der ISIS Seite fragen.)

frage.wav: Wer ist der Stärkere: der Nordwind oder die Sonne?
Bitte achtet dabei, diesen Satz auch als Frage zu betonen.

satz.wav: Einst stritten sich Nordwind und Sonne, wer von ihnen beiden wohl der Stärkere
wäre, als ein Wanderer, der in einen warmen Mantel gehüllt war, des Weges daherkam.

Nehmt zusätzlich bitte die Vokale (a, e, i, o, u) und Umlaute (ä, ö, ü) sowie die Laute sch, f, t
und k jeweils als Laute als einzelne Dateien auf.

1. Darstellung im Zeitbereich (3)


Audacity starten, den im vorweg aufgezeichneten Fragesatz öffnen, dann den Aussagesatz
über Menü‚Projekt Æ Audio importieren’ hinzufügen.
Erkennen von periodischen und nicht-periodischen Anteilen, markieren und Abspielen.

• Welche Laute (Auswahl aus beiden Sätzen) sind periodisch?


• Welche Laute (Auswahl aus beiden Sätzen) sind nicht- periodisch?
• Findet die Laute sch, k, o, ä in den Sätzen und vergleicht sie mit den aufgenommenen
Einzellauten. Gibt es Unterschiede? Falls ja warum?

2. LTI-Systeme
a) Fragen (2)
• Welche (mind.) 2 Systeme fallen euch ein, die die Anforderungen an ein LTI System
erfüllen? (ausgenommen bereits in der Übung vorgestellten Systeme)
• Welche (mind.) 2 Systeme sind Gegenbeispiele, warum?
b) Praktische Anwendung in Matlab/Octave (10)
In der Übung wurde gezeigt, wie man in Matlab einfach das Ausgangssignal eines LTI
Systems berechnen kann. Versucht es nun selber, indem ihr eine Funktion echo schreibt,
die als Ausgangssignal ein Echo berechnet. Benutzt am Ende die von uns zur Verfügung
gestellte Funktion normalize, um das Ergebnis in der Lautstärke auf einen Bereich
zwischen -1 und +1 zu bringen. (Werte über 1 und unter -1 bedeuten Übersteuerung!)
Dazu müsst ihr:
1) Eine neue Datei anlegen, die „echo.m“ heißt
2) Die Funktion „echo“ definieren. Sie soll folgende Eingangsparameter haben:
o einen Audiodatenvektor (eingelesen mit der Funktion wavread)
o eine Zahl, die die Echo-Verzögerung in Millisekunden darstellt
o eine Zahl, die die Samplingfrequenz des Audiovektors enthält (also z.B. 44100
Hz, 22050 Hz, usw.)
Die erste Zeile der Datei sollte also so aussehen:
function result = echo (data, delay, fs)
Weitere Tipps:
- Benutzt für die Audiodaten einen Samplingfrequenz von 22050 Hz. Testet eure
Funktion am besten mit den eigenen aufgenommenen Sätzen.
- Ein Wave-File ladet ihr in Matlab, indem ihr wavread(’dateiname.wav’);
benutzt. Weiterhin sollten sich alle benötigten Dateien in dem Verzeichnis befinden, in
dem ihr arbeitet.
- Die benötigte Faltung führt die Funktion conv aus.
- Die Impulsantwort eines Echos ist sehr leicht zu realisieren. Ein Echo ist im nur die
mehrfache Wiederholung des Eingangssignals mit kleiner werdenden
Lautstärkepegeln. Deshalb braucht ihr nur einen Vektor, der mehrere, leiser werdende
Diracimpulse enthält, also bspw.
impulsantwort = [1 0 0.5 0 0.2];
Der erste Diracimpuls ist hier in der ursprünglichen Lautstärke 1, der nächste ist bei
0.5 und das dritte „Echo“ ist noch 0.2 mal so laut wie der ursprüngliche Impuls.
- Eure Aufgabe ist jetzt noch, den durch den Eingangsparameter delay vorgegebenen
Abstand der Impulse zu implementieren.
Wenn die Samplefrequenz des Audiofiles also bspw. 22050 Hz ist, wäre eine Sekunde
Audio also ein Vektor der Länge 22050. Wenn ihr also ein Impulsantwort mit einem
Delay von 100ms dafür implementieren wollt, muss der Zwischenraum zwischen den
Diracimpulsen also (22050 / 10) – 1 Nullen sein. Benutzt dafür die Funktion zeros!

Übrigens: Vektoren mit der Dimension 1 x m vertragen sich schlecht mit Vektoren
m x 1. Wenn ihr jeweils in das andere umwandeln müsst, reicht ein Hochkomma
hinter dem Vektor zum transponieren, bspw. wäre impulsantwort’ der
transponierte Vektor von impulsantwort.
Ein letzter Hinweis: Die Funktion ist nicht kompliziert! Es braucht keine Schleifen
oder if-Abfragen. Im Prinzip könnte eine Zuweisung zu result reichen, aber 3 bis 4
Zwischenschritte lesen sich besser!

Fragen:
o Nach der Faltung können im Ergebnis Werte über 1 und unter -1
auftreten. Warum?
o Ist die Funktion normalize ein LTI System? Begründen!

Zur Abgabe: Reicht bitte die Datei echo.m bei der Abgabe mit ein. Die
Antworten zu den Fragen können auf die Seite mit den anderen Antworten.

3. Darstellung kontinuierlicher Signale im Frequenzbereich, Spektrum


a) Fourierreihe (6)
Starten des Applets unter http://www.falstad.com/fourier/
Beantworten Sie die folgenden Fragen (gerne kurz gehalten)
• Was wird dargestellt?
o oberes Fenster
o mittleres Fenster
o unteres Fenster
• Was bewirken die Häkchen bei
o ‘Mag/Phase View’
o ‘Log View’
• Was bewirkt der Schieber
o ‘Number of Terms’
o ‘Playing Frequency’

• Was ist die Formel für die Darstellung mit


o Sinus und Cosinus Werten (siehe z. B. Wikipedia)
o Betrag (Magnitude) und Phase (laut Skript)
• Stelle den Schieber ‘Number of Terms’ auf 5 und lies für das Dreieck, den Sägezahn
und das Quadrat die mathematische Darstellung ab:
o als Reihe von Sinus- und Kosinusfunktionen
• Dreieck
• Quadrat
o als Reihe von harmonisch-exponentiellen Komponenten
• Dreieck
• Quadrat

b) Fouriertransformation (1)
Wofür benutzt man die Fouriertransformation?
Was ist der Unterschied zur Fourierreihe?
4. Autokorrelation (3)

Frage: Wie ist die Definition der Autokorrelationsfunktion laut Skript?

Matlab-Aufgabe
Ladet in Matlab einen stimmhaften und einen stimmlosen Laut in einen Vektor
Wendet auf beide Vektoren die Autokorrelation an
Æ unter Matlab mit der Funktion xcorr (ACHTUNG: Diese Funktion gehört
zu „Signal Processing Toolbox“. Wenn du keinen Zugriff zu dieser Toolbox
habst, benutz bitte Octave!)
Æ unter Octave mit der Funktion autocor
Plottet beide Ergebnisse mit plot(vektorname);

Beschreibt kurz die Unterschiede in beiden Plots. Gebt für die Unterschiede auch
eine kurze Erklärung. Gebt die Plots mit ab!

Das könnte Ihnen auch gefallen