Vibraid













- Members -

Michael Balanov
Spyridon Baltsavias
Leona Otsuka
Andrew Woo

Vibraid: An Innovative Tactile Aid

Purpose

The objective of the Vibraid project is to translate sound into a vibration. This vibration will tell the user where the sound originated from, as well as how loud the source is.

Beneficial to

those that are deaf, hard of hearing, or in general, unaware of their surroundings.

Our Mission

The aim of this project is to introduce a solution to the issue deaf and hard at hearing people face: limited environmental awareness due to complete or partial lack of sound input. The Vibraid is a cost effective assistive technology capable of compiling the features of many other existing hearing aid devices. It is a waist belt that has the functionality of converting sound into vibration through the use of an array of omni-directional microphones and motors. Through the use of band pass filters, the Vibraid can remove noise signals and is designed to only detect important sounds within specific frequency ranges. Thus, it will allow the user to react quickly to various environmental stimuli - fire alarms, vehicle engines, etc. -, alert them of the direction of incoming threats and ultimately improve their productivity.




- Members -



show more

Who We Are

Four Electrical Engineers from Umass Amherst with interests in sound and assistive technologies.


- Members -




Michael Balanov (EE)

Mike is responsible for motor logic and activation.
Hey, I'm Mike ;)




Spyridon Baltsavias (EE)

Team leader
Responsible for microphone input signal interpretation.
Hello?




Leona Otsuka (EE)

Leo is responsible for creating filters and setting filter ranges.
blahblah blahblahblah blah




Andrew Woo (EE)

Webmaster
Responsible for signal priorization and processing.
BROKEN broken broken broken


show less

Professor Janaswamy


Professor at University of Massachusetts Amherst
Department of Electrical and Computer Engineering

More...

The Idea


Block Diagram: Click picture to enlarge


Input Block
The input block is responsible for picking up all sounds which surround the user. It consists of the four unidirectional microphones, which are biased up and amplified for suitable processing by the Arduino. The input block also implements an envelope detector circuit that rectifies the AC sound signal and produces a DC signal that represents the average ďsound pressure level.Ē This can be used as a comparison measure of sounds in the processing block.

Processing Block
The Arduino is the core of the device. Taking the AC sound signal as an input, it implements an optimized Fast Fourier Transform to determine the fundamental frequency of the sound. If the frequency falls within the user-selected frequency band, the DC sound-pressure-level signals are then compared with each other, to determine the highest average signal sound pressure level among all four microphones. If this highest average exceeds a user-set threshold, the corresponding motor that is associated with the direction of the microphone that received the strongest sound is activated.

Output Block
The output block consists of four motors. These motors correspond to four different quadrants from which sound can be distinguished between. The processing block will send incoming signals to the output block and activate the motors with an intensity that the user selected. The user will feel the motorís vibration in a specific quadrant, and be alerted of a sound source located in said direction.

Interface Block
The interface block provides the user with a set of switches and knobs which allows them to customize the device to meet specific needs. A sensitivity knob allows the user to set thresholds for which minimum sound can be detected. A motor strength switch will toggle the vibration strength of the motors around the userís waist, to meet the userís sensitivity preferences. The user can customize the device to hone in on specific sounds, through the three filter switches. These switches, which correspond to low, band, and high pass filters, can be combined to create unique combinations of filters.

Documentation


Preliminary Design Review
Download

Midway Design Review
Download

Midway Design Review Report
Download

Comprehensive Design Review
Download

Final Project Review
Download

Poster
Download

Final Project Report
Download

Updates of Vibraid Progress

As of 2/10/2014

Initial omni-directional microphones fail to meet desired range specs
  • Considered uni-directional microphones to improve accuracy of microphone input comparison
  • Replaced microphones with new ones and simplified circuit design
Obtained an Arduino Uno unit
  • Shift Vibraid implementation from hardware to software design
  • Easier to test, tune, customize, and debug
Implement 4-way directionality on Arduino, mimicing hardware setup
  • Used a large box to simulate the human body, microphones attached to 4 horizontally facing sides
  • Tests showed inaccuracy after 3 ft distance, similarly but slightly better than the hardware implementation
  • Different processing methods such as inclusion of a moving average of input readings slightly improves results
Conclusions:
  • The microphones are too close to each other to pick up any differences when the sound source is far ( > 4 ft)
  • Replacement of microphones did not improve results - direction determination method needs revision and reconsideration
  • Overall software implementation preferred over hardware implementation, allowing for algorithm change and efficient testing

Starting 2/10/2014

New approach: Time delay estimation
  • Determine delay between input sound signals using cross-correlation
  • Determine which microphone receives the sound source first by knowing the time delay
Implemented cross-correlation algorithm in arduino
  • Testing with manually-entered sample inputs produces expected output

2/11/2014

Setup 2-microphone test in quiet room with microphones separated by 10ft
  • Producing hard onset sound (clap) in front of each microphone produces inconsistent readings
  • Tested 2 cross-correlation algorithm variants
  • Varied sample time to test echo feedback
  • Results of the trials shows both algorithms produce inconsistant outputs (
Prepared demo for Prof. Hollot
  • Setup original amplitude comparison algorithm with 4 microphones on each side of a rectangle box (width = 1.95ft, height = 2.65ft)
  • Provided demonstration of sound detection to light activation in the corresponding direction of incoming sound
  • Demonstration was successful for sound sources up to approximately 7 feet away from the center of the box
  • However, problem arises since seperation of microphones is too large compared to human waist size
Conclusions
  • Sound amplitude comparison must be supplemented by time delay estimation or an alternative algorithm to produce accurate results for realistic microphone seperation and for distanced sound sources
  • Time delay algorithm requires debugging and further testing in a more ideal environment (soundproof)

3/2/2014

Still working on cross corelation method, results are not consistent.
Methods attempted:
  • Corrected mathmatical error
  • Created unbiased version
  • Normalized input signals
  • Currently attempting averaging, subtraction and division
Determining if time delay method is plausible.
  • Speed of sound = 340 m/s
  • Current measuring distance = 0.75 m
  • Time to travel = 2.2 ms
  • Sampling rate of Arduino = 10k samples/sec
  • Sampling period = 0.1 ms
Theoretically possible to measure time delay

3/11/2014

Our evaluators would like to know how the Vibraid would function outside, as the environment could make it function better or worse.
Performed preliminary testing to quickly determine how the Vibraid functions outside, with little wind.
Discovered a few things, no data to back up findings.
  • Maximum range is approx 2 inches
  • Accuracy at 2 inches is approx 50% - 75%
  • Misfires occur constantly
  • Side opposite wind has a hard time activating
Conclusion: Does not work outside. More work needed.

3/13/2014

Resumed work on creating filters.
  • Using Matlab to determine frequency of noise
  • Once frequency is determined, a filter can be built to remove it
  • Noise consists of clothes, wind, and movement
  • Matlab code is able to determine frequencies of pure tones as of now
Matlab is proving useful in determining frequencies of sounds, so it should work for noise as well.

4/16/2014

Project coming to a finish
  • Finished and implemented filters using a digital design
  • Finalized knobs and switches for user interface
  • Placing all parts in a container to look presentable
Individual parts have been optimized, such as the Arduino Uno

Pictures throughout the year



Checking 2 mic directionality hardware setup




Checking motors with microphone detection logic




Checking 4-way directionality




Testing software approach for 4-way directionality




Getting ready for bench side demo




Testing user interface




Building the first prototype for the Vibraid




Ready for FPR!