BEAMFORMING METHOD BASED ON ARRAYS OF MICROPHONES AND CORRESPONDING APPARATUS
20170374454 · 2017-12-28
Inventors
Cpc classification
H04R2430/21
ELECTRICITY
International classification
Abstract
A beamforming method employs a plurality of microphones arranged in an array with respect to a reference point. The method includes acquiring microphone signals from the microphones and combining the microphone signals (x1 . . . xM) to obtain Virtual Microphones, combining the microphone signals to obtain a pair of directional Virtual Microphones having respective signals determining respective patterns of radiation with a same origin corresponding to the reference point and rotated at different pattern direction angles, defining a separation angle between them, obtaining a sum radiation signal of a sum Virtual Microphone with a sum radiation pattern, associating a respective weight to the signals of the pair of directional Virtual Microphones, obtaining respective weighted signals of radiation and summing the weighted signals, computing respective weights as a function of a determined pattern direction angle of the pattern of radiation of the pair of directional Virtual Microphones and of the separation angle.
Claims
1. A beamforming method employs a plurality of microphones arranged in an array or in arrays with respect to a reference point, the method comprises: acquiring microphone signals issued by said plurality of microphones and combining said microphone signals to obtain Virtual Microphones; combining said microphone signals to obtain at least a pair of directional Virtual Microphones having respective signals determining respective patterns of radiation with a same origin corresponding to said reference point of the array and rotated at different pattern direction angles, defining a separation angle between them so that at least a circular sector is defined between said different pattern direction angles, said separation angle between the at least a pair of Virtual Microphones being lower than π/2; and obtaining a sum radiation signal of a sum Virtual Microphone, to which is associated a respective sum radiation pattern, associating a respective weight to the signals of said pair of directional Virtual Microphones, obtaining respective weighted signals of radiation and summing said weighted signals, computing said respective weights as a function of a determined pattern direction angle of the pattern of radiation (Γ.sub.V1, Γ.sub.V2) of said pair of directional Virtual Microphones and of the separation angle so that a main lobe of said sum radiation pattern is steered within said circular sector to point in the direction of said determined pattern direction angle.
2. The method according to claim 1, further comprising arranging said array as a Differential Microphone Array.
3. The method according to claim 2, wherein arranging said array as a Differential Microphone Array comprises arranging said Differential Microphone Array as a Uniform Linear Array or a Uniform Circular Array.
4. The method according to claim 3, further comprising steering in said circular sector the pattern direction angle of said sum radiation pattern to obtain a sound source location estimate; and obtaining said sound source location estimate by selecting the direction on which the power of the signal of said sum Virtual Microphone is maximized.
5. The method according to claim 4, further comprising, after combining said microphone signals to obtain Virtual Microphones, ranking the power of the signals of said Virtual Microphones, selecting a main circular sector defined by two adjacent virtual microphones on the basis of said ranking, and performing a continuous steering of the direction angles of said sum Virtual Microphone in said selected main circular sector to find said sound source location estimate.
6. The method according to claim 5, wherein said ranking of the power signals of said Virtual Microphones includes obtaining a ranking list as a function of power of the virtual microphones starting from a virtual microphone (Vk) which maximizes the power; and wherein selecting the main circular sector includes selecting said virtual microphone which maximizes the power and, among the virtual microphones adjacent to said microphone, selecting the virtual microphone associated with the maximum power, defining the main circular sector as the sector comprised between said virtual microphone which maximizes the power and said adjacent microphone.
7. The method according to claim 6, further comprising calculating said power as the Teager energy of the signal of the Virtual Microphone measured over a given time-frame of a given number of samples.
8. The method according to claim 7, wherein performing the continuous steering of the direction angles of said sum Virtual Microphone in said selected main circular sector to find said sound source location estimate includes evaluating the power of the signal of the sum pattern in the desired direction, then evaluating if the evaluated power is the maximum energy in the main circular sector, in the negative selecting a new desired direction by said operation of modifying the weights to steer the sum pattern.
9. The method according to claim 8, wherein the method further comprises evaluating the power of the signal and evaluating if the evaluated power is the maximum power iteratively, the number of iterations being controlled by a selectable resolution parameter.
10. A beamforming apparatus, comprising: a plurality of microphones arranged in an array or in arrays, each microphone configured to generate a microphone signal; a processing module configured to receive the microphone signals from said plurality of microphones and to combine said microphone signals to obtain Virtual Microphones (V1 . . . VN), wherein said module is further configured to: combine said microphone signals to obtain at least a pair of directional Virtual Microphones having respective patterns of radiation with a same origin corresponding to a reference point of the array and rotated at different pattern direction angles defining a separation angle between them so that at least a circular sector is defined between said different pattern direction angles, said separation angle between the at least a pair of Virtual Microphones being less than π/2; and obtain a sum radiation signal of a sum Virtual Microphone, to which is associated a respective sum radiation pattern, associate a respective weight to the signals of said pair of directional Virtual Microphones, obtain respective weighted signals of radiation and sum said weighted signals, compute said respective weights as a function of a determined pattern direction angle of the pattern of radiation of said pair of directional Virtual Microphones and of the separation angle so that a main lobe of said sum radiation pattern is steered within said circular sector to point in the direction of said determined pattern direction angle.
11. The beamforming apparatus according to claim 10, wherein the processing module includes in a source localization apparatus configured to: steer in said circular sector the pattern direction angle of said sum radiation pattern to obtain a sound source location estimate; and obtain said sound source location estimate and select the direction on which the power of the signal of said sum Virtual Microphone is maximized.
12. The beamforming apparatus according to claim 11, wherein said source localization apparatus is further configured, after the apparatus has combine said microphone signals (x1 . . . xM) to obtain Virtual Microphones (V1 . . . VN), to: rank the power of the signals of said Virtual Microphones, select a main circular sector defined by two adjacent virtual microphones on the basis of said ranking results, and perform a continuous steering of the direction angles of said sum Virtual Microphone in said selected main circular sector to find said sound source location estimate.
13. The beamforming apparatus according to claim 11, wherein said array comprises a Differential Microphone Array.
14. The beamforming apparatus according to claim 13, wherein the Differential Microphone Array comprises one of a Uniform Linear Array and a Uniform Circular Array.
15. The beamforming apparatus according to claim 14, wherein the processing module is further configured to steer in said circular sector the pattern direction angle of said sum radiation pattern to obtain a sound source location estimate, and to select the direction on which the power of the signal of said sum Virtual Microphone is maximized to obtain said sound source location estimate.
16. The beamforming apparatus according to claim 15, wherein the processing module is further configured to rank the power of the signals of said Virtual Microphones and to select a main circular sector defined by two adjacent virtual microphones on the basis of said ranking, and to perform a continuous steering of the direction angles of said sum Virtual Microphone in said selected main circular sector to find said sound source location estimate.
17. The beamforming apparatus according to claim 16, wherein the processing module is further configured to obtain a ranking list as a function of power of the virtual microphones starting from a virtual microphone (Vk) which maximizes the power, to select said virtual microphone which maximizes the power, and, further configured to select, from among the virtual microphones adjacent to said microphone, the virtual microphone associated with the maximum power to define the main circular sector as the sector comprised between said virtual microphone which maximizes the power and said adjacent microphone.
18. The beamforming apparatus according to claim 17, wherein the processing module is further configured to determine said power as the Teager energy of the signal of the Virtual Microphone measured over a given time-frame of a given number of samples.
19. The beamforming apparatus according to claim 10, wherein the processing module comprises a digital signal processor.
20. A non-transitory computer program product that can be loaded into the memory of at least one computer and comprises portions of software code suitable for, when the program is run on the at least one computer, executing the method comprising: receiving microphone signals from a microphone array including a plurality of microphones; combining the microphone signals to form a pair of directional virtual microphones having respective signals determining respective patterns of radiation with a same origin corresponding to a reference point of the microphone array and rotated at different pattern direction angles; defining a separation angle between the patterns so that at least a circular sector is defined between the different pattern direction angles, the separation angle between the at least a pair of directional virtual microphones being less than approximately π/2; determining a sum radiation signal of a sum virtual microphone having an associated sum radiation pattern; associating a respective weight to the signals of the pair of directional virtual microphones; determining respective weighted signals of radiation and summing the weighted signals; computing the respective weights as a function of a determined pattern direction angle of the pattern of radiation of the pair of directional virtual microphones and of the separation angle so that a main lobe of the sum radiation pattern is steered within the circular sector to point in the direction of the determined pattern direction angle.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0051] The solution will now be described purely by way of a non-limiting example with reference to the annexed drawings, in which:
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
DETAILED DESCRIPTION
[0063] The ensuing description illustrates various specific details aimed at an in-depth understanding of the described embodiments. The embodiments may be implemented without one or more of the specific details, or with other methods, components, materials, etc. In other cases, known structures, materials, or operations are not illustrated or described in detail so that various aspects of the embodiments will not be obscured.
[0064] Reference to “an embodiment” or “one embodiment” in the framework of the present description is meant to indicate that a particular configuration, structure, or characteristic described in relation to the embodiment is comprised in at least one embodiment. Likewise, phrases such as “in an embodiment” or “in one embodiment”, that may be present in various points of the present description, do not necessarily refer to the one and the same embodiment. Furthermore, particular conformations, structures, or characteristics can be combined appropriately in one or more embodiments.
[0065] The references used herein are intended merely for convenience and hence do not define the sphere of protection or the scope of the embodiments.
[0066] The method to perform beamforming basing on a plurality of microphones herein described provides acquiring microphone signals from an array of microphones, preferably omni-directional microphones, signals issued by said plurality of microphones and combining said microphone signals to obtain Virtual Microphones, specifically to obtain at least a pair of directional Virtual Microphones having respective patterns of radiation with a same origin corresponding to said reference point of the array and rotated at different pattern direction angles so that at least a circular sector, preferably a circular sector of less than 90 degrees, is defined between said different pattern direction angles. Then it is provided to associate a different weight to said respective patterns of radiation, obtaining a sum radiation pattern, which main lobe is orientated according a given pattern direction angle depending from such weights, such sum radiation pattern being associated to a respective sum Virtual Microphone summing one to the other the radiation patterns of the weighted pair, modifying said weights associated to the patterns of radiations to steer in said circular sector the pattern direction angle of said sum radiation pattern to reach a desired direction angle.
[0067] Further a variant of such beamforming method to perform source localization is here described. Such beamforming method includes steering in such circular sector the pattern direction angle of said sum radiation pattern to obtain a sound source location estimate and obtaining said location estimate choosing the direction on which the power of the signals of said plurality of virtual microphones is maximized.
[0068] This corresponds to steer a Virtual Microphone beam in each direction in a continuous fashion, using non uniform weight concentric arrays of microphones beamforming on pairs of said microphone signals to obtain a plurality of virtual microphones having the same position in space, with different angles of rotation and non-uniform amplitude gains.
[0069] The method here described reduces the problem of performing continuous steering from 0 to 2π (or the needed range of angles) to performing continuous steering in a discrete number of circular sectors. Therefore, it is provided building pairs of adjacent directive virtual microphones defining circular sectors and combining each pair in order to do continuous steering in each corresponding circular sector.
[0070] In
[0071] In
[0072] With the geometry of the array 31 it is possible to build six directive first order Virtual Microphones using DMA-ULA theory; six directive (first, second or) third order Virtual Microphones using DMA-UCA theory; defining circular sectors CS with an aperture angle, which corresponds to the separation angle between physical microphones, ρ=π/3.
[0073] In
[0074] With the geometry of array 31′ it is possible to build eight directive (first or) second order Virtual Microphones using DMA-ULA theory; eight directive first, second or third order Virtual Microphones using DMA-UCA theory; defining circular sectors of an aperture angle ρ=π/4.
[0075] In
[0076] With the geometry of array 31″ it is possible to build eight directive (first or) second order Virtual Microphones using DMA-ULA theory; eight directive first, second or third order Virtual Microphones using DMA-UCA theory; defining circular sectors CS of an aperture angle ρ=π/4.
[0077] In
[0078] Therefore it is possible to provide a variety of geometries of microphone arrays like the ones shown in
[0079] Now, a method for beamforming based on a plurality of microphones arranged as an array with respect to a reference point, the array being for instance either one of those described with reference to
[0080] In
[0081] It is assumed here that Virtual Microphones V.sub.1 and V.sub.2 are identical and their polar patterns Γ.sub.V.sub.
[0082] In order to perform continuous steering in the defined circular sector of a Virtual Microphone polar pattern, it is obtained a weighted sum of the polar patterns of the pair of Virtual Microphones V.sub.1 and V.sub.2. The weighted sum of the polar patterns Γ.sub.V.sub.
Γ.sub.SUM(θ)=α.sub.1Γ.sub.V.sub.
where α.sub.1 is the weight (or gain) multiplying the first polar pattern Γ.sub.V.sub.
[0083] Equivalently using the Pattern Multiplication rule:
Γ.sub.SUM(θ)=Γ.sub.V.sub.
[0084] As a consequence it is also possible to write:
Γ.sub.Sum(θ)=α.sub.1Γ.sub.V.sub.
[0085] Then, after obtaining the weighted sum of the polar patterns, still to perform steering in arbitrary directions in a circular sector it is considered the main lobe of the weighted sum pattern Γ.sub.SUM(θ) to the generic predetermined desired direction θ.sub.d, with 0≦θ.sub.d≦ρ.
[0086] It is set a linear constraint α.sub.1=βα.sub.2, with β a constraint parameter, and it is expressed also the desired direction θ.sub.d in terms of the same constraint parameter β:
θ.sub.d=ρ/(β+1),
[0087] This means for instance that if the constraint parameter β is equal to 1 the desired direction θ.sub.d is ρ/2.
[0088] Therefore, given the desired direction θ.sub.d, the constraint parameter β is fixed at the value:
β=(ρ−θ.sub.d)/θ.sub.d
[0089] Consequently, it is possible to adjust the gains for matching the desired direction θ.sub.d according to the following formula:
Γ.sub.Sum(θ.sub.d)=α.sub.2(βΓ.sub.V.sub.
[0090] Then it is normalized the polar pattern imposing Γ.sub.SUM=1:
1=α.sub.2(βΓ.sub.V.sub.
obtaining that the value of the weight α.sub.2 is:
[0091] Then:
α.sub.1=βα.sub.2 (2)
[0092] In
[0093] It can be seen from
[0094] As mentioned, polar patterns as similar as possible are need for localization purposes, in order to compare the energy picked by the resulting Virtual Microphones aiming at different desired directions θ.sub.d.
[0095] The similarity property strongly depends on the separation angle ρ, which must be small enough to guarantee the desired level of similarity. Preferably the separation angle ρ between the Virtual Microphones V.sub.1 and V.sub.2 used to obtain the sum pattern Γ.sub.SUM(θ) is lower than π/2.
[0096] In
[0097] The first index I.sub.sum is simply the area of Γsum(θ) normalized with respect to the omnidirectional polar pattern:
[0098] High area-similarity between Γ.sub.sum(θ) and Γ.sub.V.sub.
[0099] The shape-similarity index function Θ(θ) is the difference between Γ.sub.sum(θ) and a directive polar pattern with the same shape of Γ.sub.V.sub.
Θ(θ)=Γ.sub.sum(θ)−Γ.sub.V.sub.
Θ(θ) is a function returning a similarity estimate for each angle θ and its range is −1≦Θ(θ)≦1. Lower in modulus are the values returned by Θ(θ) higher will be the similarity. The index I.sub.Θ is the normalized area of the function Θ(θ):
[0100] High area-similarity between Γ.sub.sum(θ) and Γ.sub.V.sub.
[0101] In
[0102] Limiting the separation angle gives also advantages in terms of speed of computations in applications, such as the source localization described in the following. With suitable angle of separation ρ, the shape-similarity is so high that, for application purposes, it is possible to assume also sum pattern Γ.sub.SUM(θ) being symmetric with respect to its central axis α.sub.1Γ.sub.V.sub.
[0103] In
[0104] As already mentioned, each array geometry is described with respect to a fixed point in the space, called “reference point” O of the array. The resulting directional Virtual Microphone will be positioned in the reference point O. The origin of the resulting polar pattern of the Virtual Microphone is the reference point itself. For instance, in the case of ULA and UCA the reference point is the midpoint of the array.
[0105] In
[0106] In
[0107] In
[0108] Thus, the above operations are applicable to arbitrary order Virtual Microphones, considering the example of arbitrary order cardioids. The general formula describing an N-th order cardioid polar pattern Γ.sub.C.sup.N(θ), known in the literature, is the following:
Γ.sub.C.sup.N(θ)=(0,5+0,5 cos θ).sup.N:
[0109] The corresponding polar pattern coefficients a.sub.i are:
[0110] First Order Case: a.sub.1=0.5;
[0111] Second Order Case: a.sub.1=0.5 a.sub.2=0.25;
[0112] Third Order Case: a.sub.1=0.375 a.sub.2=0.375 a.sub.3=0.125.
[0113] Thus, the beamforming procedure described so far, an embodiment 100 of which is indicated in the flow diagram shown in
[0114] In a step 130, given the desired direction θ.sub.d, the separation angle ρ, and the polar pattern of radiation of the Virtual Microphones, which as seen above can be represented by the polar pattern Γ.sub.V.sub.
[0115] This are the weights required to point the weighted sum Γ.sub.SUM(θ) of the polar patterns of the pair of Virtual Microphones V.sub.1 and V.sub.2 in the desired direction θ.sub.d, given a determined separation angle ρ.
[0116] Thus, the step 130 provides computing the weights α.sub.1, α.sub.2 as a function of a determined pattern direction angle θ.sub.d, of the patterns of radiation, Γ.sub.V=Γ.sub.V.sub.
[0117] In step 140 a sum signal V.sub.SUM=α.sub.1V.sub.1+α.sub.2V.sub.2 is obtained, which is the signal observed by a virtual microphone pointing in the desired direction θ.sub.d and which radiation pattern is Γ.sub.SUM(θ)=α.sub.1Γ.sub.V.sub.
[0118] In other word the step 140 provides obtaining a sum signal V.sub.SUM of a sum Virtual Microphone to which is associated a sum radiation pattern Γ.sub.SUM(θ), associating a respective weight α.sub.1, α.sub.2 to signals of said pair of directional Virtual Microphones V.sub.1, V.sub.2, obtaining respective weighted signals of radiation α.sub.1V.sub.1, α.sub.2V.sub.2 and summing said weighted signals α.sub.1Γ.sub.V.sub.
V.sub.SUM=α.sub.1V.sub.1+α.sub.2V.sub.2
[0119] It must be noted that there are alternative ways of calculating the weights to obtain a desired direction θ.sub.d, in particular of setting a system of equation defining conditions which solved defines a constraint for the weights. For instance a constraint can impose that the sum diagram has a maximum in the desired direction θ.sub.d, then a second constraint imposes that that sum pattern diagram has unitary value in the desired direction θ.sub.d.
[0120] Now it is described the use of such method of beamforming for performing a source localization.
[0121] In general, such method of beamforming for performing a source localization uses the steering, through the operation 140 of modifying the weights, in the circular sectors of the pattern direction angle of said sum radiation pattern to obtain a sound source location estimate, obtaining said location estimate choosing the direction on which the power of the signals of said plurality of virtual microphones is maximized.
[0122] More in detail, such estimating a source location includes choosing among directions q a direction in which the power of the signals, in particular the average Teager Energy E.sub.T of the current signal frame is maximized:
where considering a time-frame of a number P of samples, the Teager Energy E.sub.T is:
where V.sub.q is the output of the Virtual Microphone focused at the q direction and n is the index of the sample. Teager Energy E.sub.T is higher for harmonic signals, so it is preferable as choice of the power measured during the steering for detecting speech signals.
[0123] A possible array geometry for doing steering employing first order Virtual Microphones in a ULA is depicted in
[0124] With reference to
[0125] In a step 120 Virtual Microphones, in particular six Virtual Microphones V.sub.1 . . . V.sub.6 are obtained, combining the signals X1 . . . X6 using the linear DMA theory, as described with reference to
[0126] Thus a plurality of Virtual Microphones V.sub.1 . . . V.sub.6 is obtained.
[0127] It must be noted that since the described method starts from an array of microphones and builds at least a pair of Virtual Microphones by taking microphones of the whole array, this can also be regarded as taking the Virtual Microphones from one sub-array (es. ULA V2, from signals X2 and X5 in
[0128] Then in a step 210 is performed an Energy Ranking of the Virtual Microphones, i.e., it is calculated the average Teager Energy of each directive Virtual Microphone signal E.sup.T[Vi(n)] from each Virtual Microphone. Then the six energy measures E.sup.T[Vi(n)] are sorted, building a ranking list, from the highest to the lowest energy, of ranked Virtual Microphones. The signal Vi(n) maximizing the Teager energy E.sup.T[Vi(n)] is indicated in step 220 as signal of the first Virtual Microphones V.sub.k, i.e., the first element of the ranking list. In this example it is assumed that the first Virtual Microphone V.sub.k is V.sub.1. In addition to select the signal V.sub.k of the Virtual Microphone V.sub.k to which corresponds the maximum Energy, the step 220 also supplies a first marked angle θ.sub.max corresponding to the direction of such signal or Virtual Microphone.
[0129] Then in a step 230 it is performed a Main Circular Sector Selection considering only the signals of the Virtual Microphones adjacent to the marked first Virtual Microphone V.sub.k, in the example V.sub.2 and V.sub.6, and selecting the adjacent Virtual Microphone which has the greater energy between the adjacent Virtual Microphones, i.e., it is in an upper position in the energy ranking list, and indicating the corresponding Virtual Microphone as second marked Virtual Microphone V.sub.{circumflex over (k)}; in the example of
[0130] In a sub-procedure 240 it is then performed a continuous steering in the Main Circular Sector selected at step 230 to perform source localization, applying the steering steps of the beamforming method described previously, using the first and second marked Virtual Microphone, V.sub.k and V.sub.{circumflex over (k)} as the pair of Virtual Microphones input to step 140.
[0131] Assuming the main lobe directions of the radiation patterns Γ.sub.V.sub.
V.sub.SUM=α.sub.1V.sub.k+α.sub.2V.sub.{circumflex over (k)}.
[0132] In the sub-procedure 240 it is also provided the step of computing 130 said weights α.sub.1, α.sub.2 as a function of a determined or desired pattern direction angle θ.sub.d, which however in this case is a maximum search angle θ.sub.bis direction, i.e., the new direction along which the maximum is searched, calculated by a maximum energy finding procedure 245, and of the separation angle ρ so that a main lobe of said sum radiation pattern Γ.sub.SUM(θ) is steered within the circular sector, in this case the Main Circular Sector MS, to point in the direction of said desired angle θ.sub.d, i.e., maximum search angle θ.sub.bis.
[0133] Thus, as shown in
[0134] Then in a step 260 is evaluated if the Teager Energy E.sup.T of the sum signal V.sub.SUM is the maximum energy in the Main Sector MS. As better detailed in the following this evaluation step 260 is preferably part of an iterative procedure, and in this case the resolution of the iterative procedure is controlled by a resolution parameter RES supplied to the step 260 for the evaluation.
[0135] In the affirmative the location estimate, i.e., the maximizing direction θ.sub.dmax which corresponds to the desired direction, is found. The maximizing direction θ.sub.dmax is the source location estimate in radians. Also the evaluation step 260 supplies the corresponding signal V.sub.max of the sum radiation pattern Γ.sub.SUM(θ) pointed in the maximizing direction θ.sub.dmax.
[0136] In the negative a new maximum search angle direction θ.sub.bis is selected in a step 270 and in the step 130 the weights α.sub.1 α.sub.2 supplied to step 140 to steer the sum pattern Γ.sub.SUM(θ) are computed on the basis of such new maximum search angle θ.sub.bis. Such weights are for instance the solution of [α.sub.1 α.sub.2]=F[θ.sub.bis;ρ;Γ(θ)], as indicated in the pseudocode examples that follows.
[0137] In the example of
[0138] Therefore, the localization procedure 200 is a variant of the beamforming procedure 100, which adds a ranking procedure (steps 210-230), after steps 110-120 forming pairs of Virtual Microphones from the microphones signal, to identify a pair of Virtual Microphones defining a Main Sector MS, which has the maximum probability of including the maximizing direction θ.sub.dmax. This main sector MS corresponds to the Circular Sector CS of the beamforming procedure 100, thus it is supplied to the beamforming steps 130-140, which determine a sum radiation pattern steerable within said Circular Sector CS, i.e., Main Sector NS. These steps 130-140 are performed under the control of a maximum energy finding procedure 245 including the steps 250-270.
[0139] The pseudo-code of such procedure is presented in the following, assuming the main lobe directions of the radiation patterns Γ.sub.Vk(θ) and Γ.sub.V.sub.
TABLE-US-00001 V.sub.max = V.sub.k ; E.sub.Tmax = E.sub.T[V.sub.k]; θ.sub.max = 0; /*as evaluated by step 220*/ θ.sub.p = ρ; /*as evaluated by step 230*/ θ.sub.dmax = θ.sub.max; For j = 1 ; j < RES ; j + + θ.sub.bis = (θ.sub.max + θ.sub.p) /2; [α.sub.1 α.sub.2] = F[θ.sub.bis ; ρ; Γ(θ) ]; V.sub.SUM = α.sub.1V.sub.k + α.sub.2V.sub.{circumflex over (k)}; If (E.sub.T [Vsum] > E.sub.Tmax ) E.sub.Tmax = E.sub.T [V.sub.sum]; V.sub.max = V.sub.sum; θ.sub.p = θ.sub.max ; θ.sub.max = θ.sub.bis ; else θ.sub.p = θ.sub.bis; endIf endFor θ.sub.dmax = θ.sub.max
[0140] V.sub.max in the pseudocode is in general the output signal, which varies in time, of the beamformer driven by the localization procedure. E.sub.Tmax is a variable indicating the maximum value taken by the Teager energy E.sub.T. θ.sub.bis, the maximum search angle, is the new desired direction at a given iteration step j of the procedure 240, i.e., of the maximum energy finding procedure 245 which then reiterates steps 130 and 140.
[0141] Such steps 250-270, i.e., the maximum energy finding procedure 245, to find the maximizing direction θ.sub.dmax, are preferably performed by an iterative procedure, which in particular, provides, starting from the first marked Virtual Microphone V.sub.k, defining as first boundary of the Main Circular Sector MS, which direction is assumed as initial maximizing direction θ.sub.dmax and the corresponding Teager energy the maximum energy E.sub.Tmax, selecting a new steering direction θ.sub.bis, preferably pointing at half the separation angle ρ of the Main Circular Sector MS, between the direction of the first marked Virtual Microphone V.sub.k and the direction of the second marked V.sub.{circumflex over (k)} Virtual Microphone, which defines the second boundary direction θ.sub.p, i.e., bisecting the Main Circular Sector MS in two equal subsectors, or in any case dividing the Main Circular Sector MS in two sub-sectors Then the weighted sum Virtual Microphone V.sub.SUM is obtained from the two marked Virtual Microphones pointing in that direction, i.e., it is performed the steering in the Main circular Sector MS according the beamforming method described above. Then the energy of the weighted Virtual Microphone V.sub.SUM in that direction is evaluated, and if greater than the maximum energy E.sub.Tmax, the corresponding direction is selected as new maximizing direction θ.sub.max. A new circular sector, which is a subsector of the main sector, defined between the new maximizing direction θ.sub.max and the previous maximizing direction, which becomes the second boundary direction θ.sub.p, is selected and the procedure including steering the sum pattern in a direction inside the subsector, in particular in the middle of the subsector, and evaluating the energy is repeated. If the energy of the weighted Virtual Microphone V.sub.SUM is minor than the maximum energy E.sub.Tmax, the remaining circular subsector of the two subsector obtained by setting the maximum search angle or steering direction angle θ.sub.bis, is chosen to repeat the procedure, i.e., the sector having as second boundary direction θ.sub.p equal to the current steering direction θ.sub.bis, while the value of θ.sub.max is maintained. The procedure is repeated for a given number of times.
[0142] As mentioned with reference to
[0143] In the pseudocode described it is referred to a function F[θbis; ρ; Γ(θ)] as a function which takes as input the desired direction θ.sub.d of the resulting sum Virtual Microphone V.sub.SUM, the polar pattern Γ(θ) which is the polar of one of the two Virtual Microphones of the pair, for instance the pattern Γ.sub.Vk(θ) of the first marked Virtual Microphone V.sub.k, and the separation angle ρ between the two marked Virtual Microphones V.sub.k and V.sub.{circumflex over (k)} and returns the appropriate weights α.sub.1, α.sub.2 according to the constraint (1), i.e., α.sub.2=1/(βΓ.sub.V.sub.
[0144] The third step of steering in the Main Circular Sector and the search of the direction maximizing the Teager Energy can of course be performed also using different maximum search algorithms. A remarkable property of the presented source-localization method is that in principle any steering resolution can be chosen.
[0145]
[0146] Therefore, the described solution allows to build arbitrary-order-DMA-based parametric sound source localization systems which allow doing steering in a continuous fashion in all directions.
[0147] The described beamforming solution allows to build polar patterns of any order which are similar to each other, aiming at arbitrary directions, this being in particular highly desirable for localization purposes. The direction of the resulting beam can be easily adjusted simply changing the constrained weights of the polar pattern addends: only one tuning parameter is necessary.
[0148] The described solution for what regards localization systems has the following desirable features: beamforming and source localization are applicable simultaneously; the localization accuracy is theoretically arbitrarily selectable; localization resolution is tunable in a parametric fashion.
[0149] Also the described solution avoids high computational complexity limits due to performing the maximum search scanning all the directions. The DMA-based beamformer which can be steered in a continuous fashion substantially resolves the problems of computational complexity since the beams are characterized by a 2D shape: in fact during an iterative localization procedure, the system may be tuned in order to find the desired trade-off between accuracy and resource consumption. This means that the first iterations give already a right estimate of the direction of arrival, although characterized by low resolution.
[0150] Of course, without prejudice to the principle of the embodiments, the details of construction and the embodiments may vary widely with respect to what has been described and illustrated herein purely by way of example, without thereby departing from the scope of the present embodiments, as defined the ensuing claims.
[0151] Embodiments of the present disclosure are particularly suitable, but not limited to, systems based on Differential Microphone Array (DMA) techniques. Such techniques are applicable to arrays where the distances between microphones are negligible with respect to the wavelength of the sound waves of interest. Due to their small dimensions MEMS microphones are particularly suitable for these applications.
[0152] The various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.