The present disclosure relates generally to audio processing. More specifically, the present disclosure relates to detecting wind noise using multiple audio signals recorded using electro-acoustic transducers such as microphones.
Communication technologies continue to advance in many areas. As these technologies advance, users have more flexibility in the ways they may communicate with one another. For telephone calls, users may engage in direct two-way calls or conference calls. In addition, headsets or speakerphones may be used to enable hands-free operation. Calls may take place using standard telephones, cellular telephones, computing devices, etc.
This increased flexibility enabled by advancing communication technologies also makes it possible for users to make calls from many different kinds of environments. In some environments, various conditions may arise that can affect the call. One condition is the wind or air movement.
Wind noise has historically been a significant detractor of audio quality, particularly when the audio has been captured by microphones in an outdoor setting. The audio quality in mobile devices (e.g. cell phones, laptops, etc.) has been particularly vulnerable to this problem. Detection of wind noise is an ongoing effort in the wireless communication industry. Hence, benefits may be realized by providing improved systems and methods for detecting wind noise.
a is a block diagram illustrating certain aspects of one possible configuration of a wind noise detection system;
b is a block diagram illustrating certain aspects of one possible implementation of a wind noise detection system;
c is a block diagram illustrating certain aspects of another possible implementation of a wind noise detection system;
a is a block diagram illustrating certain aspects of another possible configuration of a wind noise detection system;
b is a block diagram illustrating certain aspects of one possible implementation of a wind noise detection system;
c is a block diagram illustrating certain aspects of another possible implementation of a wind noise detection system;
A method for detecting wind noise is disclosed. At least two audio signals are received. The at least two audio signals are filtered to reduce higher frequencies and to reduce lower frequencies to provide at least two filtered audio signals. The cross correlation of the at least two filtered audio signals is computed for multiple delays. A maximum cross correlation is determined from the cross correlations computed for the multiple delays. Wind noise is detected by comparing the maximum cross correlation with a threshold.
The filtering to reduce the higher frequencies may be accomplished by a low pass filter. The filtering to reduce the lower frequencies may be accomplished by a high pass filter. In another configuration, the filtering to reduce the higher frequencies and to reduce the lower frequencies may be accomplished by a band pass filter.
Computing the cross correlation may include computing the normalized cross correlation. Computing the cross correlation may include computing the smoothed normalized cross correlation.
The at least two audio signals may be converted from analog audio to digital audio. In one configuration, the at least two audio signals may comprise exactly two audio signals. The digital audio may be divided into multiple blocks. The computing, the determining and the detecting may be performed relative to the blocks.
A percentage of wind noise detections over a window may be monitored and compared with a threshold percentage to determine wind noise for the window. The method may also include determining which audio signal of the at least two audio signals has wind noise.
A wireless communication device configured to detect wind noise is disclosed. The communication device includes at least two microphones for receiving at least two audio signals. The communication device also includes filters for filtering the at least two audio signals to reduce higher frequencies and to reduce lower frequencies to provide at least two filtered audio signals. A cross correlation block is coupled to the filters for computing the cross correlation of the at least two filtered audio signals for multiple delays. A maximum determination block is coupled to the cross correlation block for determining a maximum cross correlation from the cross correlations computed for the multiple delays. A decision block is coupled to the maximum determination block for detecting wind noise by comparing the maximum cross correlation with a threshold.
A wireless communication device configured for detecting wind noise is disclosed. The communication device includes a processor and memory in electronic communication with the processor. Executable instructions are stored in the memory. At least two audio signals are received. The at least two audio signals are filtered to reduce higher frequencies and to reduce lower frequencies to provide at least two filtered audio signals. The cross correlation of the at least two filtered audio signals is computed for multiple delays. A maximum cross correlation is determined from the cross correlations computed for the multiple delays. Wind noise is detected by comparing the maximum cross correlation with a threshold.
A wireless communication device configured for detecting wind noise is disclosed. The communication device includes means for receiving at least two audio signals and means for filtering the at least two audio signals to reduce higher frequencies and to reduce lower frequencies to provide at least two filtered audio signals. The communication device also includes means for computing the cross correlation of the at least two filtered audio signals for multiple delays. The communication device includes means for determining a maximum cross correlation from the cross correlations computed for the multiple delays. The communication device also includes means for detecting wind noise by comparing the maximum cross correlation with a threshold.
A computer-program product for detecting wind noise. The computer-program product comprises a computer-readable medium having instructions thereon. The instructions include code for receiving at least two audio signals and code for filtering the at least two audio signals to reduce higher frequencies and to reduce lower frequencies to provide at least two filtered audio signals. The instructions include code for computing the cross correlation of the at least two filtered audio signals for multiple delays. The instructions also include code for determining a maximum cross correlation from the cross correlations computed for the multiple delays. The instructions further include code for detecting wind noise by comparing the maximum cross correlation with a threshold.
An integrated circuit for detecting wind noise is disclosed. At least two audio signals are received. The at least two audio signals are filtered to reduce higher frequencies and to reduce lower frequencies to provide at least two filtered audio signals. The cross correlation of the at least two filtered audio signals is computed for multiple delays. A maximum cross correlation is determined from the cross correlations computed for the multiple delays. Wind noise is detected by comparing the maximum cross correlation with a threshold.
Mobile communication devices are inherently susceptible to environmental noises due to the mobile aspect of the communication device. One particular type of environmental noise that poses a problem in mobile communications is wind noise. Wind noise can degrade voice communication to such an extent that it is either unpleasant or intolerable. Therefore, detection and removal of wind noise plays an important role in improving the overall quality of voice communications. The present systems and methods detect wind gush or wind noise in mobile devices that employ multiple microphones. Detection of the presence of wind noise can be further used in different ways for improving the voice quality of the mobile communication systems.
Wind noise may be caused by airflow interacting with an electro-acoustic transducer (e.g., a microphone). Turbulence in the passing air flow may set up a violent flapping motion in a microphone diaphragm and may cause significant degradation to the acoustic signals picked up by the microphone. A high volume of air flow may also cause saturation in the microphone signals. Wind noise may have a broad frequency spectrum with significant energy in the low frequencies (e.g. less than 1 KHz). Wind noise energy in the high frequencies may roll off as frequency increases.
Wind noise poses a major challenge in voice communication systems. The broadband and highly non-stationary nature of wind noise makes it hard to detect and remove. Furthermore, saturation caused by wind noise introduces permanent non-linear damage in the acoustic signal which cannot be recovered.
Detection and removal of wind noise is an ongoing effort in the wireless communication industry as it can offer significant improvement in the quality of voice communications in outdoor scenarios. Detection and removal of wind noise are two different problems. The present systems and methods may be used for detecting wind noise. A mobile handset may be equipped with two or more microphones so that signals captured by multiple microphones may be exploited for detecting wind noise. Once the presence of wind noise is detected, it may be further utilized for improving the quality of the transmitted audio in various ways (e.g., to select the microphone signal with the least wind noise, to control signal processing modules such as adaptive filters, frequency domain techniques, noise suppressors, echo cancellers, etc.).
There are two major sources of wind noise in unscreened microphone signals. The first component of wind noise may be caused by interaction between microphones 102a-b and adjacent airflow 103. This component is typically the dominant source of wind noise in a wireless communication device 100 (e.g. mobile handset, mobile station, wired handset, Bluetooth headset, etc.). This component has a broad frequency spectrum with most of its energy at low frequency. As the wind speeds increase, the bandwidth of this wind noise component may increase. This wind noise component may not have significant energy at high frequencies (e.g. greater than 1 KHz). An important property of this wind noise component is that the noise captured by different microphones 102a-b tends to be uncorrelated with each other.
The second component of wind noise may be caused by the pressure fluctuation of passing wind. This component may have a lot of low frequency content (e.g. under 200 Hz). When captured by different microphones 102a-b, this component tends to be correlated provided that the microphones 102a-b are not too far apart from each other (e.g. not more than 10 cm).
Wind noise detection systems and methods are described that exploit the characteristics of the dominant (first) wind noise component. The dominant wind noise component may have most of its energy in the band 200 Hz to 1000 Hz. In this frequency band, the acoustic (e.g. audio, voice, etc.) signals captured by microphones 102a-b tend to be correlated, whereas the first wind noise component captured by the microphones 102a-b tends to be uncorrelated. This property forms the basis for methods and systems for detecting wind noise in multiple audio signals.
The wind noise detection block 210 may receive and process the digital audio signals 206a, 206b to detect wind noise. Upon detecting wind noise, the wind noise detection block 210 may provide a signal 212 to the audio processing block 214. The signal 212 may indicate whether or not there is wind noise and may be used as a control signal or any other signal intended to utilize wind noise detection 210.
a is a block diagram illustrating certain aspects of one possible configuration of a system 401 with a wind noise detector 410. As shown, the wind noise detector 410 of
Microphones 402a, 402b capture sound information, ADCs 408a, 408b convert analog audio signals 404a, 404b to digital audio signals 406a, 406b, and HPFs 416a, 416b filter the digital audio signals 406a, 406b. The HPFs 416a, 416b may be followed by Low Pass Filters (LPFs) 418a, 418b. The LPFs 418a, 418b may be digital signal filters. The LPFs 418a, 418b may be first, second, or higher order IIR filters or FIR filters. The type of LPFs 418a, 418b may be fixed or varied (e.g. Butterworth, Chebyshev, etc.). The LPFs 418a, 418b may be designed to filter out a portion of a digital signal above a cutoff frequency. The LPFs' 418a, 418b cutoff frequencies may be the same as or different from each other's. In one possible configuration, the LPFs' 418a, 418b cutoff frequencies may be set between 800 Hz and 1 kHz. The LPFs' 418a, 418b cutoff frequencies may be fixed, adjustable and/or adaptive. The LPFs 418a, 418b may have a roll-off of 40 dB/decade. The LPFs 418a, 418b may be used for emphasizing the frequency band containing the dominant wind noise content.
The LPFs 418a, 418b may be followed by a normalized cross-correlation block 420 that may estimate the normalized cross-correlation between the filtered microphone signals. The spacing between microphones 402a, 402b on a wireless communication device (e.g. 100) may be as large as 10 cm, and the signals captured by the two microphones 404a, 404b may be delayed with respect to each other. Hence the normalized cross-correlation estimate may be computed at multiple delay values between the two audio signals 404a, 404b. The normalized cross-correlation block may also be computed without additional delay values (e.g. 0 delay assumed). The MAX block 422 may find the maximum absolute normalized cross-correlation among all delays.
At the decision block 424, the maximum normalized cross-correlation may be compared against a threshold 426 to make a decision on wind noise detection. Wind noise may be detected when the maximum normalized cross-correlation is less than the threshold 426. The threshold 426 may be fixed, adaptive, or it 426 may be determined empirically or theoretically. In one implementation, the threshold 426 may be between 0.35 and 0.4. A signal 412 may be provided that indicates whether wind noise was detected and/or that includes wind noise detection information (i.e., it may include more information than simply a Boolean value).
b is a block diagram illustrating certain aspects of one possible implementation of a wind noise detection system 401a. A processor 428 may execute instructions in order to implement the HPFs 416a, 416b, LPFs 418a, 418b, normalized cross-correlation block 420, MAX block 422, and/or decision block 424. The necessary instructions may be loaded from memory (shown below) and executed by the processor to implement the system and described. Alternative hardware and software components may also be used, as will be explained herein.
c is a block diagram illustrating certain aspects of another possible implementation of a wind noise detection system 401b. In the implementation shown in
a is a block diagram illustrating certain aspects of another possible configuration of a wind noise detection system 501. Microphones 502a, 502b capture sound information and ADCs 508a, 508b convert analog audio signals 504a, 504b to digital audio signals 506a, 506b. Band pass filters 530a, 530b may be used instead of the HPFs and LPFs combination, as described in other configurations. The band pass filters 530a, 530b may be used to achieve the filtering as described in relation to the HPFs and LPFs. Band pass filters 530a, 530b may be designed to filter out portions of a digital signal above and below certain cutoff frequencies. The band pass filters' 530a, 530b cutoff frequencies may be the same as or different from each other's. The band pass filters 530a, 530b may be designed for emphasizing the frequency band containing the dominant wind noise content. The normalized cross-correlation block 520 may determine the normalized cross-correlation of the filtered signals at multiple (or without) delays. The MAX block 522 may determine the maximum absolute normalized cross-correlation coefficient, and the decision block 524 may determine whether wind noise is present in the signals by comparing the cross-correlation coefficient with a threshold 526.
b is a block diagram illustrating certain aspects of one possible implementation of a wind noise detection system 501a. A processor 528 may execute instructions in order to implement the band pass filters 530a, 530b, normalized cross-correlation block 520, MAX block 522, and/or decision block 524.
c is a block diagram illustrating certain aspects of another possible implementation of a wind noise detection system 501b. In the implementation shown in
The method described in
It may then be determined 848 whether the normalized cross-correlation estimate is below a threshold value. In other words, the normalized cross-correlation estimate may be compared to a threshold value (e.g. 426 or 526, etc.) and a decision 848 may be made whether the normalized cross-correlation estimate is below the threshold for the one or more block(s). If the normalized cross-correlation estimate is not less than the threshold value, then it may be determined 848 that wind noise was not detected in a block (or blocks), and such determination 848 may be utilized 850. If the normalized cross-correlation estimate is less than the threshold value, then it may be determined 848 that wind noise was detected for a block (or blocks) and such determination may be utilized 850.
The method described in
The normalized cross correlation may be computed 1046 for block n at multiple delay values. The maximum delay value L may be determined by the distance between the transducers (e.g. microphones). It may be defined as the smallest integer that is greater than the ratio shown in equation (1):
where c may be defined as the sound speed in air, d may be defined as the transducer (e.g. microphone) spacing, and fs may be defined as the sampling frequency (e.g. from ADCs 208a, 208b, 308a, 308b, 408a, 408b, or 508a, 508b, etc.). If the microphone spacing is unknown, a maximum value of d=10 cm may be assumed. The multiple delay values may be numbered k and may be within the range of the maximum delay value L (i.e., −L≦k≦L). The estimated normalized cross-correlation may be designated ĉ(n,k), while a smoothed version may be designated
The maximum absolute normalized cross-correlation (e.g. over the delay values k) may be determined 1048 and may be designated {tilde over (c)}(n) (e.g. 422, 522, etc.). This determination may be expressed as follows in equation (2):
The maximum normalized cross-correlation may be compared to a threshold value (e.g. 526 or 426, etc.) and a decision 1052 may be made whether the maximum normalized cross-correlation is below the threshold. If the maximum normalized cross-correlation is not below the threshold, it may be determined 1052 that wind noise was not detected for that block or frame n. If the maximum normalized cross-correlation is below the threshold, then it may be determined 1052 that wind noise was detected for that block or frame n.
The percentage of wind noise detections may be monitored 1056. The wind noise detection may be made more robust by monitoring the detector output over a “window” (e.g. a number P of blocks or frames) and testing if the detector consistently detects wind noise for a predetermined percentage of blocks or frames (e.g. 80%). Once enough detections are observed, the presence of wind noise in the transducer (e.g. microphone) signals may be determined. The “window” may be a sliding window (e.g., one block or frame may be part of multiple windows as the sliding window slides across successive blocks or frames), or a discrete window (e.g., a block or frame is only part of one window).
The above approach may only detect the presence of wind noise in one or all of the microphone signals. It may be necessary to identify 1058 which microphone signals are corrupted by wind noise and which ones are not. The energy for each audio signal may be used to determine 1058 which microphone signal(s) are corrupted by noise. Energy estimates for each audio signal may be calculated at an earlier step (e.g. 1046). For example, an energy estimate for a first microphone signal may be calculated and designated p1(n), with p2(n) similarly calculated and designated for a second microphone signal. At each block n, the maximum of the energy estimates p1(n) and p2(n) may be calculated as shown in equation (3):
pmax(n)=max[p1(n),p2(n)] (3)
Presence of wind noise in individual microphones may be detected by comparing the individual energy estimates p1(n) and p2(n) with the maximum value pmax(n). For example, if p1(n)/pmax(n)>η, then it may be established that the first microphone signal may be corrupted with wind noise. The same type of detection may be done for other microphones. Here η represents the threshold for detection, and 0<η<1 (e.g. η may be 0.1, 0.2, etc.). This approach to detect wind noise in individual microphones may work if the wind noise to acoustic signal ratio is high. If the wind noise on the microphones is low, then this approach may not yield a good detection performance for the individual microphone signals.
The determinations of whether wind noise has been detected (e.g. over a certain percentage of frames 1056) and/or which input(s) is noise corrupted may be utilized 1060.
The method described in
Here, EXn(m) is the expected value of the signal X(m) at block n: nN≦m<(n+1)N. Expected values of the signal random processes may not be known in advance. Hence, estimates of the expected values may be computed using temporal averaging approaches. These approaches yield cross-correlation estimates r(n,k) and energy estimates p1(n) and p2(n) as illustrated in equations (5), (6), and (7) below:
where −L≦k≦L represents the range of delays over which cross-correlation may be computed (as described in equation (1) above). The cross correlation estimate r(n,k) may be computed 1260 accordingly (e.g. using equation (5)). The energy estimates for the first signal p1(n) and the second signal p2(n) may also be computed 1262 accordingly (e.g. using equations (6) and (7)).
The cross-correlation estimates r(n,k) may be smoothed 1264 over time to reduce the variance of the estimates. The energy estimates p1(n) and p2(n) may be smoothed 1266 over time in order to reduce the variance of the estimates. The smoothing operations may be performed according to equations (8), (9), and (10):
The smoothing constants β0, β1, and β2 may all be equal to each other or may be different from each other. The higher the value used for the smoothing constants, the lower the variance of the computed estimates. However, higher values of the smoothing constant may introduce delay in the detector output as the energy estimates are smoothed very slowly. The values of the smoothing constants may be determined empirically. Values in the range 0.9-0.99 are found to provide good results.
An estimate of the normalized cross-correlation value may be computed 1268 from the smoothed cross-correlation estimates and energy estimates using equation (11):
To avoid the square-root operation in the above calculation, the square of the normalized cross-correlation estimate may be used.
The normalized cross-correlation estimate may also be further smoothed 1270 to minimize the variations in the above estimate (see equation (12)):
The higher the value used for the smoothing constant α, the lower the variance of the computed estimate(s). However, high values of the smoothing constant may introduce considerable delay in the response of the detector. Empirically, values in the range 0.7-0.9 have been found to provide good detection results. Upon computing a cross-correlation estimate (whether smoothed or otherwise) at one delay value, k may be incremented 1272 and the process may be repeated for another delay value.
The mobile device 1406 includes a processor 1428. The processor 1428 may be a general purpose single- or multi-chip microprocessor (e.g., an ARM), a special purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. The processor may be referred to as a central processing unit (CPU). Although just a single processor is shown in the mobile device 1406 of
The mobile device 1406 also includes memory 1474. The memory 1474 may be any electronic component capable of storing electronic information. The memory 1474 may be embodied as random access memory (RAM), read only memory (ROM), magnetic disk storage media, optical storage media, flash memory devices in RAM, on-board memory included with the processor, EPROM memory, EEPROM memory, registers, and so forth, including combinations thereof.
Data 1476 and instructions 1478 may be stored in the memory 1474. The instructions 1478 may be executable by the processor 1428 to implement various functions. Executing the instructions 1478 may involve the use of the data 1476 that is stored in the memory 1474. When the processor 1428 executes the instructions 1478, it 1428 may load certain instructions 1478a onto the processor 1428. The loaded instructions 1478a are illustrated.
Some examples of the data 1476 in the memory 1474 include, but are not limited to, data for filters 1416a-1416b (high-pass filter, low-pass filter, band-pass filter), data for the computations as described earlier 1420a-1420g, threshold data 1426h, data from samples of digital audio (not shown), etc. Other types of data 1476 that are relevant to implementing the techniques described herein may also be included in the memory 1474.
Some examples of the instructions 1478 in the memory 1474 include: instructions for implementing one or more high-pass filters 1416; instructions for implementing one or more low-pass filters 1418; instructions for determining the normalized cross-correlations 1420; instructions for determining the maximum 1422; instructions for determining when wind noise was detected 1424; audio processing instructions 1414; as well as other instructions corresponding to the systems and methods described herein. Other instructions 1478 that are relevant to implementing the techniques described herein may also be included in the memory 1474.
The mobile device 1406 may also include a transmitter 1486 and a receiver 1488 to allow transmission and reception of data between the mobile device 1406 and a remote location. The transmitter 1486 and receiver 1488 may be combined into a transceiver 1484. An antenna 1482 may be electrically coupled to the transceiver 1484. The mobile device 1406 may also include (not shown) multiple transmitters, multiple receivers, multiple transceivers and/or multiple antenna.
The mobile device 1406 may also include a speaker 1490, where a user may listen to audio. The mobile device 1406 may also include two or more microphones (1402a, 1402b, . . . , 1402n, etc.).
It may be desirable to place the microphones (e.g. 1402a, 1402b, . . . , 1402n, etc.) close to each other. The present systems and methods try to exploit the fact that the wind noise caused by interaction between microphone and adjacent air flowing are not correlated among different microphones. The correlation may be high when there is no wind noise and low when there is wind noise. An assumption may be made that signals besides the wind noise (e.g. audio, voice, etc.) are correlated in the low frequency range (e.g. 200 Hz to 1000 Hz). The closer the microphones, the higher the correlation due to all other signals may be. Therefore, it may be desirable to place the microphones close to each other to maximize the distinction in correlation (e.g. between 1 cm to 4 cm). If the microphones are placed further apart, the cutoff frequency of the LPFs (e.g. 418a, 418b, etc.) may need to be reduced and the detection thresholds and smoothing parameters may also need to be changed in order to obtain good results.
The various components of the mobile device 1406 may be coupled together by a bus system 1480 which may include a power bus, a control signal bus, and a status signal bus in addition to a data bus. However, for the sake of clarity, the various buses are illustrated in
In the above description, reference numbers have sometimes been used in connection with various terms. Where a term is used in connection with a reference number, this is meant to refer to a specific element that is shown in one or more of the Figures. Where a term is used without a reference number, this is meant to refer generally to the term without limitation to any particular Figure. For example, a reference to “mobile station 1406” refers to the specific mobile station that is shown in
As used herein, the term “determining” encompasses a wide variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing and the like.
The phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on.”
The term “processor” should be interpreted broadly to encompass a general purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, and so forth. Under some circumstances, a “processor” may refer to an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term “processor” may refer to a combination of processing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The term “memory” should be interpreted broadly to encompass any electronic component capable of storing electronic information. The term memory may refer to various types of processor-readable media such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. Memory is said to be in electronic communication with a processor if the processor can read information from and/or write information to the memory. Memory may be integral to a processor and still be said to be in electronic communication with the processor.
The terms “instructions” and “code” should be interpreted broadly to include any type of computer-readable statement(s). For example, the terms “instructions” and “code” may refer to one or more programs, routines, sub-routines, functions, procedures, etc. “Instructions” and “code” may comprise a single computer-readable statement or many computer-readable statements.
The functions described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions on a computer-readable medium. The term “computer-readable medium” refers to any available medium that can be accessed by a computer. By way of example, and not limitation, a computer-readable medium may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of transmission medium.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for proper operation of the method that is being described, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a mobile station and/or base station as applicable. For example, such a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via a storage means (e.g., random access memory (RAM), read only memory (ROM), a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that a mobile station and/or base station can obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.
It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the systems, methods, and apparatus described herein without departing from the scope of the claims.
This application is related to and claims priority from U.S. Provisional Patent Application Ser. No. 61/037,453, filed Mar. 18, 2008, for WIND GUSH DETECTION USING MULTIPLE MICROPHONES, with inventors Dinesh Ramakrishnan and Song Wang, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5511128 | Lindemann | Apr 1996 | A |
6154552 | Koroljow et al. | Nov 2000 | A |
6594367 | Marash et al. | Jul 2003 | B1 |
7099821 | Visser et al. | Aug 2006 | B2 |
7130429 | Dalgaard et al. | Oct 2006 | B1 |
7366662 | Visser et al. | Apr 2008 | B2 |
20020048376 | Ukita | Apr 2002 | A1 |
20030027600 | Krasny et al. | Feb 2003 | A1 |
20030147538 | Elko | Aug 2003 | A1 |
20040161120 | Petersen et al. | Aug 2004 | A1 |
20050047611 | Mao | Mar 2005 | A1 |
20050141731 | Hamalainen | Jun 2005 | A1 |
20050149320 | Kajala et al. | Jul 2005 | A1 |
20060120540 | Luo | Jun 2006 | A1 |
20060153360 | Kellermann et al. | Jul 2006 | A1 |
20060222184 | Buck et al. | Oct 2006 | A1 |
20070088544 | Acero et al. | Apr 2007 | A1 |
20070274534 | Lockhart et al. | Nov 2007 | A1 |
20090089053 | Wang et al. | Apr 2009 | A1 |
20090190774 | Wang et al. | Jul 2009 | A1 |
20090238377 | Ramakrishnan et al. | Sep 2009 | A1 |
20090240495 | Ramakrishnan et al. | Sep 2009 | A1 |
20090304203 | Haykin et al. | Dec 2009 | A1 |
Number | Date | Country |
---|---|---|
WO2004008804 | Jan 2004 | WO |
WO2008037925 | Apr 2008 | WO |
WO2008101198 | Aug 2008 | WO |
Number | Date | Country | |
---|---|---|---|
20090238369 A1 | Sep 2009 | US |
Number | Date | Country | |
---|---|---|---|
61037453 | Mar 2008 | US |