1. Technical Field
This disclosure relates to signal processing systems, and in particular, to a system that detects a siren and provides a siren notification.
2. Related Art
Rapid developments in modern technology have led to the widespread adoption of car phones, hi-fidelity car stereo systems, and vehicle multi-media systems. These systems greatly increase passenger and driver comfort, convenience, and enjoyment of the vehicle. At the same time, the driver and passengers must take care to remain alert to surrounding circumstances. For example, when the stereo system is playing at a high volume, it may be difficult to hear the warning siren of an approaching emergency vehicle. In general, increased cognitive loading from any source such as excessive background noise, listening to loud music, or engaging in conversation, may result in greater response times to changes in the driving environment.
Complicating the issue is that there are many different types of warning sirens in use in many different locations around the world. In other words, there is no widely accepted and completely consistent implementation of warning siren content. Accordingly, even if a vehicle occupant was fully aware of all external environmental sounds, the lack of signal standardization would frustrate recognition of any given sound as a warning siren.
Therefore, a need exists for a siren detection system that addresses the concerns noted above and other previously encountered.
A siren detection and notification system provides notification of nearby sirens. When used in a vehicle such as an automobile, the siren detection and notification system may adjust radio, phone, or other device settings in the vehicle. For example, the system may reduce the radio volume. In conjunction with the adjustment, the system may provide a notification of siren detection to the passengers. The notification may take an audible, visual, or other form, and the system may perform its analysis across multiple types of sirens. The system may engage in a dynamic analysis based on location.
In one implementation, a siren detection and notification system includes a vehicle bus interface, a memory, and a processor. The memory stores a siren model, a vehicle environment sound signal, and a siren processing program. The siren processing program analyzes the vehicle environment sound signal with respect to the siren model to determine whether a siren sound is detected in the vehicle environment sound signal. The siren processing program also issues a vehicle system control command (e.g., a radio volume attenuation command) over the vehicle bus interface when the siren sound is detected in the vehicle environment sound signal. The processor executes the siren processing program.
In another implementation, the memory stores multiple geographical location siren models. Each siren model may characterize siren signal content applicable in any particular geographic region (e.g., France and Spain, or Illinois and Iowa). The siren processing program analyzes a vehicle location to select between the geographical location siren models, thereby obtaining a selected geographical location siren model. The siren processing program also analyzes the vehicle environment sound signal with respect to the selected geographical location siren model to detect whether a siren sound is present in the vehicle environment sound signal. When the siren sound is detected, the siren processing program issues a siren detection notification (e.g., makes an audible announcement or illuminates a warning indicator).
The system may also include echo suppression logic that obtains a source reference signal prior to audible reproduction and that suppress the source reference signal in a vehicle environment sound signal to obtain a siren analysis signal. A signal sensor such as a microphone may obtain the vehicle environment sound signal. The siren processing system may then analyze the siren analysis signal with respect to the siren model to determine whether a siren sound is detected in the siren analysis signal.
Other systems, methods, features and advantages will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. All such additional systems, methods, features and advantages are included within this description, are within the scope of the claimed subject matter, and are protected by the following claims.
The systems may be better understood with reference to the following drawings and description. The elements in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the capability analysis techniques. In the figures, like-referenced numerals designate corresponding parts throughout the different views.
To that end, the processing logic 104 accesses the siren models 106. The siren models 106 include information that characterizes one or more sirens, such as police sirens, fire department sirens, ambulance sirens, public warning or emergency sirens, or any other type of warning signal. Examples of characteristics that the siren models may store or represent include frequency content and changes in frequency content (e.g., stored in a spectrogram template or other representation); change, rate of change, or duration of frequency or time characteristics of a siren; amplitude, relative amplitude between portions of the siren in time or frequency; or other characteristics. The siren models 106 may span any number of different geographical areas. Each siren model may include geographical identifier that specifies for which geographical region or regions any given siren model is applicable. The geographical identifier may be satellite positioning system coordinates; latitude or longitude coordinates; city, state, country, region, county, area, roadway, facility (e.g., industrial, nuclear, or petrochemical plant) or other geographical area identifier; or any other type of coordinates or range of coordinates.
When the processing logic 104 recognizes a particular siren, the processing logic 104 takes a preconfigured action. As one example, the processing logic 104 may issue a siren detection notification using the notification logic 108. The notification logic 108 may be an indicator light, tone or alarm, audible announcement, or another type of notification.
Alternatively or additionally, the processing logic 104 may take action through the control interface 110. For example, the control interface 110 may be a vehicle bus interface, or other direct or indirect connection to other processing modules in the vehicle. In the case of a vehicle bus interface, the processing logic 104 may issue vehicle system control commands through the vehicle bus interface to any processing module also connected to the bus interface. In one implementation, the processing logic 104 communicates a volume control command to an audio electronics module. The volume control command may direct the audio electronics module to reduce the audio output volume so that the detected siren may more easily be heard by vehicle passengers. The processing logic 104 may also apply command decision filters to determine whether or not to send any particular vehicle control command. One example of a command decision filter is to suppress volume control commands when a hands-free phone call is in progress. Another example of a command decision filter is to suppress volume control commands when radio, CD, DVD, or other entertainment system volume is already below a loudness threshold.
Taking a specific example from Table 1, the Hazard siren 214 is characterized by a 500 Hz tone that ramps up to 850 Hz, with a one second ‘on’ duration repeated over 3 minutes. The siren models 106 characterize the sirens that the processing logic 104 attempts to match.
The system then creates a model of a siren applicable to the selected geographical region. For example, with regard to the Scream siren 218, the system may create the siren waveform by generating a sign wave sweep from Fmax=850 Hz to Fmin=500 Hz. During the sweep, the amplitude is held constant, the ramp down time is set to 0.8 seconds, and the ramp up time is set to 0.2 seconds.
After creating the siren waveform, the system may then parameterize the waveform. As one example, the system may determine discrete coefficients of the waveform and creates a discrete coefficient vector that characterizes the waveform. The discrete coefficients may be chosen by sampling the waveform at specific intervals (e.g., at twice the maximum frequency in the waveform). One benefit of employing the discrete coefficient representation is compression of the waveform into a significantly reduced memory footprint for accurately representing the waveform. However, other representations may be used. For example the system may alternatively or additionally store the siren models as spectrogram templates, waveform defining equations, or with other representations.
The system may add a region identifier to the discrete coefficient vector. The siren model is thereby tagged with the particular geographical region in which the siren is expected to be encountered. Each siren model may be tagged with any number of geographical region identifies. The system then stores each siren model for future reference. The system may continue to create siren models for each siren expected to be encountered in the geographical region. As one example, the system may create siren models for ambulances, police vehicles, and fire department vehicles within the selected geographical region. The system may also create siren models for each geographical region through which the vehicle is expected to travel. For example, system may create siren models for regions throughout Italy, France, and Spain.
As examples, the vehicle electronics modules shown in
The system 400 may receive operator input from directly connected input sources 420, or vehicle bus connected input sources 418. The input sources 418 and 420 may include buttons, joysticks, rotational or translational controls located on the dashboard, steering wheel, or in other locations; voice recognition systems employing one or more microphones, headsets, or other input devices; wireless receivers (e.g., for receiving inputs from a remote vehicle monitoring facility); or any other operator input source.
The audio electronics module 406 may include media access, control, and sound reproduction logic such as physical media access mechanisms, amplifiers and speakers for a CD player, SACD player, tape player, MP3 player, carphone (e.g., a hands-free car phone system), or other audio device. The SPS electronics module 408 may include a satellite positioning information receiver, location determination logic, location displays, announcement logic (e.g., speakers and audio signal reproduction logic to announce upcoming turns or points of interest), or other SPS processing logic. The video game systems 410 may include audio/visual reproduction logic and operator inputs for controlling a video game.
The seating electronics module 412 may control seat functions. Examples of seat functions include seat heating, seat cooling, seat positioning (e.g., forward, back, up, and down), lumbar support activation, massage or vibration mechanisms, or other electronic seat controls. The video electronics module 414 may include media access, control, and video and audio reproduction logic for a DVD player, video tape player, or other video device. The climate control electronics module 416 may include control logic for air conditioning functions, heating functions, front and rear window defogging, single or multiple zone temperature selection, window opening/closing, interior lighting, or other vehicle environment features.
The dynamic siren detection and notification system 400 includes a processor 424 connected to a memory 426. The memory 426 stores one or more siren models, such as the siren model 428 and the siren model 430. The siren model 428 encodes a siren waveform in a discrete coefficient vector 432, however, other siren waveform representations may be employed additionally or alternatively.
The memory 426 stores a vehicle environment sound signal 434. The input sources 418 and 420 may provide the vehicle environment sound signal 434 in analog or digital form. As examples, the input sources 418 and 420 may include microphones or microphone arrays, and may sample the ambient sounds within the vehicle. The processor 424 or other sampling logic may convert an analog sound signal to digital form and store the samples in the memory 426 as the vehicle environment sound signal 434.
The siren processing program 436 analyzes the vehicle environment sound signal 434 against the siren models 428-430. In that regard, the siren processing program 436 may operate according to siren processing parameters 438. Examples of siren processing parameters include a confidence level parameter 440 and an analysis duration parameter 442. The confidence level parameter 440 may specify the degree of confidence (e.g., 80%) needed that vehicle environment sound signals match any given siren model, and may help reduce the possibility of false positive matches to a siren model. The analysis duration parameter may specify the length of time (e.g., 5 second) over which the siren processing program determines a confidence measure, for example by continuing to analyze incoming vehicle environment sound signals against the siren models 428-430. Thus, for example, the siren processing program 436 may repeatedly analyze vehicle environment sound signals received over time against the siren models 428-430 to build a confidence measure over 5 seconds and determine whether the confidence measure exceeds 80%. Other examples of parameters include: how frequently to check for sirens (e.g., once per minute or continuously) and whether to disable siren detection.
In the event that the siren processing program 436 detects a siren, the siren processing program 436 may issue a vehicle system control command 444. One alternative is that the siren processing program 436 issues the vehicle system control command 444 through the vehicle bus interface 404 to one or more of the vehicle electronics modules 406-416. However, the siren processing program 436 may instead issue the vehicle system control command 444 to locally connected vehicle system 422.
Table 2 shows examples of vehicle system control commands 444 that the system 400 may employ to directly or indirectly signal, notify, advise, or aid recognition by the vehicle passengers that a siren signal has been detected. The system 400 may send additional, fewer, or different vehicle system control commands.
The siren processing program 436 may also exercise control over whether or not to send a vehicle system control command. To that end, the siren processing program may employ command decision filters 446 that affect whether or not the siren processing program 436 sends the vehicle system control command. The command decision filters 446 may take the form of logical tests. Examples of command decision filters 446 are shown below in Table 3.
On the other hand, if the siren processing program 436 detects a siren, the siren processing program may then determine whether the confidence measure meets or exceeds the confidence level 440 established in the siren processing parameters 438. If the confidence threshold is met, the siren processing program 436 may also apply one or more of the command decision filters 446 (510). If a siren is detected with the requisite confidence level and no command decision filter blocks sending a control command, then the siren processing program 436 may proceed by generating and sending a selected vehicle system control command (510). For example, the siren processing program 436 may send a Reduce Volume vehicle system control command to reduce the level of ambient noise in the vehicle cabin, thereby making the siren more noticeable.
As the vehicle continues on toward Paris, the vehicle eventually crosses the border between Italy and France. The satellite positioning system in the car updates the location data 602 on a regular basis. Accordingly, the siren processing program 436 may monitor the location data 602 and determine that the vehicle has crossed the border into France. As with any change in vehicle location, the siren processing program 436 may continue to check the current location against the siren models to determine which siren models are applicable in the current geographical area. Thus, if a different set of siren models is applicable in France, the siren processing program 436 may switch to analysis of the siren models that apply. Similarly, as the vehicle moves from France into Spain, the location data 602 reflects the change and the siren processing program 436 may determine whether a different set of siren models is applicable. The siren processing program 436 proceeds with analysis using the siren models applicable for the current graphical location.
The echo suppression logic 902 may identify similarities or differences between the source reference signal and the vehicle environment sound signal 434. The echo suppression logic 902 may also dampen or cancel the similarities to obtain a siren analysis signal 906 that is an echo-suppressed version of the vehicle environment sound signal 434. Alternatively, separate noise cancellation logic may provide an echo-suppressed vehicle environment signal as a siren analysis signal 906 to the system 900 for processing. The echo suppression logic 902 may be implemented using a coherence processor and a cancellation processor as described in U.S. patent application Ser. Nos. 11/771,258 and 90/916,493, or using other echo cancellation or suppression techniques.
Music, video content, or other multimedia content sometimes includes siren sounds. One benefit of employing the echo suppression logic 902 is that the siren sounds (and other reference sounds) are suppressed or removed from the vehicle environment sound signal 434 prior to analysis against the siren models 428-430. As a result, the system 900 reduces the chances of false positive siren detections caused by multimedia content playing in the vehicle.
The systems 400, 600, and 900 may also implement operator configurability. In that regard, the systems may accept input from any input source (e.g., the input source 418 or 420) and responsively modify, add, or remove selected processing parameters for the siren detection techniques. The systems may permit or deny changes to any particular parameter.
As one example, the input source 420 may include a circular controller such as a trackball or rotating knob, and selectable keys that the operator manipulates to choose from system generated and displayed menus and lists of siren processing parameters. The system may then query the operator for a configuration input that specifies a new setting of the chosen processing parameter, that selects from specific pre-stored parameter values or setting, that activates or deactivates a parameter, or that specifies other actions. In this way, the operator may set, select, or change a wide range of different parameters. Additionally or alternatively, the system may include a service connector, ordinarily inaccessible to the owner of the vehicle, through which authorized service centers may connect to the systems and add, change, delete, set, activate, or deactivate parameters.
Specific examples include setting a relative or absolute volume attenuation amount for the ‘Reduce Volume’ command; activating or deactivating command decision filters such as the ‘Hands-Free’ filter; selecting which vehicle system control commands to send when a siren is detected (e.g., send a Reduce Volume command, an Activate Seat Vibration command, and an Illuminate Indicator command); setting the type of indicator (e.g., a message on a display, or lighting a warning light) or audible announcement, specifying the announcement content, volume level, duration of display, or number of repetitions of announcement. Additional examples include activating or de-activating the siren detection processing program; specifically activating or selecting the currently applicable geographical siren models; uploading new siren models (which may be read from an attached stored device, such as a USB flash drive, or read from a CD or DVD); activating or deactivating the echo suppression logic 902 or the location based analysis for choosing geographically applicable siren models; and setting the confidence level 440 and/or analysis duration 442.
The systems may be implemented in many different ways. For example, although some features are shown stored in computer-readable memories (e.g., as logic implemented as computer-executable instructions or as data structures in memory), all or part of the system, logic, and data structures may be stored on, distributed across, or read from other machine-readable media. The media may include hard disks, floppy disks, CD-ROMs, a signal, such as a signal received from a network or received over multiple packets communicated across the network. The systems may be implemented in software, hardware, or a combination of software and hardware.
Furthermore, the systems may be implemented with additional, different, or fewer components. As one example, a processor or any other logic may be implemented with a microprocessor, a microcontroller, a DSP, an application specific integrated circuit (ASIC), program instructions, discrete analog or digital logic, or a combination of other types of circuits or logic. As another example, memories may be DRAM, SRAM, Flash or any other type of memory. The systems may be distributed among multiple components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Logic, such as programs or circuitry, may be combined or split among multiple programs, distributed across several memories and processors, and may be implemented in or as a function library, such as a dynamic link library (DLL) or other shared library.
While various embodiments of the system have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
4952931 | Serageldin et al. | Aug 1990 | A |
5710555 | McConnell et al. | Jan 1998 | A |
5719551 | Flick | Feb 1998 | A |
6133849 | McConnell et al. | Oct 2000 | A |
6362749 | Brill | Mar 2002 | B1 |
7245232 | Caouette, Sr. | Jul 2007 | B1 |
20020150262 | Carter | Oct 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20090179774 A1 | Jul 2009 | US |