Software Algorithm

Five software band pass filters were used to filter the
incoming signal. Each of these band pass filters is connected
to 2 envelope detectors which work at different speeds.
The fast envelope detector is used to mark the time of the
start of the voice and the slow envelope detector identifies
if it is the target voice or not. A value will be obtained
from each of the 5 fast and 5 slow envelope detectors which
will be compared with similar values stored in memory. These
stored values are obtained when the device is put in training
mode and samples of background noise and target voice are
processed in a similar way as the above. During the comparison,
a "vote" process occurs (best 3/5) to determine
if the sampled signal is more similar to the voice sample
than the background noise sample. If it is determined to
be the target voice, a mouse click will occur. The time
of the mouse click will be slightly later than the voice
response because of the required processing time and sampling
time. This time laps is determined by subtracting the stored
time of the fast band pass filter.
When the device is triggered it sends a mouse click signal
to the computer. Once this is done, the device will wait
a certain amount of time (this wait time is determined by
the user controls) before it is ready to detect another
signal.

(click on the drawing for a PDF version)
Digital Filters
Click
here to see the digital filter code
Click
here to see the code for the Low Pass Filter