A frequency-invariant microphone array beamforming method
By setting a narrowband beam and a nonlinear gain function in the microphone array, the problems of large computational complexity and beam widening in the frequency-invariant beamforming algorithm are solved, and beam parameter consistency and computational efficiency at low frequencies are achieved, which is suitable for speech and underwater acoustic processing.
Patent Information
- Application Number
- CN202411014380.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-26
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2044-07-26
AI Technical Summary
The existing frequency-invariant beamforming algorithm has a large amount of computational complexity, and the beam becomes wider at very low frequencies, resulting in poor performance of microphone arrays in speech signal processing.
Frequency-invariant microphone array beamforming is achieved by selecting the angular frequency ω0, setting a narrowband beam, calculating the array element weights, using spectrum conversion and delay adjustment, and combining nonlinear gain functions to reduce the sidelobe level.
The beam parameters are kept consistent at extremely low frequencies, the calculation is simple, the amount of computation is low, and the sidelobe level is reduced. It is suitable for fields such as speech and underwater acoustic processing.
Smart Images

Figure CN118972747B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of signal processing, and in particular to a frequency-invariant microphone array beamforming method. Background Art
[0002] Beamforming is a spatial filtering technique used to receive signals from a specific spatial direction while attenuating signals from other directions. Beamforming can be categorized into two types based on signal bandwidth: narrowband beamforming and wideband beamforming. Compared to narrowband beamforming, wideband beamforming requires additional structures to control the frequency-dependent beam shape, such as sub-band processing and filter-addition, because the phase difference between the signals received by each array element is frequency-dependent when the received signal is wideband.
[0003] The beam width of conventional beamforming algorithms usually widens at lower frequencies, making the array's directivity worse at low frequencies. This has significant limitations when processing some low-frequency signals. For example, in speech signal processing, the beam of conventional microphone arrays has very poor directivity at low frequencies. However, low frequencies are more important to hearing than high frequencies, which limits the effectiveness of conventional microphone array beamforming algorithms. Frequency-invariant beamforming algorithms are often used to address the problem that the beam width increases as the frequency decreases, maintaining a constant beam width as much as possible in the required frequency band. These algorithms include those based on multidimensional inverse Fourier transform, least squares, convex optimization, and frequency focusing. A broadband robust adaptive beamforming algorithm based on microphone arrays (Lin Jingran, Peng Qicong, Shao Huaizong, et al. Broadband robust adaptive beamforming algorithm based on microphone arrays [J]. Journal of Communications, 2006, (12): 132-138.) Abstract: This algorithm combines frequency focusing technology and diagonal loading technology. On this basis, the diagonal loading factor is determined by optimizing the worst-case beam performance. Frequency focusing technology is used to achieve frequency invariance in the array, and an approximate analytical expression for the optimal loading factor is obtained. However, this method requires matrix decomposition, which is computationally intensive. Existing methods based on multidimensional inverse Fourier transforms, least squares, and convex optimization (Wei Liu, Stephan Weiss. Wideband Beamforming Concepts and Techniques [M]. 2010.) all require iterative approximation, involving matrix inversion and matrix decomposition. This is computationally intensive and requires a trade-off between sidelobe suppression and frequency invariance, resulting in poor low-frequency performance.
[0004] It can be seen that the existing frequency-invariant beamforming algorithm still has some shortcomings: 1. The existing frequency-invariant beamforming algorithm generally has a large amount of computation, involving operations such as matrix approximation and matrix decomposition; 2. The problem of beam widening also exists at very low frequencies, so the effect is not ideal in microphone array-based voice signal processing. Summary of the Invention
[0005] To address the problems of existing frequency-invariant beamforming algorithms having large computational complexity and still becoming wider at very low frequencies, the present invention provides a frequency-invariant microphone array beamforming method. The method can convert broadband beamforming into a narrow beam design for a specific frequency. It has the advantages of low computational complexity and applicability to any non-zero frequency. It can not only be used for speech processing, but can also be extended to fields such as underwater acoustic processing and communication signal processing.
[0006] The present invention is achieved through at least one of the following technical solutions.
[0007] A frequency-invariant microphone array beamforming method comprises the following steps:
[0008] Step 1: Select angular frequency ω0 as the reference frequency, set a narrowband beam suitable for angular frequency ω0 according to the specified incoming wave direction, and obtain the weight of the input signal of each array element;
[0009] Step 2: Frame the input signal of each element of the microphone and convert it into the frequency domain to obtain the spectrum X corresponding to each element. l,m (ω), where l represents the lth frame, m represents the mth array element, and ω is the angular frequency;
[0010] Step 3: For any angular frequency ω<πf s The signal is transmitted, and the 0th array element is used as the reference array element. The delay τ of each array element relative to the reference array element is calculated. m (ω), where f s is the sampling frequency;
[0011] Step 4: Convert the spectrum to the reference frequency ω0 according to the delay to obtain the new spectrum X′ l,m (ω0);
[0012] Step 5: Based on the weights calculated in step 1, use the new spectrum X′ obtained in step 4 l,m (ω0) Calculate the output spectrum of the array at the lth frame when the frequency is ω0
[0013] Step 6: Calculate the ratio of the above output amplitude to the reference array element input amplitude as the gain of the array at frequency ω;
[0014] Step 7: Multiply the gain by the spectrum X of the 0th element in the lth frame. l,0(ω), and get the output spectrum of the first frame of the array at frequency ω
[0015] Step 8: Use IFFT to convert the output signal from the frequency domain to the time domain, and perform weighted superposition with the previous frame to obtain the output signal of the array.
[0016] Furthermore, setting a narrowband beam suitable for the angular frequency ω0 according to the specified incoming wave direction includes the following steps:
[0017] Step 1.1, sample the angle [-90°, 90°], and the number of sampling points is N;
[0018] Step 1.2: For each angle θ i , calculate the direction vector in
[0019]
[0020] where d m (ω0,θ i ) is the vector d(ω0) at an angle θ i The mth component above, i = 0 to N-1 is the angle number, m = 0 to M-1 is the array element number, M is the number of array elements, a is the spacing between microphone array elements, c is the speed of sound, and j is the complex unit;
[0021] Step 1.3, given the target direction vector p(ω0) = [p(ω0,θ0),p(ω0,θ1),…,p(ω0,θ N )] T , where p(ω0,θ N ) is the vector p(ω0) at an angle θ N The component on , the superscript T indicates transpose;
[0022] Step 1.4, calculate the covariance matrix B of the direction vector d(ω0) and the cross-correlation vector A between the direction vector d(ω0) and the target direction vector P(ω0):
[0023] B=d(ω0)d T (ω0)
[0024] A=d(ω0)p(ω0)
[0025] where d T (ω0) is the transpose of d(ω0);
[0026] Step 1.5. Calculate the optimal weight vector w:
[0027] w=B -1 A
[0028] where \(w = [w_0, w_1, \ldots, w M-1 \) is the weight vector of the array elements, and each component \(w_0, w_1, \ldots, w M-1 \) corresponds to the weights of the respective array elements of the microphone, and \(M\) is the number of array elements.
[0029] Furthermore, in step 3, calculating the delay of the \(m\)th array element relative to the reference array element includes the following steps:
[0030] Step 3.1: Let \(m = 1\), and the delay \(\tau_0(\omega)=0\) of the reference array element;
[0031] Step 3.2: Calculate the complex correlation \(c l,m-1 (\omega)\) of \(X l,m (\omega)\) and \(X m-1,m (\omega)\):
[0032]
[0033] where \(X l,m (\omega)\) is the spectrum of the \(m\)th array element in the \(l\)th frame, is the conjugate of \(X l,m (\omega)\);
[0034] Step 3.3: Calculate the delay \(\tau m (\omega)\) of the \(m\)th array element relative to the reference array element by an accumulation method:
[0035] <00001⑧9>
[0036] where \(\arg(c k-1,k (\omega))\) represents the principal value of the phase of the complex correlation \(c k-1,k (\omega)\), and \(\tau k-1 (\omega)\) is the delay of the \((k - 1)\)th array element, \(k\in(1\sim m)\);
[0037] Step 3.4: Let \(m = m + 1\). If \(m\lt M\), then go to step 3.2; otherwise, end. Here, \(M\) is the number of array elements.
[0038] Furthermore, the spectrum \(X' l,m (\omega_0)\) is obtained by the following formula:
[0039]
[0040] where \(\tau m (\omega)\) is the delay of the \(m\)th array element relative to the reference array element, and \(j\) is the imaginary unit. [[ID=6⑤]]
[0041] Furthermore, the output spectrum of the \(l\)th frame of the array is:
[0042]
[0043] Among them, X′ l,m (ω0) is the spectrum, ω0 is the angular frequency, w m is the weight of the input signal of the array element, and M is the number of array elements.
[0044] Furthermore, in step 6, the gain g l (ω) is:
[0045]
[0046] Where ω0 is the angular frequency, is the output spectrum of the array frame l, X l,0 (ω) is the spectrum of the 1st frame of the 0th array element.
[0047] Furthermore, in step 6, a nonlinear function is used to calculate the gain to further reduce the sidelobe level g of the beam. l (ω):
[0048]
[0049] Where ω is the angular frequency and f(x) is a nonlinear function.
[0050] Furthermore, the nonlinear function f(x) includes a step function and a sigmoid function.
[0051] Furthermore, in step 6, according to the given direction pointing width θ B The sigmoid function is used to calculate the gain:
[0052] Step 6.1. Calculate the array gain g(ω0,θ) for different incoming wave directions based on the weight w from step 1:
[0053] g(ω0,θ)=w T d(ω0,θ)
[0054] Where θ is the angle, d(ω0,θ) is the direction vector of the array when the frequency is ω0;
[0055] Step 6.2. Calculate the normalized gain g′(ω0,θ):
[0056]
[0057] where g max (ω0) and g min (ω0) are the maximum and minimum values of g(ω0,θ) respectively;
[0058] Step 6.3, calculate the threshold g c (ω0):
[0059] g c(ω0)=g′(ω0,θ0±θ B / 2)
[0060] Where θ0 is the center angle of the specified direction;
[0061] Step 6.4: Calculate the linear gain g of the array at frequency ω l (ω):
[0062]
[0063] Step 6.5: Calculate the nonlinear gain g′ of the array at frequency ω using the following formula: l (ω):
[0064]
[0065] where g′ l (ω) is the nonlinear gain of the array, α is the empirical parameter, g max (ω0) and g min (ω0) are the maximum and minimum values of g(ω0,θ), respectively. c (ω0) is the threshold.
[0066] Furthermore, step 8 includes the following steps:
[0067] First, the output spectrum of the array frame l Convert to time domain signal x using IFFT l [n]:
[0068]
[0069] Where n is the discrete time sequence number;
[0070] The output signal of the array is calculated using the following formula:
[0071]
[0072] in is the output signal of the array, x l-1 [n] and x l [n] are the time domain signals after IFFT of the l-1th and lth frames respectively, L is the frame length, v is the frame shift, and n is the discrete time sequence number.
[0073] Compared with the prior art, the present invention has the following advantages:
[0074] 1. A frequency-invariant microphone array beamforming method of the present invention can keep beam parameters consistent with a reference frequency even at extremely low frequencies.
[0075] 2. The present invention is simple to calculate and has low computational complexity.
[0076] 3. The method of the present invention can further reduce the sidelobe level through nonlinear gain.
[0077] 4. The present invention utilizes the characteristic that the human ear is insensitive to phase and adopts a method of adjusting the amplitude of the reference microphone to well maintain the phase continuity of the voice signal. BRIEF DESCRIPTION OF THE DRAWINGS
[0078] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention.
[0079] Figure 1 A flow chart of a frequency-invariant microphone array beamforming method provided in an embodiment;
[0080] Figure 2 is the beam pattern of Example 2;
[0081] Figure 3 This is the beam pattern of Example 3. DETAILED DESCRIPTION
[0082] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.
[0083] Example 1
[0084] A frequency-invariant microphone array beamforming method according to this embodiment includes the following steps:
[0085] Step 1: Select the angular frequency ω0, set the narrowband beam suitable for the angular frequency ω0 according to the specified wave direction, and obtain the weight w of the input signal of each array element m ;
[0086] Step 2: Frame the input signal of each array element and convert it into the frequency domain to obtain the spectrum X corresponding to each array element. l,m (ω), where m = 0 to M-1 is the array element number, M is the number of array elements, l is the frame number, and ω is the angular frequency;
[0087] Step 3: For any angular frequency ω<πf s The signal is transmitted, and the 0th array element is used as the reference array element. The delay τ of each array element relative to the reference array element is calculated. m(ω), where f s is the sampling frequency;
[0088] Step 4: X l,m (ω) Convert to the reference frequency according to the delay to obtain the spectrum X′ l,m (ω0);
[0089] Step 5: Based on the weights calculated in step 1, use X′ l,m (ω0) Calculate the output spectrum of the array at the lth frame when the frequency is ω0
[0090] Step 6: Calculate the ratio of the above output amplitude to the reference array element input amplitude as the gain of the array at frequency ω;
[0091] Step 7: Multiply the gain by the spectrum x of the 0th element in the lth frame. l,0 (ω), and get the output spectrum of the first frame of the array at frequency ω
[0092] Step 8: Use IFFT to convert the output signal from the frequency domain to the time domain, and perform weighted superposition with the previous frame to obtain the output signal of the array.
[0093] Example 2
[0094] In this embodiment, the microphone array is a linear array of 4 elements, and the sampling frequency of the speech signal is f s =8kHz, the microphone array element spacing a=4cm, the reference array element is the leftmost array element. The flowchart and beam pattern of the embodiment are as follows Figure 1 、 Figure 2 As shown, it specifically includes the following steps:
[0095] Step 1: Select an angular frequency ω0, design a narrowband beam suitable for ω0 according to the specified incoming wave direction, and obtain the weight w of the input signal of each array element m .
[0096] In the above embodiment, ω0=πc / a is selected, the incoming wave direction is specified as [-20°, 20°], and the following steps are used to design a narrowband beam suitable for ω0:
[0097] Step 1.1: Sample the angle [-90°, 90°] at N points. In the above embodiment, N=181.
[0098] Step 1.2: For each angle θ i , calculate the direction vector in
[0099]
[0100] dm (ω0,θ i ) is the vector d(ω0) at an angle θ i For the mth component above, i=0~N-1 is the angle number, m=0~M-1 is the array element number, M is the number of array elements, a is the spacing between microphone array elements, c is the sound speed, and j is a complex unit.
[0101] Step 1.3, given the target direction vector p(ω0) = [p(ω0,θ0),p(ω0,θ1),…,p(ω0,θ N )] T , where p(ω0,θ N ) is the vector p(ω0) at an angle θ N The superscript T indicates the transpose.
[0102] In the above embodiment, it is specified that when [-20°, 20°], p(ω0,θ i )=1, other angles p(ω0,θ i )=0.
[0103] Step 1.4. Calculate the covariance matrix B of d(ω0) and the cross-correlation vector A between d(ω0) and p(ω0)
[0104] B=d(ω0)d T (ω0)
[0105] A=d(ω0)p(ω0)
[0106] where d T (ω0) is the transpose of d(ω0).
[0107] Step 1.5: Calculate the optimal weight vector
[0108] w=B -1 A
[0109] where w=[w0,w1,…,w M-1 ] is the weight vector of the array element, and each component w0,w1,…,w M-1 They correspond to the weights of each microphone array element, and M is the number of array elements.
[0110] Step 2: Divide the input signal of each array element into frames and convert it into the frequency domain to obtain the spectrum X of each frame corresponding to each array element. l,m (ω), where m=0~M-1 is the array element number, M is the number of array elements, l is the frame number, and ω is the angular frequency.
[0111] In the above embodiment, the input signal is divided into frames with a frame length of 16ms and a frame shift of 10ms, and FFT is performed to obtain the spectrum X of each frame. l,m (ω).
[0112] Step 3. For a signal with any frequency ω < πf s , taking the 0th element as the reference element, calculate the delay τ m (ω) of each element relative to the reference element.
[0113] Step 3.1. Let m = 1, and the delay τ0(ω) of the reference element is 0.
[0114] Step 3.2. Calculate the complex correlation of X l,m-1 (ω) and X l,m (ω)
[0115]
[0116] where X l,m (ω) is the spectrum of the mth element in the lth frame, is the conjugate of X l,m (ω). <00>
[0117] Step 3.3. Calculate the delay of the mth element relative to the reference element
[0118]
[0119] where arg(c k-1,k (ω)) represents the principal value of the phase of the complex correlation c k-1,k (ω), τ k-1 (ω) is the delay of the (k - 1)th element, and k ranges from 1 to m.
[0120] Step 3.4. m = m + 1. If m < M, go to Step 3.2; otherwise, end. M is the number of elements.
[0127] Step 7: Multiply the gain by the spectrum X of the 0th element in the lth frame. l,0 (ω), and the output of the array when the frequency is ω is obtained:
[0128]
[0129] Step 8: Use IFFT to convert the output signal from the frequency domain to the time domain, and perform weighted superposition with the previous frame to obtain the output signal of the array.
[0130] In the above embodiment, first Use IFFT to convert to time domain signal:
[0131]
[0132] The output signal of the array is then calculated using the following formula:
[0133]
[0134] in is the output signal of the array, x l-1 [n] and x l [n] are the time domain signals after IFFT of the l-1th and lth frames respectively, L is the frame length, v is the frame shift, and n is the discrete time sequence number.
[0135] Example 3
[0136] Based on the above embodiment, a frequency-invariant microphone array beamforming method of this embodiment includes the following steps:
[0137] Step 1: Select angular frequency ω0 as the reference frequency, set a narrowband beam suitable for angular frequency ω0 according to the specified incoming wave direction, and obtain the weight of the input signal of each array element;
[0138] Step 2: Frame the input signal of each element of the microphone and convert it into the frequency domain to obtain the spectrum X corresponding to each element. l,m (ω), where l represents the lth frame, m represents the mth array element, and ω is the angular frequency;
[0139] Step 3: For any angular frequency ω<πf s The signal is transmitted, and the 0th array element is used as the reference array element. The delay τ of each array element relative to the reference array element is calculated. m (ω), where f s is the sampling frequency;
[0140] Step 4: Convert the spectrum to the reference frequency ω0 according to the delay to obtain the new spectrum X′ l,m (ω0);
[0141] Step 5: Based on the weights calculated in step 1, use the new spectrum X′ obtained in step 4 l,m (ω0) Calculate the output spectrum of the array at the lth frame when the frequency is ω0
[0142] Step 6: Calculate the ratio of the above output amplitude to the reference array element input amplitude as the gain of the array at frequency ω;
[0143] Step 7: Multiply the gain by the spectrum X of the 0th element in the lth frame. l,0 (ω), and get the output spectrum of the first frame of the array at frequency ω
[0144] Step 8: Use IFFT to convert the output signal from the frequency domain to the time domain, and perform weighted superposition with the previous frame to obtain the output signal of the array.
[0145] In step 6, a nonlinear function is used to further reduce the sidelobe level of the beam:
[0146]
[0147] Where f(x) is a nonlinear function, including step function and S-type function.
[0148] In the above embodiment, f(x) uses a sigmoid function, and the gain is calculated using the following formula:
[0149]
[0150] Its beam pattern is as follows Figure 3 shown.
[0151] As a preferred embodiment, in step 6, the width θ is pointed to according to the given direction. B The sigmoid function is used to calculate the gain:
[0152] Step 6.1: Calculate the array gain for different wave directions based on the weights in step 1.
[0153] g(ω0,θ)=w T d(ω0,θ)
[0154] Step 6.2: Calculate the normalized gain
[0155]
[0156] where g max (ω0) and g min (ω0) are the maximum and minimum values of g(ω0,θ) respectively.
[0157] Step 6.3: Calculate the threshold
[0158] g c (ω0)=g′(ω0,θ0±θ B / 2)
[0159] Where θ0 is the center angle of the specified direction.
[0160] Step 6.4: Calculate the linear gain of the array at frequency ω
[0161]
[0162] Step 6.5: Calculate the nonlinear gain of the array at frequency ω using the following formula:
[0163]
[0164] where g′ l (ω) is the nonlinear gain of the array.
[0165] The preferred embodiments of the present invention disclosed above are intended only to help illustrate the present invention. These preferred embodiments do not exhaustively describe all details, nor do they limit the present invention to the specific embodiments described. Obviously, numerous modifications and variations are possible based on the contents of this specification. These embodiments are selected and described in detail in this specification to better explain the principles and practical applications of the present invention, so that those skilled in the art can better understand and utilize the present invention.
Claims
1. A frequency-invariant microphone array beamforming method, characterized in that: It includes the following steps: Step 1: Select the angular frequency ω0 as the reference frequency, set a narrowband beam applicable to the angular frequency ω0 according to the specified incoming wave direction, and obtain the weights of the input signals of each array element; Step 2: Frame the input signal of each element of the microphone and convert it into the frequency domain to obtain the spectrum X corresponding to each element. l,m (ω), where l represents the lth frame, m represents the mth array element, and ω is the angular frequency; Step 3: For any angular frequency ω<πf s The signal is transmitted, and the 0th array element is used as the reference array element. The delay τ of each array element relative to the reference array element is calculated. m (ω), where f s is the sampling frequency; Step 4: Convert the spectrum to the reference frequency ω0 according to the delay to obtain the new spectrum X′ l,m (ω0); Step 5: Based on the weights calculated in step 1, use the new spectrum X′ obtained in step 4 1,m (ω0) Calculate the output spectrum of the array at the lth frame when the frequency is ω0 Step 6: Calculate the ratio of the above output spectrum amplitude to the reference array element input spectrum amplitude as the gain of the array at the frequency ω; Step 7: Multiply the gain by the spectrum X of the 0th element in the lth frame. l,0 (ω), and get the output spectrum of the first frame of the array at frequency ω Step 8: Use IFFT to convert the output signal from the frequency domain to the time domain, and perform weighted superposition with the previous frame to obtain the output signal of the array.
2. The frequency-invariant microphone array beamforming method according to claim 1, wherein: Setting a narrowband beam applicable to the angular frequency ω0 according to the specified incoming wave direction includes the following steps: Step 1.1: Sample the angle range [-90°, 90°], and the number of sampling points is N; Step 1.2: For each angle θ i , calculate the direction vector in where d m (ω0,θ i ) is the vector d(ω0) at an angle θ i The mth component above, i = 0 to N-1 is the angle number, m = 0 to M-1 is the array element number, M is the number of array elements, a is the spacing between microphone array elements, c is the speed of sound, and j is the complex unit; Step 1.3, given the target direction vector p(ω0) = [p(ω0,θ0),p(ω0,θ1),…,p(ω0,θ N )] T , where p(ω0,θ N ) is the vector p(ω0) at an angle θ N The component on , the superscript T indicates transpose; Step 1.4: Calculate the covariance matrix B of the direction vector d(ω0) and the cross-correlation vector A between the direction vector d(ω0) and the target direction vector p(ω0): B=d(ω0)d T (ω0) A = d(ω0)p(ω0) where d T (ω0) is the transpose of d(ω0); Step 1.5: Calculate the optimal weight vector w; w=B -1 A where w=[w0,w1,…,w M-1 ] is the weight vector of the array element, and each component w0,w1,…,w M-1 They correspond to the weights of each microphone array element, and M is the number of array elements.
3. The frequency-invariant microphone array beamforming method according to claim 1, wherein: In Step 3, calculating the delay of the m-th array element relative to the reference array element includes the following steps: Step 3.1: Let m = 1, and the delay τ0(ω) of the reference array element is 0; Step 3.2, calculate X l,m-1 (ω) and X l,m The complex correlation c of (ω) m-1,m (ω): where X l,m (ω) is the spectrum of the mth element in the lth frame, For X l,m conjugation of (ω); Step 3.3: Calculate the delay τ of the mth array element relative to the reference array element using the accumulation method. m (ω): where arg(c k-1,k (ω)) represents the complex correlation c k-1,k The phase principal value of (ω), τ k-1 (ω) is the delay of the k-1th array element, k∈(1~m); Step 3.4: m = m + 1, if m < M, then go to Step 3.2, otherwise end, where M is the number of array elements.
4. The frequency-invariant microphone array beamforming method according to claim 1, wherein: The spectrum X′ is obtained using the following formula l,m (ω0); Among them, τ m (ω) is the delay of the mth array element relative to the reference array element, and j is a complex unit.
5. The frequency-invariant microphone array beamforming method according to claim 1, wherein: Output spectrum of the array's first frame for: Among them, X′ l,m (ω0) is the spectrum, ω0 is the angular frequency, w m is the weight of the input signal of the array element, and M is the number of array elements.
6. The frequency-invariant microphone array beamforming method according to claim 1, wherein: In step 6, the gain g l (ω) is: Where ω0 is the angular frequency, is the output spectrum of the array frame l, X l,0 (ω) is the spectrum of the 1st frame of the 0th array element.
7. The frequency-invariant microphone array beamforming method according to claim 6, wherein: In step 6, a nonlinear function is used to calculate the gain to further reduce the sidelobe level g of the beam. l (ω): Where ω is the angular frequency and f(x) is a non-linear function.
8. The frequency-invariant microphone array beamforming method according to claim 7, wherein: The non-linear function f(x) includes a step function and a sigmoid function.
9. The frequency-invariant microphone array beamforming method according to claim 1, wherein: In step 6, the width θ is pointed according to the given direction B The sigmoid function is used to calculate the gain: Step 6.1: Calculate the gain g(ω0, θ) of the array for different incoming wave directions according to the weight w in Step 1: g(ω0,θ)=w T d(ω0,θ) Where θ is the angle and d(ω0, θ) is the direction vector of the array at the frequency ω0; Step 6.2: Calculate the normalized gain g′(ω0, θ); where g max (ω0) and g min (ω0) are the maximum and minimum values of g(ω0,θ) respectively; Step 6.3, calculate the threshold g c (ω0): g c (ω0)=g′(ω0,θ0±θ B / 2) Where θ0 is the central angle of the specified direction; Step 6.4: Calculate the linear gain g of the array at frequency ω l (ω): Step 6.5: Calculate the nonlinear gain g′ of the array at frequency ω using the following formula: l (ω): where g′ l (ω) is the nonlinear gain of the array, α is the empirical parameter, g max (ω0) and g min (ω0) are the maximum and minimum values of g(ω0,θ), respectively. c (ω0) is the threshold.
10. The frequency-invariant microphone array beamforming method according to claim 1, wherein: Step 8 includes the following steps: First, the output spectrum of the array frame l Convert to time domain signal x using IFFT l [n]: Where n is the discrete time sequence number; The output signal of the array is calculated using the following formula: in is the output signal of the array, x l-1 [n] and x l [n] are the time domain signals after IFFT of the l-1th and lth frames respectively, L is the frame length, v is the frame shift, and n is the discrete time sequence number.
Citation Information
Patent Citations
Design method and device of frequency-invariant beam forming device
CN107577872A
Microphone array voice enhancing method based on statistic model
CN107993670A