ABSTRACT
Tracking systems determine the position and/or orientation of a target object, and are used for many different purposes in various fields of work. My focus is tracking systems in virtual environments. While the primary use of tracking for virtual environments is to track the head position and orientation to set viewing parameters, another use is body tracking---the determination of the positions of the hands and feet of a user. The latter use is the goal for WHISPER.
The largest problem faced by body-tracking systems is emitter/sensor occlusion. The great range of motion that human beings are capable of makes it nearly impossible to place emitter/sensor pairs such that there is always a clear line of sight between the two. Existing systems either ignore this issue, use an algorithmic approach to compensate (e.g., using motion prediction and kinematic constraints to "ride out" occlusions), or use a technology that does not suffer from occlusion problems (e.g., magnetic or mechanical tracking devices). WHISPER uses the final approach.
In this dissertation I present WHISPER as a solution to the body-tracking problem. WHISPER is an acoustic tracking system that uses a wide bandwidth signal to take advantage of low frequency sound's ability to diffract around objects. Previous acoustic systems suffered from low update rates and were not very robust of environmental noise. I apply spread spectrum concepts to acoustic tracking in order to overcome these problems and allow simultaneous tracking of multiple targets using Code Division Multiple Access.
The fundamental approach is to recursively track the correlation between
a transmitted and received version of a pseudo-random wide-band acoustic
signal. The offset of the maximum correlation value corresponds to the
delay, which corresponds to the distance between the microphone and speaker.
Correlation is computationally expensive, but WHISPER
reduces the computation necessary by restricting the delay search space
using a Kalman filter to predict the current delay of the incoming pseudo-noise
sequence. Further reductions in computation expense are accomplished by
reusing results from previous iterations of the algorithm.