13.07.2015 Aufrufe

Multimodale Interaktion in Augmented Reality Umgebungen am ...

Multimodale Interaktion in Augmented Reality Umgebungen am ...

Multimodale Interaktion in Augmented Reality Umgebungen am ...

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

KAPITEL 3.INTERAKTION DER MASCHINE ZUM MENSCHENumgesetzt. Die Transformation erfolgt mittels (<strong>in</strong>verser) Fast-Fourier-Transformation (FFT).Um e<strong>in</strong> E<strong>in</strong>gangssignal mit unbegrenzter Länge verarbeiten zu können, verwendet die Faltunge<strong>in</strong>e segmentweise Filterung des Signals. Das E<strong>in</strong>gangssignal e i [n] wird <strong>in</strong> begrenzte Blöckee f<strong>in</strong>ite [n] mit der Länge l unterteilt. Jeder dieser Blöcke wird mit der Filterimpulsantwortmit der Länge K gefaltet, wobei die für den entsprechenden W<strong>in</strong>kel zwischen Blickrichtungdes Nutzers und der virtuellen Schallquelle benötigte Impulsantwort verwendet wird. DieBerechnung des W<strong>in</strong>kels erfolgt aus der Position (x H , y H ) <strong>in</strong>nerhalb der Weltkoord<strong>in</strong>aten(x w , y w ) des Kopfes H, die durch e<strong>in</strong> IR-Target bestimmt wird, und der Position (x Q , y Q ) dervirtuellen Schallquelle Q. Ebenfalls ist der Drehw<strong>in</strong>kel ϑ H des IR Targets um die Z-Achse desWeltKOS bekannt. Aus diesen Angaben lässt sich der W<strong>in</strong>kel⎛⎞xϑ = sign(y Q − y H ) · arccos ⎝Q − x H√(xQ − x H ) 2 + (y Q − y H ) ) ⎠ · 180o2 π− ϑ H + βberechnen, falls (x Q − x H ) 2 + (y Q − y H ) 2 nicht den Wert 0 annimmt. Um das daraus resultierendeperiodische Signal zu korrigieren, wird der Overlap-Save-Algorithmus verwendet (sieheAbb. 3.10).…pp + l − K −1p + l −1p + 2l− K −1E<strong>in</strong>gangssignal (Kanal i)[n] e i…0Block je f<strong>in</strong>ite[n]h i[n]l −10 K −1 l −1]FFT0E f<strong>in</strong>itef[ dl20 K −1 l −1[n]a f<strong>in</strong>ite0A f<strong>in</strong>ite[ f d]l20<strong>in</strong>verse FFTH if[ dFFT]l2…qq + l − K −1 q + 2l− 2K−1[n] a i…Ausgangssignal (Kanal i)Abbildung 3.10: Overlap-Save AlgorithmusDieser schneidet aus dem E<strong>in</strong>gangssignal e i [n] Blöcke der Länge e f<strong>in</strong>ite [n] mit der Längevon l S<strong>am</strong>ples heraus. Bei jedem Iterationsschritt wird der Startpunkt des E<strong>in</strong>gangssignalsum (l − K) im Zeitbereich weitergeschoben. Daraus ergibt sich e<strong>in</strong>e Überlappung der herausgeschnittenenBlöcke. Der hier verwendete Algorithmus verwendet für K den Wert l 2 ,was zu 1024 S<strong>am</strong>ples oder 21,3 ms bei e<strong>in</strong>er S<strong>am</strong>pl<strong>in</strong>grate von 48 kHz führt. Durch die zyklischeFaltung s<strong>in</strong>d die ersten K S<strong>am</strong>ples des Ausgangssignals a f<strong>in</strong>ite [n] nicht korrekt undwerden verworfen. Aufgrund der verwendeten Filterimpulsantwort mit e<strong>in</strong>er Länge von mehrals 30 ms wird der Algorithmus modifiziert [83]. Um e<strong>in</strong>e dyn<strong>am</strong>ische partitionierte Faltungmit Impulsantworten e<strong>in</strong>er Länge von 144000 S<strong>am</strong>ples <strong>in</strong> Echtzeit umzusetzen, werden38

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!