This disclosure relates to microphone arrays and, in particular, to a flexible geographically-distributed differential microphone array (FDMA) and the associated beamformer.
Beamformers (or spatial filters) are used in sensor arrays (e.g., microphone arrays) for directional signal transmission or reception. Each sensor in the sensor array may capture a version of a signal originating from a source signal. Each version of the signal may represent the source signal captured at a particular incident angle with respect to a reference point (e.g., a reference microphone location) at a particular time. The time may be recorded as a time delay with the reference point. The incident angle and the time delay are determined according to the geometry of the array sensor.
The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.
The captured versions of the signal may also include noise components. An array of analog-to-digital converters (ADCs) may convert the captured signals into a digital format (referred to as a digital signal). A processing device may implement a spatial filter (referred to as a beamformer) to calculate certain attributes of the source signal based on the digital signals.
The sensor can be a suitable type of sensors such as, for example, microphone sensors that capture sound signals. A microphone sensor may include a sensing element (e.g., a membrane) responsive to the acoustic pressure generated by sound waves arriving at the sensing element, and an electronic circuit to convert the acoustic pressures received by the sensing element into electronic currents. The microphone sensor can output electronic signals (or analog signals) to downstream processing devices for further processing. Each microphone sensor in a microphone array may receive a respective version of a sound signal emitted from a sound source at a distance from the microphone array. The microphone array may include a number of microphone sensors to capture the sound signals (e.g., speech signals) and convert the sound signals into electronic signals. The electronic signals may be converted by analog-to-digital converters (ADCs) into digital signals which may be further processed by a processing device (e.g., a digital signal processor (DSP)). Compared with a single microphone, the sound signals received at microphone arrays include redundancy that may be explored to calculate an estimate of the sound source to achieve certain objectives such as, for example, noise reduction/speech enhancement, sound source separation, de-reverberation, spatial sound recording, and source localization and tracking. The processed digital signals may be packaged for transmission over communication channels or converted back to analog signals using a digital-to-analog converter (DAC).
The microphone array can be communicatively coupled to a processing device (e.g., a digital signal processor (DSP) or a central processing unit (CPU)) that includes circuits programmed to implement a beamformer to calculate an estimate of the sound source. The sound signal received by any microphone sensor in the microphone array may include a noise component and a delayed component with respect to the sound signal received at a reference microphone sensor. A beamformer is a spatial filter that uses the multiple versions of the sound signal received at the microphone array to identify the sound source according to certain optimization rules.
The sound signal emitted from a sound source can be broadband signals such as, for example, speech and audio signals, typically in the frequency range from 20 Hz to 20 KHz. Some implementations of the beamformers are not effective in dealing with noise components at low frequencies because the beam-widths (i.e., the widths of the main lobes in the frequency domain) associated with the beamformers are inversely proportional to the frequency. To counter the non-uniform frequency response of beamformers, differential microphone arrays (DMAs) have been used to achieve frequency-invariant beam patterns and high directivity factors (DFs), where the DF describes sound intensity with respect to direction angles. DMAs may contain an array of microphone sensors that are responsive to the spatial derivatives of the acoustic pressure field. For example, the outputs of a number of geographically arranged omnidirectional sensors may be combined together to measure the differentials of the acoustic pressure fields among microphone sensors. Compared to additive microphone arrays, DMAs allow for small inter-sensor distance, and may be manufactured in a compact manner.
DMAs can measure the derivatives (at different orders) of the acoustic fields received by the microphones. For example, a first-order DMA, formed using the difference between a pair of adjacent microphones, may measure the first-order derivative of the acoustic pressure fields, and the second-order DMA, formed using the difference between a pair of adjacent first-order DMAs, may measure the second-order derivatives of acoustic pressure field, where the first-order DMA includes at least two microphones, and the second-order DMA includes at least three microphones. Thus, an N-th order DMA may measure the N-th order derivatives of the acoustic pressure fields, where the N-th order DMA includes at least N+1 microphones. The N-th order is referred to as the differential order of the DMA. The directivity factor of a DMA may increase with the order of the DMA.
In some implementations, the DMA may include a number of microphones arranged on a platform with well-defined geometrical shapes (i.e., shapes that can be specified by a geometric function). For example, sensor array can be a linear array where the sensors are arranged approximately along a linear platform (such as a straight line) or a circular array where the sensors are arranged approximately along a circular platform (such as a circle). These geometrical shapes can be specified by geometric functions (e.g., lines, circles, and ellipses). The beamformer may be designed based on the geometric functions.
As the cost microphones and the cost for the hardware to process signals captured by the microphone arrays become more affordable, the DMA are designed into a wide range of intelligent products to provide an interface with human users. Due to the restriction of the product designs, the microphones in a DMA can be placed at random locations rather than at locations according to geometric functions. For example, the microphones can be designed as part of decorative pieces whose locations are chosen based on aesthetic. Thus, the microphones may be distributed on a planar surface without following a well-defined geometric function (e.g., a line, a circle, or an ellipse). Current implementations of DMAs and their associated beamformers are directed to microphones arranged according to certain geometric functions such as lines and circles, thus preventing DMA arrays from being used in a broader range of products.
To overcome the above-identified and other deficiencies, implementations of the present disclosure provide a technical solution that may include beamformers for DMAs including microphones at flexible geographically-distributed locations (referred to as flexible DMA or FDMA). In one implementation, the microphones of the FDMAs may be located at any positions on a planar surface as long as the locations of the microphones are known. The beam pattern associated with a DMA is represented by an approximation including a series of harmonics (e.g., using the Jacobi-Anger expansion). The beamformer for the FDMA is constructed based on the approximate representation. In this way, implementations of the disclosure may achieve beamforming for DMAs including microphones at flexible locations.
As shown in
rm=rm[cos(ψm)sin(ψm)]T,
with m=1, 2, . . . , M, where the superscript T is the transpose operator, rm represents the distance from the mth microphone to the origin, and ψm represents the angular position of the mth microphone. The distance between microphone i and microphone j is then
δij=∥ri−rj∥,
where i, j=1, 2, . . . , M, and ∥⋅∥ is the Euclidean norm. It is assumed that the maximum distance between two microphones is smaller than the wavelength (λ) of the sound wave. Assuming that the source signal is a plane wave from a far-field, propagating in an anechoic acoustic environment at the speed of the sound (c=340 m/s), and impinges on FDMA 200. The incident direction of the source signal to FDMA 200 is the azimuthal angle θs. The time delay between the mth microphone and the reference point (O) can be written as:
where m=1, 2, . . . , M.
FDMA 200 may be associated with a steering vector that characterizes FDMA 200. The steering vector may represent the relative phase shifts for the incident far-field waveform across the microphones in FDMA 200. Thus, the steering vector is the response of FDMA 200 to an impulse input. With the model of FDMA 200 as described above, the steering vector can be defined as:
d(ω,θs)=[ejωτ
where the superscript T is the transpose operator, j is the imaginary unit with j2=−1, ω=2πf is the angular frequency, and f>0 is the temporal frequency.
Referring to
In one implementation, the processing device 106 may include an input interface (not shown) to receive the digital signals yk(t), and as shown in
In one implementation, the pre-processing module 108 may perform STFT on the input yk(t) associated with microphone mk of FDMA 102 and calculate the corresponding frequency domain representation Yk(ω), wherein ω (ω=2πf) represents the angular frequency domain, k=1, . . . , M. In one implementation, FDMA beamformer 110 may receive frequency representations Yk(ω) of the input signals yk(t) and calculate an estimate Z(ω) in the frequency domain for the sound source (s(t)). In one implementation, the frequency domain may be divided into a number (L) of frequency sub-bands, and the FDMA beamformer 110 may calculate the estimate Z(ω) for each of the frequency sub-bands.
The processing device 106 may also include a post-processor 112 that may convert the estimate Z(ω) for each of the frequency sub-bands back into the time domain to provide the estimate sound source represented as x(t). The estimated sound source x(t) may be determined with respect to the source signal received at a reference point in FDMA 102.
Implementations of the present disclosure may include different types of FDMA beamformers 110 that can be used to calculate the estimated sound source x(t) using the acoustic signals captured by FDMA 102. The performance of the different types of beamformers may be measured in terms of signal-to-noise ratio (SNR) gain and a directivity factor (DF) measurement. The SNR gain is defined as the signal-to-noise ratio at the output (oSNR) of FDMA 102 compared to the signal-to-noise ratio at the input (iSNR) of FDMA 102. When each of microphones mk is associated with white noise including substantially identical temporal and spatial statistical characteristics (e.g., substantially the same variance), the SNR gain is referred to as the white noise gain (WNG). This white noise model may represent the noise generated by the hardware elements in the microphone itself. Environmental noise (e.g., ambient noise) may be represented by a diffuse noise model. In this scenario, the coherence between the noise at a first microphone and the noise at a second microphone is a function of the distance between these two microphones.
The SNR gain for the diffuse noise model is referred to as the directivity factor (DF) associated with FDMA 102. The DF quantifies the ability of the beamformer in suppressing spatial noise from directions other than the look direction. The DF associated with FDMA 102 may be written as:
where h(ω)=[H1(ω) H2(ω) . . . Hm(ω)]T is the global filter for the beamformer associated with FDMA 102, and the superscript H represents the conjugate-transpose operator, and [H1(ω) H1(ω) . . . HM(ω)]T are the spatial filter of M microphones, and where Γd(ω) is the pseudo-coherence matrix of the noise signal in a diffuse (spherically isotropic) noise field, and the (i, j)th element of Γd(ω) is
Additionally, FDMA 102 may be associated with a beampattern (or directivity pattern) that reflects the sensitivity of the beamformer to a plane wave impinging on FDMA 102 from a certain angular direction θ. The beampattern for a plane wave impinging from an angle θ for a beamformer represented by a filter h(ω) associated with FDMA 102 can be defined as
where h(ω)=[H1(ω) H2(ω) . . . Hm(ω)]T is the global filter for the beamformer associated with FDMA 102, and the superscript H represents the conjugate-transpose operator, and [H1(ω) H1(ω) . . . HM(ω)]T are the spatial filter of M microphones.
The objective of beamforming is to parameterize the global filter h(ω) so that the beam pattern B[h(ω),θ] substantially matches a target beampattern. The target beampattern is the one when the performance of the DMA is at the best in terms of the DF and WNG. For example, in a linear DMA, the best performance may be achieved when the plane sound wave is at the endfire direction or parallel to the main axis (i.e., θ=0) of the linear platform. For FDMA 102 where microphones are distributed at arbitrary locations on a plane, the main beam is no long aligned with the main axis. Instead, for FDMA 102, the objective is to steer the beampattern to the angle θs which is the incident angle of the sound signal. The corresponding target frequency-invariant beampattern can be written as B(aN, θ−θs)=Σn=0NaN,n cos(n(θ−θs)), where aN,n are the real coefficients that determines the different directivity patterns of the Nth-order FDMA 102. The B(aN, θ−θs) may be rewritten as:
B(b2N,θ−θs)=Σn=−NNb2N,nejn(θ−θ
where b2N,0=aN,0,b2N,i=½aN,i, i=±1, ±2, . . . , ±N,
Υ(θs)=diag(ejNθ
is a (2N+1)×(2N+1) diagonal matrix and
b2N=[b2N,−N . . . b2N,0 . . . b2N,N]T,
Pe(θ)=[e−jNθ. . . 1 . . . ejNθ]T,
c2n(θs)=Υ(θs)b2N=[c2N,−N(θs) . . . c2N,0(θs) . . . c2N,N(θs)]T,
are vectors of length 2N+1, respectively. The main beam points in the direction of θs and B(b2N,θ−θs) is symmetric with respect to the axis θs↔θs+π.
As such, the designed beampattern B[h(ω),θ] after applying the beamforming filter h(ω) should substantially match the target beampattern B(b2N,θ−θs). To achieve this objective,
may be approximated using an Nth order Jacobi-Anger expansion, i.e.,
where Jn(x) is the nth-order Bessel function of the first kind. Using the above Jacobi-Anger expansion, the beampattern for the beamformer may be written as:
is a vector of length M. Based on the representation of Jacobi-Anger expansion, it follows that
is a (2N+1)×M matrix.
The beamforming filter h(ω) can be derived using a minimum-norm method:
minh(ω)hT(ω)h(ω), subject to Ψ(ω)h(ω)=Υ*(θs)b2N,
whose solution can be
h(ω)=ΨH(ω)[Ψ(ω)ΨH(ω)]−1Υ*(θs)b2N.
Thus, a beamforming filter may be achieved for FDMA 102 what includes geographically-distributed microphones at flexible locations. The locations of microphones of FDMA 102 are not limited to certain geometric functions such as, for example, lines or circles.
Experiments have shown that FDMA beamformers designed as described above can generate beampatterns that substantially match the target beampattern.
The target (or desired) beampattern can be a second-order hypercardioid whose coefficients are
For the microphone arrays 302, 304, 306, implementation may construct minimum-norm filters with the beampattern constraints as described above. The beampatterns for the FDMAs are shown in 308, 310, 312. As shown, implementations of the disclosure may successfully form the second-order hypercardioid for all of the three microphone arrangements including microphones at random locations. Further, the beampatterns are substantially frequency-invariant.
For simplicity of explanation, methods are depicted and described as a series of acts. However, acts in accordance with this disclosure can occur in various orders and/or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts may be required to implement the methods in accordance with the disclosed subject matter. In addition, the methods could alternatively be represented as a series of interrelated states via a state diagram or events. Additionally, it should be appreciated that the methods disclosed in this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methods to computing devices. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage media. In one implementation, the methods may be performed by the beamformer 110 executed on the processing device 106 as shown in
Referring to
At 404, the processing device may receive the electronic signals from the FDMA in response to the sound. The microphones in the FDMA may be located on a substantial plane and include a total number (M) of microphones. The locations of these microphones are specified according to a coordinate system.
At 406, the processing device may execute a minimum-norm beamformer to calculate an estimate of the sound source based on the plurality of electronic signals, in which the minimum-norm beamformer is determined subject to a constraint that an approximation of a beampattern associated with the differential microphone array substantially matches a target beampattern.
The exemplary computer system 500 includes a processing device (processor) 502, a main memory 504 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 506 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 518, which communicate with each other via a bus 508.
Processor 502 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processor 502 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processor 502 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processor 502 is configured to execute instructions 526 for performing the operations and steps discussed herein.
The computer system 500 may further include a network interface device 522. The computer system 500 also may include a video display unit 510 (e.g., a liquid crystal display (LCD), a cathode ray tube (CRT), or a touch screen), an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), and a signal generation device 520 (e.g., a speaker).
The data storage device 518 may include a computer-readable storage medium 524 on which is stored one or more sets of instructions 526 (e.g., software) embodying any one or more of the methodologies or functions described herein (e.g., processing device 102). The instructions 526 may also reside, completely or at least partially, within the main memory 504 and/or within the processor 502 during execution thereof by the computer system 500, the main memory 504 and the processor 502 also constituting computer-readable storage media. The instructions 526 may further be transmitted or received over a network 574 via the network interface device 522.
While the computer-readable storage medium 524 is shown in an exemplary implementation to be a single medium, the term “computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
In the foregoing description, numerous details are set forth. It will be apparent, however, to one of ordinary skill in the art having the benefit of this disclosure, that the present disclosure may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present disclosure.
Some portions of the detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “segmenting”, “analyzing”, “determining”, “enabling”, “identifying,” “modifying” or the like, refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The disclosure also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
The words “example” or “exemplary” are used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example’ or “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the words “example” or “exemplary” is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X includes A or B” is intended to mean any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Moreover, use of the term “an embodiment” or “one embodiment” or “an implementation” or “one implementation” throughout is not intended to mean the same embodiment or implementation unless described as such.
Reference throughout this specification to “one implementation” or “an implementation” means that a particular feature, structure, or characteristic described in connection with the implementation is included in at least one implementation. Thus, the appearances of the phrase “in one implementation” or “in an implementation” in various places throughout this specification are not necessarily all referring to the same implementation. In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.”
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other implementations will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2018/095756 | 7/16/2018 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/014812 | 1/23/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5742693 | Elko | Apr 1998 | A |
9913030 | Bernardini | Mar 2018 | B2 |
9930448 | Chen et al. | Mar 2018 | B1 |
20120327115 | Chhetri et al. | Dec 2012 | A1 |
20150163577 | Benesty et al. | Jun 2015 | A1 |
20170353790 | Kim et al. | Dec 2017 | A1 |
20180226086 | Huang | Aug 2018 | A1 |
Number | Date | Country |
---|---|---|
101852846 | Oct 2010 | CN |
103329567 | Sep 2013 | CN |
2018087590 | May 2018 | WO |
Entry |
---|
International Search Report and Written Opinion dated Apr. 18, 2019 received in PCT/CN2018/095756, pp. 7. |
Number | Date | Country | |
---|---|---|---|
20210185436 A1 | Jun 2021 | US |