Presentation (, 840K)

advertisement
SirenDetect
Alerting Drivers about Emergency Vehicles
Jennifer Michelstein
Department of Electrical Engineering
Adviser: Professor Peter Kindlmann
May 1, 2003
INSIDE A CAR
GPS
BUTTONS
INSIDE A CAR
CALENDAR/MINI PC
PHONE WITH
BUTTONS IN
STEERING WHEEL
RADIO, CD PLAYER,
SPEAKERS
Cars have too many distractions.
Added features =
Less attention to the road and
other vehicles.
Driving has become perilous.
SirenDetect
Summary of Key Features
• Using microphones, collect street
sounds.
• Using DSP chip, analyze incoming
data. Determine if sound is a siren.
• If yes, alert driver. If no, continue
sampling.
Two-Part Process:
1) Software Solution
Matlab version 6.0 to analyze frequency
plots of sirens, construct filtering
algorithms.
2) Hardware Solution
Motorola DSP56826evm Digital Signal
Processing kit with Metrowerks
CodeWarrier software to create the
device.
Sample Siren
A
m
p
l
i
t
u
d
e
Time
Fast Fourier Transform (FFT)
The FFT is an algorithm that
“reduces the number of
computations from something
2
on the order of N0 to N0 log
N0.”*
*http://aurora.phys.utk.edu/~forrest/papers/fourier/#FFT
FFT of Sample Siren
Peak 1:
105 – 180 Hz
Peak 2:
220 – 300 Hz
Peak 3:
370 - 430 Hz
The Butterworth Filter
HB(s) HB(-s)
=
1
1 + (s/jc)2N
N - order of the filter;  - analog frequency; s - complex Laplace
variable such that s =  + j.
Qualitatively, the Butterworth lowpass filter was
chosen not only because of its ease of
implementation, but also because its “filter
magnitude
response
is…the
smoothest,
decreasing monotonically with frequency.”*
* Kuc, Roman.
Introduction to Digital Signal Processing. New York: McGraw-Hill, 1988.
Butterworth Filtering with
Matlab
[b,a] = butter(n, Wn);
n - order of the filter
Wn - the two-element vector Wn = [f1, f2] where f1, f2 are the limits of
the passband, scaled from 0 to 1
[b,a] - filtering coefficients
By experiment, n1 = n2 = 8; n3 = 6.
Matlab Algorithm
1. Create three bandpass Butterworth filters for P1, P2, P3.
2. Construct filters in parallel; pass siren through filters.
3. Obtain peak amplitude of each key region.
4. Repeat steps 2-3 for multiple siren samples; average
amplitudes to obtain typical A1, A2, A3.
5. Run current sound sample through parallel filters; compare
resulting amplitudes to A1, A2, and A3 to determine if sample
is a siren.
Filtering: Graphical Representation of Inputs
Filtering: Graphical Representation of Outputs
Filter 1
Bandpass Region 1
Max(Peak1)
Filter 2
Bandpass Region 2
Max(Peak2)
Filter 3
Bandpass Region 3
Max(Peak3)
Next: How to compare bandpass
regions?
1. Absolute Magnitude Comparisons.
Advantages: Simple(st), Fast(est), and Inexpensive Implementation.
Disadvantages: Inaccuracy in presence of noise, disturbances.
2. Respective Magnitude Comparisons.
Advantages: Simple, Fast, and Inexpensive; high accuracy.
Disadvantages: Robustness? Testing necessary.
How to compare bandpass
regions? (continued)
3. Time Domain.
Advantages: High Accuracy.
Disadvantages: Difficult, more costly implementation.
4. Combination of 2 (Relative Magnitudes) and 3 (Time Domain).
Advantages: Greatest Accuracy.
Disadvantages: Costly and possibly redundant algorithm.
Testing various algorithms
proved that comparing respective
amplitudes was the ideal
implementation. Adjusting
thresholds after testing various
siren samples made detection
more reliable.
Matlab Code for Relative
Amplitudes
x12 = max1 / max2;
x13 = max1 / max3;
x23 = max2 / max3;
if (x13 > ??) & (x13 < ??)
true2 = 1;
end;
true1 = 0;
true2 = 0;
true3 = 0;
its_a_siren=0;
if (x23 > ??) & (x23 < ??)
true3 = 1;
end;
if (x12 >??) & (x12 < ??)
true1 = 1;
end;
if (true1) & (true2) & (true3)
its_a_siren=1;
end;
Flow Chart - Top Level
Start Engine
Key:
R1 = max(x1)/max(x2)
FFT Algorithm for
all incoming sound
R2 = max(x1)/max(x3)
LED OFF
R3 = max(x2)/max(x3)
n
R1?
n
y
R2?
n
y
R3?
y
LED ON
Block Diagram
Real Time Data Stream
Bandpass
Filter 1
Bandpass
Filter 2
Bandpass
Filter 3
max(A1)
max(A2)
max(A3)
A1/A2
A2/A3
A1/A3
Comparisons to R1, R2, R3
LED’s on / off
Repeat Process on Motorola DSP56826evm
Digital Signal Processing kit with
Metrowerks CodeWarrier.
Test in Laboratory Setting using
microphones oriented in various directions;
sirens mixed with street noises, music, etc.
The Future of SirenDetect
SIRENDETECT is a platform product, to be expanded upon in later versions.
1. Siren Library Expansion.
SirenDetect will store a fingerprint for each of the
unique siren sounds emitted by emergency vehicles.
2. Siren Differentiation.
SirenDetect will distinguish between the siren of an
ambulance, fire truck, police car, or other emergency
vehicle. The driver will be notified of the type of car
that is approaching.
The Future of SirenDetect (continued)
3. Directional Capabilities.
Strategic positioning of microphones will allow
SirenDetect to compare amplitudes of signals and
identify the precise location from which the emergency
vehicle is approaching.
The Future of SirenDetect (continued)
4. Robustness Evaluation.
The system must be tested in residential areas, on highways,
in cars traveling the same direction as emergency vehicles, the
opposite direction, and at various angles (30, 45, 60, 90, etc.).
Possible hazards are the Doppler effect and noise interference.
The thresholds employed in the current code may need
slight adjustments to be comprehensive in various driving
conditions, yet should not be all-inclusive (i.e. detecting
too many noises as sirens). Efficiency - Accuracy Trade-Off.
Acknowledgments
Peter Kindlmann, Project Adviser
Edward Jackson
Roman Kuc
Download