Microphone Array and Beamforming By Pattarapong Rojanasthien ECE 5525

Download Report

Transcript Microphone Array and Beamforming By Pattarapong Rojanasthien ECE 5525

Microphone Array and
Beamforming
By Pattarapong Rojanasthien
ECE 5525
Dr. Kepuska
December 8th, 2008
Overview
 Introduction
 Background
 Microphone Arrays
 Beamforming
 Signal to Noise Ratio
 Solution and Approach
 Results
 Conclusion
Introduction
 The goals for the project are the following
 Learn the basic concept of microphone array
 Become familiar and learn how to use a program that
perform Beamforming
 Show that Beamforming will enhance the signal quality
based on SNR
Microphone Array
 Multiple microphones set up in certain formation
depend on the application.
 Line
 Circle
 Rectangle
 Each microphone will capture the sound from the
source at the different time due to distance from the
source.
 Therefore, there is a time delay in each signal.
Microphone Array
Multi-Channel Signal
Comparison
Time Delay

Note that the distance between another microphone (not the reference) to the source, which denote as
g, can be compute with trigonometry cos  = d/g => d = g cos.

The distance from source to Ref Mic: d = 30 in.

The distance from source to Mic x: g = 34.73 in.

The distance between mic: N = 17.5 in.

Sampling Frequency: fs = 22050 samples/sec.

Speed of sound: c = 345 m/sec.

Find d’ = 34.73 – 30 = 4.73.

Find Sample/meter => 22050/345 = 63.913 samples/m.

Turn into inches => 63.913 x 0.0254 = 1.62

To find time delay, we need distance d’ x = 4.73 x 1.62 = 7.7 samples, round up to be 8 samples.
Example of Microphone Array
Beamforming
 A technique that rearrange the mixture signals from the
microphone array, so that the signals from the source
that we want are lined up before combine them all up
into one signal
 Since signals from the specified source are on the
same phase, they will add each other up.
 The noise signals may either add each other up or
cancel each other out.
 The general form of the beamforming output based on
delay and sum
Beamforming Pattern
Signal to Noise Ratio
 The measurement of the signal quality
 Basically, it is the magnitude of
signal
noise
 One way to calculate it is to find noise from voice activity detection

1. Measure the mean of the energy
during the last t1 seconds => E1
2. Measure the mean of the energy during the last t2 seconds => E2
3. Calculate the speech threshold T2 = E2 + Ex
4. If E1 > Ts, speech is detected. (speech onset)
5. Freeze E2 and calculate the noise threshold Tn = E2 + En
6. Measure the mean of the energy of recent t1 seconds => E1
7. IF E1 < Tn, noise is detected. (speech offset)
Voice Activity Detection
 Use the average energy compute from two windows
size.
 One windows is smaller than another another.
Experiment
 Use the microphone array data recorded by Tom Sullivan at
Carnegie Mellon University.
 The data will be converted into wavefiles for each channel
using MATLAB.
 Put the wavefiles into BeamformIt to perform beamforming.
 The output is in form of NIST .sph file. Convert it back to
.wav using the program sox.
 Take the result back into MATLAB and compare the SNR
with the signals from microphone array.
Results
an102-mtms-arr4A.adc
Source of Signal
Mic 1
Mic 2
Mic 3
Mic 4
Mic 5
Mic 6
Mic 7
Mic 8
Mic 9
Mic 10
Mic 11
Mic 12
Mic 13
Mic 14
Mic 15
Result from Beamforming
SNR
21.00937389
22.48577961
22.80745788
25.49945084
23.06647821
26.87451164
24.8231068
21.54103218
20.9528169
23.69206855
24.28739145
23.09365172
20.78050523
20.96611645
20.77844073
46.79534715
Results (cont’d)
 The average SNR of 15 microphone is about 22.84 dB,
which the beamforming result is roughly twice higher
than that.
 Also look at the spectrogram of the the raw data and
beamforming data respectively.
 Note that the noise energy is reduced.
Conclusion
 By beamforming the signals from the microphone array,
we can enhance the quality of the signal that we want
by rearrange the microphone array signals together
and combine up into one signal.
 The most difficult part of this project is rather on the
technicality (convert and compile the programs) rather
than understanding the general concepts behind it.
Special Thanks
 Dr. Kepuska and Za Hniang Za for guidance on the
concepts and MATLAB
References

Acoustic Beamforming for Signal Enhancement, Localization, and Separation. Kung Yao.
DARPA Air-Coupled Acoustic Sensors Workshop Aug 24. 1999.
http://www.darpa.mil/mto/archives/workshops/sono/presentations/ucla_yao.pdf

Audio and Speech Processing. Geert Van Meerbergen, et al.
http://homes.esat.kuleuven.be/~gvanmeer/s&a/oefenzittingen/opgave2/node3.html

Beamformit (Fast and Robust Acoustic Beamformer). Xavier Anguera. Nov 11 2008.
http://www.icsi.berkeley.edu/~xanguera/beamformit/

LOUD: A 1020-Node Microphone Array and Acoustic Beamformer. Eugene Weinstein.
http://www.cs.nyu.edu/~eugenew/publications/loud-slides.pdf

Microphone Data by Tom Sullivan at Carnegie Mellon University.

Microphone Array Project in Microsoft Research.
http://research.microsoft.com/users/ivantash/MicrophoneArrayProject.aspx

Trinov SRP: Surround Microphone Array. http://www.trinnov
Questions