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/jc)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