This disclosure generally relates to active noise reduction (ANR) devices having multiple feedforward microphones.
Acoustic devices such as headphones can include active noise reduction (ANR) capabilities that block and constructively cancel at least portions of ambient noise from reaching the ear of a user. Therefore, ANR devices create an acoustic isolation effect, which isolates the user, at least in part, from the environment. SUMMARY
In general, in one aspect, this document features a method that includes receiving a first input signal representing audio captured by a first sensor disposed in a signal path of an active noise reduction (ANR) device, and receiving a second input signal representing audio captured by a second sensor disposed in the signal path of the ANR device. The method also includes processing, by at least one compensator, the first input signal and the second input signal to generate a drive signal for an acoustic transducer of the ANR device. A gain applied to the signal path is at least 3 dB less relative to an ANR signal path having a single sensor.
In another aspect, this document features an active noise reduction (ANR) device that includes a first sensor disposed in a signal path of the device and configured to generate a first audio input signal. The ANR device also includes a second sensor disposed in the signal path of the ANR device and configured to generate a second audio input signal, and at least one compensator configured to receive and process the first audio input signal and the second audio input signal to generate a drive signal for an acoustic transducer of the ANR device. A gain of the signal path is at least 3 dB less relative to an ANR signal path having a single sensor.
In another aspect, this document features one or more machine-readable storage devices having encoded thereon computer readable instructions for causing one or more processing devices to perform various operations. The operations include receiving a first input signal representing audio captured by a first sensor disposed in a signal path of an active noise reduction (ANR) device, and receiving a second input signal representing audio captured by a second sensor disposed in the signal path of the ANR device. The operations also include processing the first input signal and the second input signal to generate a drive signal for an acoustic transducer of the ANR device. A gain of the signal path is at least 3 dB less relative to an ANR signal path having a single sensor.
Implementations of the above aspects can include one or more of the following features.
Processing the first input signal and the second input signal to generate the drive signal can include combining the first input signal and the second input signal to generate a combined input signal, applying, using an amplifier, a gain to the combined input signal, and filtering, by the at least one compensator, an output of the amplifier to generate the drive signal for the acoustic transducer. The amplifier can be disposed as a part of the at least one compensator. Processing the first input signal and the second input signal to generate the drive signal can include applying, using a first amplifier, a first gain to the first input signal to generate a first amplified input signal, and filtering, by a first compensator, the first amplified input signal to generate a first processed signal for the acoustic transducer of the ANR device. The processing also includes applying, using a second amplifier, a second gain to the second input signal to generate a second amplified input signal, and filtering, by a second compensator, the second input signal to generate a second processed signal for the acoustic transducer of the ANR device. The processing further includes combining the first processed signal and the second processed signal to generate the drive signal for the acoustic transducer. The first compensator can apply one or more filters to the first amplified input signal and the second compensator can apply one or more filters to the second amplified input signal. The one or more filters applied to the second amplified signal can be different from the one or more filters applied to the first amplified signal. Processing the first input signal and the second input signal to generate the drive signal can include processing, by a first compensator, the first input signal to generate a first processed signal for the acoustic transducer of the ANR device, processing, by a second compensator, the second input signal to generate a second processed signal for the acoustic transducer of the ANR device, and combining the first processed signal and the second processed signal to generate the drive signal for the acoustic transducer. The first compensator can apply a first gain and use one or more filters to generate the first processed signal. The second compensator can apply a second gain and use one or more filters to generate the second processed signal. Processing the first input signal and the second input signal to generate the drive signal can include applying, using a first amplifier, a first gain to the first input signal, applying, using a second amplifier, a second gain to the second input signal, combining the first input signal and the second input signal to generate a combined input signal, and filtering, by the at least one compensator, the combined input signal to generate the drive signal for the acoustic transducer. The first and second amplifiers can be part of the at least one compensator.
Two or more of the features described in this disclosure, including those described in this summary section, may be combined to form implementations not specifically described herein. The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
This document describes technology that uses multiple feedforward microphones in an Active Noise Reduction (ANR) system to improve ANR performance, noise performance, and reduce the likelihood of an unstable condition. When an ANR system is deployed, for example, in noise canceling headphones, certain unstable conditions can cause the headphones to generate an acoustic artifact (e.g., a loud noise) that is uncomfortable for the user. By providing multiple feedforward microphones in the ANR system, the technology described herein allows for the gain through each of the feedforward signal paths to be reduced relative to the situation where a single feedforward microphone is used. Because the gain through an individual signal path is lower, there is more headroom in the system, which results in fewer opportunities for clipping, and there is more margin to deal with an instability that may arise, for example, due to coupling between one of the feedforward microphones and the transducer. In addition, the individual gains of the multiple feedforward microphones can be assigned based on their likelihood of coupling, such that the total target gain is not compromised as compared to a single microphone case. For example, if one of the microphones is at a location where the microphone is susceptible to coupling to the driver (and by extension, susceptible to instability), a lower gain can be applied to that microphone to reduce the likelihood of coupling. However, the gain for another microphone can be adjusted accordingly such that the target total gain of the feedforward microphones is not reduced. In one example, a target gain of unity can be allocated between two feedforward paths such that a first microphone that is more susceptible to coupling has a gain of 0.25, while a second microphone that is less susceptible to coupling has a gain of 0.75. Thus, while the gains of the individual signal paths are reduced as compared to unity (e.g., to allow the ANR system to tolerate non-ideal microphone locations, such as microphone locations that are closer to the periphery of the ear-cup or near a port, where there may be greater coupling between the microphone and the transducer), the total feedforward gain is not compromised due a weighted distribution of the gain between the multiple feedforward paths. In some implementations, the weighting can also be done on a frequency-by-frequency basis such that the distributions of gains among two or more feedforward paths are different for different frequencies (or frequency ranges).
Active Noise Reduction (ANR) systems can be deployed in a wide array of acoustic devices to cancel or reduce unwanted or unpleasant noise. For example, ANR headphones can provide potentially immersive listening experiences by reducing the effects of ambient noise and sounds. The term headphone, as used herein, includes various types of such personal acoustic devices such as in-ear, around-ear or over-the-ear headphones, earphones, earbuds, and hearing aids. ANR systems can also be used in automotive or other transportation systems (e.g., in cars, trucks, buses, aircrafts, boats or other vehicles) to cancel or attenuate unwanted noise produced by, for example, mechanical vibrations or engine harmonics.
In some cases, an ANR system can include an electroacoustic or electromechanical system that can be configured to cancel at least some of the unwanted noise (often referred to as “primary noise”) based on the principle of superposition. For example, the ANR system can identify an amplitude and phase of the primary noise and produce another signal (often referred to as an “anti-noise signal”) of approximately equal amplitude and opposite phase. The anti-noise signal can then be combined with the primary noise such that both are substantially canceled at a desired location. The term substantially canceled, as used herein, may include reducing the “canceled” noise to a specified level or to within an acceptable tolerance, and does not require complete cancellation of all noise. ANR systems can be used in attenuating a wide range of noise signals, including, for example, broadband noise and/or low-frequency noise that may not be easily attenuated using passive noise control systems.
The ANR system 100 can be configured to process the signals detected by the feedforward sensor 108 and/or the feedback sensor 110 to produce an anti-noise signal that is provided to the transducer 112. The ANR system 100 can be of various types. In some implementations, the ANR system 100 is based on feedforward noise cancellation, in which the primary noise is sensed by the feedforward sensor 108 before the noise reaches a secondary source such as the transducer 112. In some implementations, the ANR system 100 can be based on feedback noise cancellation, where the ANR system 100 cancels the primary noise based on the residual noise detected by the feedback sensor 110 and without the benefit of the feedforward sensor 108. In some implementations, both feedforward and feedback noise cancellation are used. The ANR system 100 can be configured to control noise in various frequency bands. In some implementations, the ANR system 100 can be configured to control broadband noise such as white noise. In some implementations, the ANR system 100 can be configured to control narrow band noise such as harmonic noise from a vehicle engine.
In some implementations, the ANR system 100 can include a configurable digital signal processor (DSP) and other circuitry for implementing various signal flow topologies and filter configurations. Examples of such DSPs are described in U.S. Pat. Nos. 8,073,150 and 8,073,151, which are incorporated herein by reference in their entirety. The various signal flow topologies can be implemented in the ANR system 100 to enable functionalities such as audio equalization, feedback noise cancellation, and feedforward noise cancellation, among others. For example, as shown in
In some implementations, the headphone 102 can include a feature that may be referred to as “talk-through” or a “hear-through mode.” In such a mode, the feedforward sensor 108 or other detection means can be used to detect external sounds that the user might want to hear, and the ANR system 100 can be configured to pass such sounds through to be reproduced by the transducer 112. In some cases, the sensor used for the talk-through feature can be a sensor, such as a microphone, that is separate from the feedforward sensor 108. In some implementations, signals captured by multiple sensors can be used (e.g., using a beamforming process) to focus, for example, on the user's voice or another source of ambient sound. In some implementations, the headphone 102 can allow for multi-mode operations including a hear-through mode in which the ANR functionality may be switched off or at least reduced, over at least a range of frequencies (e.g., the voice band), to allow relatively wide-band ambient sounds to reach the user. In some implementations, the ANR system 100 can also be used to shape a frequency response of the signals passing through the headphones. For instance, the feedforward compensator 116 and/or the feedback compensator 120 may be used to change an acoustic experience of having an earbud blocking the ear canal to one where ambient sounds (e.g., the user's own voice) sound more natural to the user.
In some implementations, the ANR system 100 can allow a user to control the amount of ambient noise passed through the device while maintaining ANR functionalities, such as described in U.S. Pat. No. 10,096,313 which is incorporated herein by reference in its entirety. For example, to allow for intermediate target insertion gains between 0 and 1 and enable a user to control the amount of ambient noise passed through the device, the feedforward compensator 116 can include an ANR filter 302 and a pass-through filter 304 disposed in parallel, with the gain of the pass-through filter being adjustable by a factor C, as shown in
In implementations where the headphone 102 includes a hear-through mode, some conditions can lead to the onset of an unstable condition. For example, if the output of the transducer 112 gets fed back to the feedforward sensor 108, and the ANR system 100 passes the signal back to the transducer 112, a fast-deteriorating unstable condition could occur, resulting in an objectionable sound emanating from the transducer 112. This condition may be demonstrated, for example, by cupping a hand around a headphone to facilitate a feedback path between the transducer 112 and the feedforward sensor 108. Such a feedback path may be established during use of the headphone, for example, if the user puts on a headgear (e.g., a head sock or winter hat) over the headphone 102.
In some implementations, the unstable condition can also occur even where the headphone 102 does not include a hear-through mode. For example, the unstable condition could occur due to changes in the transfer function of a secondary path (e.g., an acoustic path between the feedback sensor 110 and the transducer 112) of the ANR system 100. This can happen, for example, if the acoustic path between the transducer 112 and the feedback sensor 110 is changed in size or shape. This condition may be demonstrated, for example, by blocking the opening (e.g., using a finger or palm) through which sound emanates out of the headphone 102. In the case of a headphone having a nozzle with an acoustic passageway that acoustically couples a front cavity of an acoustic transducer to a user's ear canal, this condition may be referred to as a blocked-nozzle condition. This condition can result in practice, for example, during placement/removal of the headphone in the ear. This effect may be particularly observable in smaller headphones (e.g., in-ear earphones) or in-ear hearing aids, where the secondary path can change if the earphone or hearing-aid is moved while being worn. For example, moving an in-ear earphone or hearing aid can cause the volume of air in the corresponding secondary path to change, thereby causing the ANR system to be rendered unstable. In some cases, pressure fluctuations in the ambient air can also cause the ANR system to go unstable. For example, when the door or window of a vehicle (e.g., a bus door) is closed, an accompanying pressure change may cause an ANR system to become unstable. Another example of pressure fluctuations that can result in an unstable condition is a significant change in the ambient pressure of air relative to normal atmospheric pressures at sea level.
Unless an unstable condition is quickly detected and addressed, the unstable condition may cause the transducer 112 to produce acoustic artifacts (e.g., a loud audible noise), which may be uncomfortable for the wearer. The technology described herein uses multiple feedforward sensors, such as microphones, to improve ANR performance and reduce the likelihood of unstable conditions. In some implementations, when multiple feedforward sensors are used in the ANR system 100, the gain through each of the feedforward paths can be lower as compared to the case where a single feedforward sensor is used. Accordingly, the compensators, filters, and other circuitry in any individual signal path can have a lower overall gain than in the situation where a single feedforward sensor is used. Further, because the gain of any individual signal path is lower than compared to the situation where a single sensor is used, there is more headroom in the system, which results in fewer opportunities for clipping, and provides more margin to prevent instabilities, for example, due to coupling between the feedforward sensors and the transducer. The term headroom, as used herein, refers to the difference between the signal-handling capabilities of an electrical component and the maximum level of the signal in the signal path, such as the feedforward signal path. The reduced gain applied to any individual signal path may also allow the ANR system to better tolerate non-ideal sensor locations, such as sensor locations that are closer to the periphery of the ear-cup 104 where the chances of coupling between the sensor and the transducer may be higher as compared to a sensor located at a distance farther away from the periphery of the ear-cup 104.
The ambient noise signal produced by each of the feedforward sensors 402a, 402b, . . . , 402N in the ANR system 400 may be combined using a combination circuit 404, such as a summing circuit. It should be understood that the combination circuit 404 can perform summation in either the digital or analog domain, and the location of the combination circuit 404 can vary along the feedforward signal path 114. While not shown, it should also be understood that the feedforward signal path 114 may include additional circuitry such as an amplifier and analog-to-digital converter. The gain of the combined signal may be adjusted by a gain factor Gff using a variable gain amplifier (VGA) 406 or other amplification circuitry disposed in the feedforward path 114. The gain factor Gff can be a reduced gain factor relative to a gain factor applied in an ANR system having a single feedforward sensor, as described in detail below. The feedforward compensator 116 can process the combined ambient noise signal to produce, for example, an anti-noise signal. In some implementations, the feedforward compensator 116 can include an ANR signal flow path disposed in parallel with a pass-through signal flow path to provide at least a portion of the ambient noise to a user, as described with reference to
In some implementations, the gain factor Gff can be selected by the ANR system 400 based on the number of the feedforward sensors 402a, 402b, 402N present in the system. For example, if the ANR system 400 includes two feedforward sensors, the gain factor Gff can be reduced by up to 50%, which in one example could be about 6 decibels (dB), relative to an ANR system having a single feedforward sensor. In other cases, if the ANR system 400 includes three feedforward sensors, the gain factor Gff can be reduced by up to 67%, which in one example could be about 9-10 dB, relative to an ANR system having a single feedforward sensor. In still other cases, if the ANR system 400 includes four feedforward sensors, the gain factor Gff can be reduced by up to 75%, which in one example could be about 12 dB relative to an ANR system having a single feedforward sensor.
In some cases, the ANR system 400 may adjust the gain factor Gff based on the intended application of the system, requirements of other parts of the system, or other practical considerations. For example, if the ANR system 400 includes two feedforward sensors, the gain factor Gff can be reduced by up to 50% relative to an ANR system having a single feedforward sensor, as described above. However, the ANR system 400 may reduce the gain by some amount less than 50% relative to an ANR system having a single feedforward sensor to accommodate, for example, signal-level requirements of the feedforward compensator 116.
The lower overall gain reduces the chance that coupling between, for example, the transducer 112 and one or more of the feedforward sensors 402a, 402b, . . . , 402N will lead to an instability. This in turn allows for non-ideal placement of one or more of the feedforward sensors 402a, 402b, . . . , 402N (e.g., near a location of acoustic leakage that could lead to coupling with the driver, such as near the periphery of the ear-cup or near an acoustic port). Further, combining the ambient noise signals detected by the multiple feedforward sensors may produce a combined ambient noise signal that has a higher signal to noise ratio than an ambient noise signal from a single sensor. For example, when the random noise generated by each feedforward path is uncorrelated to every other feedforward path, the overall combined noise can be reduced by a certain amount (e.g., 3 dB) per pair combination while obtaining a higher amount of total signal (e.g., 6 dB) per pair combination. This increases the performance of the ANR system 400 by, for example, reducing the noise floor and providing a more reliable signal for processing to generate an anti-noise signal.
The signal output by each of the VGAs 502a, 502b, . . . , 502N may be combined using the combination circuit 404 (e.g., a circuit including one or more adders). It should be understood that the combination circuit 404 can perform summation in either the digital or analog domain, and the location of the combination circuit 404 can vary along the feedforward signal path 114. While not shown, it should also be understood that the feedforward signal path 114 may include additional circuitry such as an amplifier and analog-to-digital converter. The feedforward compensator 116 can process the combined signal to produce, for example, an anti-noise signal. In some implementations, the feedforward compensator 116 can include an ANR signal flow path disposed in parallel with a pass-through signal flow path to provide at least a portion of the ambient noise to a user, as described with reference to
The individual gain applied by each of the VGAs 502a, 502b, . . . , 502N, may be reduced relative to the gain applied in an ANR system having a single feedforward sensor. This in turn reduces the likelihood of an unstable condition in the system and increases ANR performance. The amount by which the gain is reduced may be determined by the ANR system 500 based on, for example, the number of feedforward sensors present in the system (as described with reference to
Referring to
In some implementations, each compensator 602a, 602b, . . . , 602N can include the corresponding VGA 502a, 502b, . . . , 502N. Each compensator 602a, 602b, . . . , 602N may include one or more filters, controllers, or other circuitry to process the signal produced by the corresponding feedforward sensor to generate, for example, an anti-noise signal. In some implementations, each compensator 602a, 602b, . . . , 602N can include an ANR signal flow path disposed in parallel with a pass-through signal flow path to provide at least a portion of the ambient noise to a user, as described with reference to
Operations of the process 700 further include processing, by at least one compensator and/or variable gain amplifier, the first input signal and the second input signal to generate a drive signal for an acoustic transducer of the ANR device (706). In some implementations, the at least one compensator can include a feedback compensator and/or a feedforward compensator, such as described with reference to
In some implementations, the processing in step 706 includes combining the first input signal and the second input signal to generate a combined input signal, applying a gain to the combined input signal using an amplifier, and processing the output of the amplifier using the at least one compensator to generate the drive signal for the acoustic transducer, such as described with reference to
While
The memory 820 stores information within the system 800. In one implementation, the memory 820 is a computer-readable medium. In one implementation, the memory 820 is a volatile memory unit. In another implementation, the memory 820 is a non-volatile memory unit.
The storage device 830 is capable of providing mass storage for the system 800. In one implementation, the storage device 830 is a computer-readable medium. In various different implementations, the storage device 830 can include, for example, a hard disk device, an optical disk device, a storage device that is shared over a network by multiple computing devices (e.g., a cloud storage device), or some other large capacity storage device.
The input/output device 840 provides input/output operations for the system 800. In one implementation, the input/output device 840 can include one or more network interface devices, e.g., an Ethernet card, a serial communication device, e.g., and RS-232 port, and/or a wireless interface device, e.g., and 802.11 card. In another implementation, the input/output device can include driver devices configured to receive input data and send output data to other input/output devices, e.g., keyboard, printer and display devices 860, and acoustic transducers/speakers 870.
Although an example processing system has been described in
This specification uses the term “configured” in connection with systems and computer program components. For a system of one or more computers to be configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions. For one or more computer programs to be configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform the operations or actions.
Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also be, or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program, which may also be referred to or described as a program, software, a software application, an app, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub programs, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.
The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers.
To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a light emitting diode (LED) or liquid crystal display (LCD) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's device in response to requests received from the web browser. Also, a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return.
Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits data, e.g., an HTML page, to a user device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the device, which acts as a client. Data generated at the user device, e.g., a result of the user interaction, can be received at the server from the device.
Other examples and applications not specifically described herein are also within the scope of the following claims. Elements of different implementations described herein may be combined to form other examples not specifically set forth above. Elements may be left out of the structures described herein without adversely affecting their operation. Furthermore, various separate elements may be combined into one or more individual elements to perform the functions described herein.