Method for determining direction of arrival, sound source positioning device and readable storage medium

CN116973842BActive Publication Date: 2026-09-18GEER TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310956162.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-31
Publication Date
2026-09-18
Estimated Expiration
2043-07-31

AI Technical Summary

Technical Problem

[0005]本发明的主要目的在于提供一种波达方向的确定方法,旨在解决如何提高波达方向的计算准确性的问题

Benefits of technology

[0051] This invention provides a method for determining direction of arrival (DOA), a sound source localization device, and a readable storage medium. By taking the magnitude and phase values ​​of an array signal to generate an initial first-mode matrix, the matrix is ​​decomposed into a feature matrix representing the matrix's characteristics and a weight matrix representing the matrix's weights. Then, based on the feature matrix and weight matrix, a second-mode matrix with non-negativity is reconstructed, removing irrelevant features from the array signal. This results in a second-mode matrix with higher sparsity than the first-mode matrix of the array signal, thus making the DOA determined based on the phase information in the second-mode matrix more accurate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116973842B_ABST
    Figure CN116973842B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of sound source positioning, and particularly relates to a method for determining direction of arrival, a sound source positioning device and a readable storage medium. The method comprises: generating a first modulus matrix associated with an array signal according to a modulus value and a phase value of the received array signal; decomposing the first modulus matrix into an eigenmatrix and a weight matrix, wherein the eigenmatrix and the weight matrix are non-negative matrices; generating a second modulus matrix associated with the array signal according to the eigenmatrix and the weight matrix; and determining the direction of arrival of the array signal based on phase information of the second modulus matrix. By reducing the attenuation and reflection interference of the array signal in a free field environment, the direction of arrival determined according to the phase information in the second modulus matrix is more accurate, thereby improving the accuracy of the direction of arrival determination. The problem of how to improve the calculation accuracy of the direction of arrival is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of sound source localization technology, and in particular to a method for determining the direction of arrival, a sound source localization device, and a readable storage medium. Background Technology

[0002] Microphone array localization of sound sources refers to picking up sound signals using a microphone array, then analyzing and processing the sound signals to obtain the location information of one or more sound sources, i.e., estimating the direction of arrival of the sound sources. Related technical solutions typically calculate the direction of arrival based on time delay estimation. Specifically, this involves separating and locating the sparsity of the sound signal to extract useful information, and then measuring the arrival time difference of the same useful information of the sound signal on different array elements to infer the incident angle of the signal.

[0003] However, when this method is applied in a real-world environment, the presence of noise interference in the environment causes the short-time Fourier transform coefficients of the speech signal collected by the microphone to be less sparsity than the short-time Fourier transform coefficients of the clean speech collected in a free field environment. This results in a reduction in the amount of useful information extracted, which in turn reduces the accuracy of the direction of arrival calculation.

[0004] The above content is only used to help understand the technical solution of the present invention and does not represent an admission that the above content is prior art. Summary of the Invention

[0005] The main objective of this invention is to provide a method for determining the direction of arrival, aiming to solve the problem of how to improve the accuracy of the direction of arrival calculation.

[0006] To achieve the above objective, the present invention provides a method for determining the direction of arrival, the method comprising:

[0007] Based on the received magnitude and phase values ​​of the array signals, a first modulus matrix associated with the array signals is generated;

[0008] The first modulus matrix is ​​decomposed into a feature matrix and a weight matrix, wherein the feature matrix and the weight matrix are non-negative matrices;

[0009] Based on the feature matrix and weight matrix, a second modulus matrix associated with the array signals is generated;

[0010] Based on the phase information of the second modulus matrix, the direction of arrival of the array signal is determined.

[0011] Optionally, the step of decomposing the first modulus matrix into a feature matrix and a weight matrix includes:

[0012] Determine the number of rows and columns of the first modular matrix;

[0013] A base matrix is ​​constructed based on the number of rows, and a coefficient matrix is ​​constructed based on the number of columns;

[0014] Determine whether the currently constructed basis matrix and coefficient matrix satisfy preset conditions;

[0015] If not, update the basis matrix and the coefficient matrix based on the preset iterative algorithm, and return to the step of determining whether the basis matrix and the coefficient matrix satisfy the preset conditions;

[0016] If so, the current basis matrix is ​​determined as the feature matrix, and the current coefficient matrix is ​​determined as the weight matrix.

[0017] Optionally, the step of determining whether the currently constructed basis matrix and coefficient matrix satisfy preset conditions includes:

[0018] Determine the first Euclidean distance between the first modulus matrix and the basis matrix, and the second Euclidean distance between the first modulus matrix and the coefficient matrix;

[0019] If the first Euclidean distance is less than a preset first Euclidean distance threshold, and the second Euclidean distance is less than a preset second Euclidean distance threshold, it is determined that the preset condition is met;

[0020] or,

[0021] Determine whether the current number of updates to the base matrix and the coefficient matrix is ​​greater than a preset update number threshold;

[0022] If so, it is determined that the preset conditions are met.

[0023] Optionally, the step of determining the direction of arrival of the array signal based on the phase information of the second modulus matrix includes:

[0024] Select one frequency point from the array signals as the target frequency point;

[0025] Based on the phase information of the target frequency, determine the covariance matrix corresponding to the target frequency;

[0026] The covariance matrix is ​​subjected to eigenvalue decomposition, and the signal subspace matrix and noise subspace matrix corresponding to the target frequency point after decomposition are constructed.

[0027] Based on the noise subspace matrix and the signal subspace matrix, a multi-signal classification spatial spectrum function is constructed.

[0028] Determine the maximum spectral peak value of the multi-signal classification spatial spectral function within a preset range, and determine the direction of arrival of the target frequency point by the angle value corresponding to the maximum spectral peak value;

[0029] Return to the step of selecting a frequency point in the array signal as the target frequency point, until the direction of arrival of each frequency point in the array signal is determined;

[0030] The direction of arrival (DOA) of the array signal is determined based on the DOA of each frequency point.

[0031] Optionally, the step of performing eigenvalue decomposition on the covariance matrix and constructing the signal subspace matrix and noise subspace matrix corresponding to the decomposed covariance matrix includes:

[0032] Determine the eigenvalues ​​and eigenvectors of the covariance matrix;

[0033] Sort the feature values ​​in descending order;

[0034] According to the eigenvalues ​​in descending order, a predetermined number of eigenvectors are selected from each eigenvector as signal subspace eigenvectors, wherein the predetermined number is less than the number of eigenvectors.

[0035] Other feature vectors besides the signal subspace feature vectors are determined as noise subspace feature vectors;

[0036] The spatial matrix formed by the feature vectors of the signal subspace is determined as the signal subspace matrix, and the spatial matrix formed by the feature vectors of the noise subspace is determined as the noise subspace matrix.

[0037] Optionally, the step of constructing a multiple signal classification spatial spectrum function based on the signal subspace matrix and the noise subspace matrix includes:

[0038] Generate an orthogonal projection matrix based on the signal subspace matrix and the noise subspace matrix;

[0039] Determine the conjugate transpose of the orthogonal projection matrix;

[0040] The spatial spectral function for multiple signal classification is determined based on the orthogonal projection matrix and the conjugate transpose matrix.

[0041] Optionally, the step of determining the direction of arrival (DOA) of the array signal based on the DOA at each frequency point includes:

[0042] The direction of arrival with the highest frequency among the various directions of arrival is determined as the direction of arrival of the array signal; or...

[0043] The direction of arrival of the array signal is obtained by taking a weighted average of each of the directions of arrival.

[0044] Optionally, the step of generating the second modulus matrix associated with the array signals based on the feature matrix and the weight matrix includes:

[0045] The second modulus matrix is ​​determined based on the product of the feature matrix and the weight matrix; or,

[0046] Determine the inverse matrix corresponding to the feature matrix, and determine the second modulus matrix based on the product of the inverse matrix and the weight matrix; or,

[0047] Determine the decomposition matrix corresponding to the feature matrix, and determine the second modulus matrix based on the product of the decomposition matrix and the weight matrix; or,

[0048] The block matrix corresponding to the feature matrix is ​​determined, and the second modulus matrix is ​​determined based on the product of the block matrix and the weight matrix, wherein the block structure of the weight matrix is ​​the same as the block structure of the block matrix.

[0049] In addition, to achieve the above objectives, the present invention also provides a sound source localization device, the sound source localization device comprising: a memory, a processor, and a direction of arrival determination program stored in the memory and executable on the processor, wherein the direction of arrival determination program, when executed by the processor, implements the steps of the direction of arrival determination method as described above.

[0050] In addition, to achieve the above objectives, the present invention also provides a computer-readable storage medium storing a direction-of-arrival determination program, which, when executed by a processor, implements the steps of the direction-of-arrival determination method as described above.

[0051] This invention provides a method for determining direction of arrival (DOA), a sound source localization device, and a readable storage medium. By taking the magnitude and phase values ​​of an array signal to generate an initial first-mode matrix, the matrix is ​​decomposed into a feature matrix representing the matrix's characteristics and a weight matrix representing the matrix's weights. Then, based on the feature matrix and weight matrix, a second-mode matrix with non-negativity is reconstructed, removing irrelevant features from the array signal. This results in a second-mode matrix with higher sparsity than the first-mode matrix of the array signal, thus making the DOA determined based on the phase information in the second-mode matrix more accurate. Attached Figure Description

[0052] Figure 1 This is a schematic diagram of the hardware operating environment of the sound source localization device according to an embodiment of the present invention;

[0053] Figure 2 This is a flowchart illustrating the first embodiment of the method for determining the direction of arrival of the present invention.

[0054] Figure 3 This is a flowchart illustrating a second embodiment of the method for determining the direction of arrival of the present invention.

[0055] Figure 4 This is a flowchart illustrating a third embodiment of the method for determining the direction of arrival of the present invention.

[0056] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0057] This application generates an original first modulus matrix by taking the modulus and phase values ​​of the array signal. Then, it decomposes the modulus matrix into a feature matrix that represents the characteristics of the matrix and a weight matrix that represents the weight of the matrix. Based on the feature matrix and the weight matrix, it reconstructs a second modulus matrix with non-negativity, which removes irrelevant features from the array signal. This makes the sparsity of the second modulus matrix higher than that of the first modulus matrix of the array signal, thereby making the direction of arrival determined based on the phase information in the second modulus matrix more accurate.

[0058] To better understand the above technical solutions, exemplary embodiments of this disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of this disclosure to those skilled in the art.

[0059] As one implementation scheme, Figure 1 This is a schematic diagram of the hardware operating environment of the sound source localization device involved in the embodiment of the present invention.

[0060] like Figure 1 As shown, the sound source localization device may include: a processor 1001, such as a CPU; a memory 1005; a user interface 1003; a network interface 1004; and a communication bus 1002. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be a high-speed RAM or a stable, non-volatile memory, such as a disk drive. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0061] Those skilled in the art will understand that Figure 1 The sound source localization device architecture shown does not constitute a limitation on the sound source localization device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0062] like Figure 1 As shown, the memory 1005, which serves as a storage medium, may include an operating system, a network communication module, a user interface module, and a direction-of-arrival (DOA) determination program. The operating system is a program that manages and controls the hardware and software resources of the sound source localization device, the DOA determination program, and the operation of other software or programs.

[0063] exist Figure 1 In the sound source localization device shown, the user interface 1003 is mainly used to connect to the terminal and communicate with the terminal; the network interface 1004 is mainly used to communicate with the backend server; and the processor 1001 can be used to call the wave direction determination program stored in the memory 1005.

[0064] In this embodiment, the sound source localization device includes: a memory 1005, a processor 1001, and a direction-of-arrival determination program stored in the memory and executable on the processor, wherein:

[0065] When processor 1001 calls the direction of arrival determination program stored in memory 1005, it performs the following operations:

[0066] Based on the received magnitude and phase values ​​of the array signals, a first modulus matrix associated with the array signals is generated;

[0067] The first modulus matrix is ​​decomposed into a feature matrix and a weight matrix, wherein the feature matrix and the weight matrix are non-negative matrices;

[0068] Based on the feature matrix and weight matrix, a second modulus matrix associated with the array signals is generated;

[0069] Based on the phase information of the second modulus matrix, the direction of arrival of the array signal is determined.

[0070] When processor 1001 calls the direction of arrival determination program stored in memory 1005, it performs the following operations:

[0071] Determine the number of rows and columns of the first modular matrix;

[0072] A base matrix is ​​constructed based on the number of rows, and a coefficient matrix is ​​constructed based on the number of columns;

[0073] Determine whether the currently constructed basis matrix and coefficient matrix satisfy preset conditions;

[0074] If not, update the basis matrix and the coefficient matrix based on the preset iterative algorithm, and return to the step of determining whether the basis matrix and the coefficient matrix satisfy the preset conditions;

[0075] If so, the current basis matrix is ​​determined as the feature matrix, and the current coefficient matrix is ​​determined as the weight matrix.

[0076] When processor 1001 calls the direction of arrival determination program stored in memory 1005, it performs the following operations:

[0077] Determine the first Euclidean distance between the first modulus matrix and the basis matrix, and the second Euclidean distance between the first modulus matrix and the coefficient matrix;

[0078] If the first Euclidean distance is less than a preset first Euclidean distance threshold, and the second Euclidean distance is less than a preset second Euclidean distance threshold, it is determined that the preset condition is met;

[0079] or,

[0080] Determine whether the current number of updates to the base matrix and the coefficient matrix is ​​greater than a preset update number threshold;

[0081] If so, it is determined that the preset conditions are met.

[0082] When processor 1001 calls the direction of arrival determination program stored in memory 1005, it performs the following operations:

[0083] Select one frequency point from the array signals as the target frequency point;

[0084] Based on the phase information of the target frequency, determine the covariance matrix corresponding to the target frequency;

[0085] The covariance matrix is ​​subjected to eigenvalue decomposition, and the signal subspace matrix and noise subspace matrix corresponding to the target frequency point after decomposition are constructed.

[0086] Based on the noise subspace matrix and the signal subspace matrix, a multi-signal classification spatial spectrum function is constructed.

[0087] Determine the maximum spectral peak value of the multi-signal classification spatial spectral function within a preset range, and determine the direction of arrival of the target frequency point by the angle value corresponding to the maximum spectral peak value;

[0088] Return to the step of selecting a frequency point in the array signal as the target frequency point, until the direction of arrival of each frequency point in the array signal is determined;

[0089] The direction of arrival (DOA) of the array signal is determined based on the DOA of each frequency point.

[0090] When processor 1001 calls the direction of arrival determination program stored in memory 1005, it performs the following operations:

[0091] Determine the eigenvalues ​​and eigenvectors of the covariance matrix;

[0092] Sort the feature values ​​in descending order;

[0093] According to the eigenvalues ​​in descending order, a predetermined number of eigenvectors are selected from each eigenvector as signal subspace eigenvectors, wherein the predetermined number is less than the number of eigenvectors.

[0094] Other feature vectors besides the signal subspace feature vectors are determined as noise subspace feature vectors;

[0095] The spatial matrix formed by the feature vectors of the signal subspace is determined as the signal subspace matrix, and the spatial matrix formed by the feature vectors of the noise subspace is determined as the noise subspace matrix.

[0096] When processor 1001 calls the direction of arrival determination program stored in memory 1005, it performs the following operations:

[0097] Generate an orthogonal projection matrix based on the signal subspace matrix and the noise subspace matrix;

[0098] Determine the conjugate transpose of the orthogonal projection matrix;

[0099] The spatial spectral function for multiple signal classification is determined based on the orthogonal projection matrix and the conjugate transpose matrix.

[0100] When processor 1001 calls the direction of arrival determination program stored in memory 1005, it performs the following operations:

[0101] The direction of arrival with the highest frequency among the various directions of arrival is determined as the direction of arrival of the array signal; or...

[0102] The direction of arrival of the array signal is obtained by taking a weighted average of each of the directions of arrival.

[0103] When processor 1001 calls the direction of arrival determination program stored in memory 1005, it performs the following operations:

[0104] The second modulus matrix is ​​determined based on the product of the feature matrix and the weight matrix; or,

[0105] Determine the inverse matrix corresponding to the feature matrix, and determine the second modulus matrix based on the product of the inverse matrix and the weight matrix; or,

[0106] Determine the decomposition matrix corresponding to the feature matrix, and determine the second modulus matrix based on the product of the decomposition matrix and the weight matrix; or,

[0107] The block matrix corresponding to the feature matrix is ​​determined, and the second modulus matrix is ​​determined based on the product of the block matrix and the weight matrix, wherein the block structure of the weight matrix is ​​the same as the block structure of the block matrix.

[0108] Based on the hardware architecture of the sound source localization device based on the above sound source localization technology, an embodiment of the method for determining the direction of arrival of the present invention is proposed.

[0109] Reference Figure 2 In the first embodiment, the method for determining the direction of arrival includes the following steps:

[0110] Step S10: Generate a first modulus matrix associated with the received array signal based on the modulus and phase values ​​of the array signal;

[0111] In this embodiment, the sound source localization device is equipped with a microphone array. The microphone array receives sound signals emitted by one or more sound sources to determine the location information of the sound sources. Here, the array signal refers to the signal received by the microphone array composed of multiple microphones.

[0112] After receiving the array signal, the microphone array sends it to the calculation module of the sound source localization device. The calculation module then calculates the magnitude and phase value of the array signal. The magnitude of the array signal refers to the amplitude of the signal, i.e., the maximum amplitude of the signal. The phase value refers to the phase angle of the signal, i.e., the relative offset or delay of the signal.

[0113] As an alternative implementation, the magnitude and phase values ​​of the array signal can be determined by obtaining the array signal through short-time Fourier transform, or by using wavelet transform or cosine transform.

[0114] The calculation module in the sound source localization device then generates a modulus matrix associated with the array signal based on the modulus and phase values, which serves as the original first modulus matrix. The first modulus matrix is ​​represented by the phase matrix obtained by the array signal through a short-time Fourier transform.

[0115] As an optional implementation, the array signal is segmented using a window function, with each window having a size of N. Then, a Fourier transform is performed on the signal within each window to obtain a complex frequency domain representation of the array signal. Next, the modulus of each complex frequency domain representation is taken to obtain the amplitude of each frequency component within that window. Finally, the phase angle of each complex frequency domain representation is taken to obtain the phase angle of each frequency component within that window. The amplitudes obtained from taking the modulus of each window are arranged in chronological order to obtain the modulus matrix of the short-time Fourier transform. Finally, the phase angles obtained from taking the phase of each window are arranged in chronological order to obtain the phase matrix of the short-time Fourier transform, i.e., the first modulus matrix.

[0116] Step S20: Decompose the first modulus matrix into a feature matrix and a weight matrix, wherein the feature matrix and the weight matrix are non-negative matrices;

[0117] Step S30: Generate the second modulus matrix associated with the array signals based on the feature matrix and the weight matrix;

[0118] In this embodiment, after obtaining the first mode matrix, since the sparsity of the Fourier transform coefficients of the array signal collected by the microphone is less than the sparsity of the short-time Fourier transform coefficients in the ideal state, the first mode matrix needs to be reconstructed to improve its sparsity in order to more accurately determine the direction of arrival of the array signal.

[0119] In this embodiment, nonnegative matrix factorization is used to decompose and reconstruct the first modulus matrix to obtain a second modulus matrix with stronger sparsity. The first modulus matrix is ​​decomposed into a feature matrix and a weight matrix, and then the second modulus matrix is ​​reconstructed based on the feature matrix and the weight matrix. The second modulus matrix is ​​an equivalent matrix to the first modulus matrix.

[0120] It should be noted that since the feature matrix only contains the feature part of the first modulus matrix and the weight matrix only contains the weight part of the first modulus matrix, the second modulus matrix constructed based on the feature matrix and the weight matrix removes irrelevant feature parts from the array signal, and its sparsity is stronger.

[0121] As an optional implementation, a basis matrix and a coefficient matrix can be initialized based on a preset heuristic algorithm. The basis matrix and coefficient matrix are then iteratively updated repeatedly under certain conditions until those conditions are met. The currently updated basis matrix is ​​then determined as the feature matrix, and the resulting coefficient matrix is ​​the weight matrix. Finally, based on the feature matrix and the weight matrix, a second modulus matrix associated with the array signals is generated.

[0122] Optionally, this embodiment provides the following four methods for generating the second modulus matrix based on the feature matrix and the weight matrix:

[0123] First, directly multiply the feature matrix by the weight matrix to obtain the second modulus matrix.

[0124] 2. Invert the characteristic matrix, and multiply the resulting inverse matrix with the coefficient matrix to obtain the second modulus matrix.

[0125] Third, decompose the characteristic matrix to obtain the decomposition matrix. Multiply the decomposition matrix and the coefficient matrix to obtain the second modulus matrix. Alternatively, orthogonal triangular decomposition or singular value decomposition can be used to solve for the decomposition matrix.

[0126] Fourth, according to the block structure of the feature matrix, the feature matrix is ​​divided into blocks to obtain block matrices with the same block structure. The second modulus matrix is ​​obtained by multiplying the block matrices and the coefficient matrix.

[0127] The above four matrix generation methods can be selected according to actual needs, and are not limited in this embodiment.

[0128] Step S40: Determine the direction of arrival of the array signal based on the phase information of the second modulus matrix.

[0129] In this embodiment, after generating the second modulus matrix, the array signal is analyzed based on the known phase information in the second modulus matrix to determine the direction of arrival (DOA) of the array signal. The phase information includes the phase angle of the array signal, i.e., the relative offset or delay of the signal.

[0130] It should be noted that since the second modulus matrix constructed from the feature matrix and the weight matrix removes irrelevant feature parts from the array signal, its own sparsity is stronger, which reduces the attenuation and reflection interference of the array signal in the free field environment, thereby making the accuracy of the determined direction of arrival of the array signal higher.

[0131] In the technical solution provided in this embodiment, after generating an original first mode matrix by taking the magnitude and phase values ​​of the array signal, the mode matrix is ​​decomposed into a feature matrix representing the matrix characteristics and a weight matrix representing the matrix weights. Then, a second mode matrix with non-negativity is reconstructed based on the feature matrix and the weight matrix, which removes irrelevant feature parts from the array signal. This makes the sparsity of the second mode matrix higher than that of the first mode matrix of the array signal, reducing the attenuation and reflection interference experienced by the array signal in a free field environment. As a result, the direction of arrival determined based on the phase information in the second mode matrix is ​​more accurate, thus improving the accuracy of the direction of arrival determination.

[0132] Reference Figure 3 In the second embodiment, based on the first embodiment, step S20 includes:

[0133] Step S21: Determine the number of rows and columns of the first modular matrix;

[0134] Step S22, constructing a basis matrix based on the number of rows, and constructing a coefficient matrix based on the number of columns;

[0135] Step S23, determining whether the currently constructed basis matrix and the coefficient matrix satisfy a preset condition;

[0136] Step S24, if not, updating the basis matrix and the coefficient matrix based on a preset iterative algorithm, and returning to execute the step of determining whether the basis matrix and the coefficient matrix satisfy the preset condition;

[0137] Step S25, if yes, determining the current basis matrix as the feature matrix, and determining the current coefficient matrix as the weight matrix.

[0138] As an optional embodiment, this embodiment provides an implementation mode of how to decompose a first mode matrix to obtain a feature matrix and a weight matrix.

[0139] First, let the first mode matrix be an N*M matrix, with N rows and M columns. An N*K basis matrix A is constructed according to the number of rows N, and a K*M coefficient matrix B is constructed according to the number of columns M, wherein K is a preset parameter, and K<M and K<N.

[0140] Then, determining whether the currently constructed basis matrix A and coefficient matrix B satisfy a preset condition. If not, it means that the error of the currently constructed matrix is still large, therefore, iterative updating is required for the basis matrix A and the coefficient matrix B to optimize the matrices, and after the iterative updating, it is determined again whether the currently updated basis matrix A and coefficient matrix B satisfy the preset condition, and this cycle is repeated until the condition is satisfied.

[0141] It should be noted that during the iterative updating process, the number of rows and the number of columns of the basis matrix and the coefficient matrix remain unchanged.

[0142] Optionally, the iterative algorithm may be gradient descent method, conjugate gradient method, simulated annealing algorithm, etc.

[0143] After the condition is satisfied, it means that the error of the currently constructed matrix is small, then the current basis matrix is determined as the feature matrix, and the current coefficient matrix is determined as the weight matrix.

[0144] In the technical solution provided in this embodiment, a basis matrix is ​​constructed based on the number of rows of the first modulus matrix, and a coefficient matrix is ​​constructed based on the number of columns of the first modulus matrix. The error between the constructed basis matrix and the coefficient matrix is ​​calculated, and the basis matrix with smaller error is output as the feature matrix of the first modulus matrix, and the coefficient matrix with smaller error is output as the weight matrix of the first modulus matrix. This filters out irrelevant feature parts in the array signal as much as possible, making the sparsity of the subsequently constructed second modulus matrix stronger. As a result, the direction of arrival determined based on the phase information of the second modulus matrix will be more accurate, thus achieving the effect of improving the accuracy of direction of arrival determination.

[0145] Furthermore, in this embodiment, step S23 includes:

[0146] Step S231: Determine the first Euclidean distance between the first modulus matrix and the basis matrix, and the second Euclidean distance between the first modulus matrix and the coefficient matrix;

[0147] Step S232: If the first Euclidean distance is less than a preset first Euclidean distance threshold and the second Euclidean distance is less than a preset second Euclidean distance threshold, it is determined that the preset condition is met.

[0148] Alternatively, in step S233, determine whether the current number of updates to the base matrix and the coefficient matrix is ​​greater than a preset number of updates threshold.

[0149] Step S234: If yes, determine that the preset conditions are met.

[0150] Optionally, this embodiment also provides two preset conditions as matrix error judgment conditions.

[0151] First, matrix error is determined based on Euclidean distance. A preset condition is met when the first Euclidean distance between the base matrix and the first modular matrix is ​​less than a first Euclidean distance threshold, and when the second Euclidean distance between the coefficient matrix and the first modular matrix is ​​less than a second Euclidean distance threshold.

[0152] For example, let the first modular matrix be X, the basis matrix be A, and the coefficient matrix be B;

[0153] For the first Euclidean distance, subtract the corresponding elements of the first modulus matrix X from the basis matrix A, then take the absolute value of the difference and sum them up, i.e.:

[0154]

[0155] For the second Euclidean distance, we first need to calculate the product XB of the first modulus matrix X and the matrix with coefficients B. Then, we subtract the corresponding element of the original matrix from each element of the product matrix XB, and finally square and sum the differences, i.e.:

[0156]

[0157] Second, the matrix error is determined based on the number of times the matrix is ​​updated. If the number of updates of the current base matrix and the coefficient matrix is ​​greater than the preset number of updates threshold, then the condition is satisfied.

[0158] Optionally, the update count threshold can be set to 50 times.

[0159] Reference Figure 4 In the third embodiment, step S40 includes:

[0160] Step S41: Select a frequency point from the array signal as the target frequency point;

[0161] Step S42: Determine the covariance matrix corresponding to the target frequency point based on the phase information of the target frequency point;

[0162] Step S43: Perform eigenvalue decomposition on the covariance matrix and construct the signal subspace matrix and noise subspace matrix corresponding to the target frequency point after decomposition.

[0163] Step S44: Construct a multi-signal classification spatial spectrum function based on the noise subspace matrix and the signal subspace matrix;

[0164] Step S45: Determine the maximum spectral peak value of the multi-signal classification spatial spectrum function within a preset range, and determine the direction of arrival of the target frequency point by the angle value corresponding to the maximum spectral peak value;

[0165] Step S46: Return to the step of selecting a frequency point in the array signal as the target frequency point, until the direction of arrival of each frequency point in the array signal is determined;

[0166] Step S47: Determine the direction of arrival of the array signal based on the direction of arrival of each frequency point.

[0167] As an alternative embodiment, this embodiment provides how to determine the direction of arrival of an array signal based on the phase information in the reconstructed second-mode matrix.

[0168] First, select a frequency point in the array signal as the target frequency point. Then, determine the covariance matrix corresponding to the target frequency point based on its phase information.

[0169] For example, let the target frequency be x, and its corresponding phase information be x(t, k). Substitute x(t, k) into the covariance matrix R. x In the middle, we get:

[0170] R x=E[x(t,k)x H (t,k)]

[0171] Optionally, prior to this step, in order to further improve the resolution and frequency discrimination capability of the array signal, mean filter and Gaussian filter can be used to perform forward and backward spatial smoothing of the array signal, or the array signal can be processed by direct path testing.

[0172] Furthermore, the covariance matrix is ​​subjected to eigenvalue decomposition, and the signal subspace matrix and noise subspace matrix corresponding to the target frequency point after decomposition are constructed.

[0173] Furthermore, based on the noise subspace matrix and the signal subspace matrix, a multi-signal classification spatial spectrum function is constructed.

[0174] Furthermore, the maximum spectral peak value of the multi-signal classification spatial spectral function within a preset range is determined, and the angle value corresponding to the maximum spectral peak value is used to determine the direction of arrival of the target frequency. Optionally, the preset range can be within 180 degrees.

[0175] Furthermore, after obtaining the direction of arrival (DOA) of the target frequency, the process returns to determine the DOA of other frequencies in the array signal, until the DOA of each frequency in the array signal is determined.

[0176] Finally, the direction of arrival of the array signal is determined by combining the directions of arrival at each frequency point.

[0177] In the technical solution provided in this embodiment, a multi-signal classification spatial spectrum function is constructed using the orthogonality of the signal subspace and the noise subspace. The beneficial effect of constructing this function is that it can improve classification accuracy and anti-interference capability. Since the signal subspace and the noise subspace are orthogonal, signals and noise can be effectively separated, thereby achieving accurate classification of different signals. Furthermore, the multi-signal classification spatial spectrum function can adapt to different signal scenarios by selecting different feature parameters, improving the applicability and robustness of the algorithm, and ultimately increasing the accuracy of direction-of-arrival determination.

[0178] Furthermore, in this embodiment, step S43 includes:

[0179] Step S431: Determine the eigenvalues ​​and eigenvectors of the covariance matrix;

[0180] Step S432: Sort the feature values ​​in descending order;

[0181] Step S433: Select a preset number of feature vectors from each feature vector according to the order of the feature values ​​from largest to smallest, as the signal subspace feature vectors, wherein the preset number is less than the number of feature vectors;

[0182] Step S434: Determine the feature vectors other than the signal subspace feature vectors as noise subspace feature vectors;

[0183] Step S435: Determine the spatial matrix formed by the feature vectors of the signal subspace as the signal subspace matrix, and determine the spatial matrix formed by the feature vectors of the noise subspace as the noise subspace matrix.

[0184] Optionally, this embodiment also provides a method for performing eigenvalue decomposition on the covariance matrix.

[0185] Specifically, let the covariance matrix be R. x The eigenvalues ​​are λ1, λ2, ..., λn, and the corresponding eigenvectors are k1, k2, ..., kn. Since the eigenvectors corresponding to the noise subspace are composed of the eigenvectors corresponding to the smallest nm eigenvalues, where m is the dimension of the signal subspace (the eigenvectors related to the signal), we need to select the eigenvectors corresponding to the smallest nm eigenvalues.

[0186] First, for the covariance matrix R x Eigenvalue decomposition is performed to obtain eigenvalues ​​λ1, λ2...λn and corresponding eigenvectors k1, k2...kn.

[0187] Sort the eigenvalues ​​in descending order, assuming that the sorted order is λ1>λ2...λn-1>λn.

[0188] The first m eigenvectors k1, k2...km are used to form a signal subspace matrix S, where m is the dimension of the signal subspace.

[0189] The last nm eigenvectors km+1, km+2...kn form the noise subspace matrix N.

[0190] In the technical solution provided in this embodiment, the covariance matrix is ​​decomposed into eigenvalues ​​and eigenvectors through eigenvalue decomposition. The eigenvectors constitute the signal subspace matrix, while the eigenvectors with smaller eigenvalues ​​constitute the noise subspace matrix. Therefore, by processing the covariance matrix through eigenvalue decomposition, the signal and noise can be separated, thereby achieving accurate detection of the target frequency and noise suppression, and improving the accuracy of direction of arrival determination.

[0191] Furthermore, in this embodiment, step S44 includes:

[0192] Step S441: Generate an orthogonal projection matrix based on the signal subspace matrix and the noise subspace matrix;

[0193] Step S442: Determine the conjugate transpose of the orthogonal projection matrix;

[0194] Step S443: Determine the multi-signal classification spatial spectrum function based on the orthogonal projection matrix and the conjugate transpose matrix.

[0195] Optionally, this embodiment also provides a method for generating a multi-signal classification spatial spectrum function based on the signal subspace matrix and the noise subspace matrix.

[0196] Specifically, let the ranks of the signal subspace matrix S and the noise subspace matrix N be r_{S} and r_{N}, respectively, and let r = r_{S} + r_{N}.

[0197] Construct an orthogonal basis P_{S} for the signal subspace and an orthogonal basis P_{N} for the noise subspace:

[0198] P_{S}=S(S T S) -1 S T

[0199] P_{N}=N(N T N) -1 N T

[0200] Combining two orthogonal bases yields the matrix H = P_{S} + P_{N} - I, where I is an r*r identity matrix.

[0201] Calculate the eigenvalues ​​and eigenvectors of matrix H, and sort the eigenvectors in descending order of eigenvalues.

[0202] Construct an orthogonal projection matrix U by selecting the first k eigenvectors. k , where k is the number of categories.

[0203] Determine the orthogonal projection matrix U k The conjugate transpose matrix is

[0204] Construct the spatial spectrum function F(ω) for multiple signal classification:

[0205]

[0206] Where H(ω) is the value of matrix H at frequency ω.

[0207] In the technical solution provided in this embodiment, an orthogonal projection matrix is ​​generated based on the signal subspace matrix and the noise subspace matrix. Then, the conjugate transpose of the orthogonal projection matrix is ​​determined. Finally, a multi-signal classification spatial spectrum function is obtained based on the orthogonal projection matrix and the conjugate transpose matrix. This achieves the classification and separation of array signals, thereby improving the accuracy and reliability of signal processing and enhancing the precision of direction-of-arrival determination.

[0208] Furthermore, in this embodiment, step S47 includes:

[0209] Step S471: Determine the direction of arrival with the highest frequency among the various directions of arrival as the direction of arrival of the array signal;

[0210] Alternatively, in step S472, a weighted average is performed on each of the directions of arrival to obtain the direction of arrival of the array signal.

[0211] Alternatively, this embodiment provides two different implementation methods for determining the direction of arrival of array signals.

[0212] First, select the direction of arrival (DOA) with the highest probability of occurrence among each frequency point as the DOA of the array signal.

[0213] It should be noted that this implementation method is suitable for situations where there is a clearly dominant direction of arrival (DOA) in the array signal. If the dominant DOA in the array signal is not clearly defined, the following implementation method can be considered:

[0214] Second, perform a weighted average on each direction of arrival, and use the weighted average direction of arrival as the direction of arrival of the array signal.

[0215] This embodiment provides two different implementation methods for determining the direction of arrival (DOA) of an array signal. When a dominant DOA exists in the array signal, the DOA with the highest probability of occurrence among all frequency points is selected as the DOA of the array signal. If the DOA is not dominant, a weighted average is taken of all DOAs, and the weighted average DOA is used as the DOA of the array signal, thus improving the accuracy of DOA determination.

[0216] Furthermore, those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program includes program instructions and can be stored in a storage medium, which is a computer-readable storage medium. The program instructions are executed by at least one processor in the sound source localization device to implement the process steps of the embodiments of the above methods.

[0217] Therefore, the present invention also provides a computer-readable storage medium storing a direction-of-arrival determination program, which, when executed by a processor, implements the various steps of the direction-of-arrival determination method as described in the above embodiments.

[0218] The computer-readable storage medium can be any computer-readable storage medium capable of storing program code, such as a USB flash drive, portable hard drive, read-only memory (ROM), magnetic disk, or optical disk.

[0219] It should be noted that, since the storage medium provided in the embodiments of this application is the storage medium used to implement the methods of the embodiments of this application, those skilled in the art can understand the specific structure and variations of the storage medium based on the methods described in the embodiments of this application, and therefore will not be repeated here. All storage media used in the methods of the embodiments of this application fall within the scope of protection of this application.

[0220] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0221] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0222] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0223] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0224] It should be noted that any reference signs placed between parentheses in the claims should not be construed as limiting the claims. The word "comprising" does not exclude the presence of components or steps not listed in the claims. The word "a" or "an" preceding a component does not exclude the presence of a plurality of such components. The invention can be implemented by means of hardware comprising several different components and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.

[0225] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the invention.

[0226] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A method for determining the direction of arrival, characterized in that, The method for determining the direction of arrival includes the following steps: A short-time Fourier transform is performed on the array signal received by the microphone array to obtain the modulus and phase values. Based on the modulus and phase values ​​of the received array signal, a first modulus matrix associated with the array signal is generated. Determine the number of rows and columns of the first modular matrix; A base matrix is ​​constructed based on the number of rows, and a coefficient matrix is ​​constructed based on the number of columns; Determine whether the currently constructed basis matrix and coefficient matrix satisfy preset conditions; If not, update the basis matrix and the coefficient matrix based on the preset iterative algorithm, and return to the step of determining whether the basis matrix and the coefficient matrix satisfy the preset conditions; If so, the current basis matrix is ​​determined as the feature matrix, and the current coefficient matrix is ​​determined as the weight matrix, wherein the feature matrix and the weight matrix are non-negative matrices; Based on the feature matrix and weight matrix, a second modulus matrix associated with the array signals is generated; Based on the phase information of the second modulus matrix, the direction of arrival of the array signal is determined, including selecting a frequency point in the array signal as the target frequency point; Based on the phase information of the target frequency, determine the covariance matrix corresponding to the target frequency; The covariance matrix is ​​subjected to eigenvalue decomposition, and the signal subspace matrix and noise subspace matrix corresponding to the target frequency point after decomposition are constructed. Based on the noise subspace matrix and the signal subspace matrix, a multi-signal classification spatial spectrum function is constructed. Determine the maximum spectral peak value of the multi-signal classification spatial spectral function within a preset range, and determine the direction of arrival of the target frequency point by the angle value corresponding to the maximum spectral peak value; Return to the step of selecting a frequency point in the array signal as the target frequency point, until the direction of arrival of each frequency point in the array signal is determined; The direction of arrival (DOA) of the array signal is determined based on the DOA of each frequency point.

2. The method for determining the direction of arrival as described in claim 1, characterized in that, The step of determining whether the currently constructed basis matrix and coefficient matrix satisfy the preset conditions includes: Determine the first Euclidean distance between the first modulus matrix and the basis matrix, and the second Euclidean distance between the first modulus matrix and the coefficient matrix; If the first Euclidean distance is less than a preset first Euclidean distance threshold, and the second Euclidean distance is less than a preset second Euclidean distance threshold, it is determined that the preset condition is met; or, Determine whether the current number of updates to the base matrix and the coefficient matrix is ​​greater than a preset update number threshold; If so, it is determined that the preset conditions are met.

3. The method for determining the direction of arrival as described in claim 1, characterized in that, The steps of performing eigenvalue decomposition on the covariance matrix and constructing the signal subspace matrix and noise subspace matrix corresponding to the decomposed covariance matrix include: Determine the eigenvalues ​​and eigenvectors of the covariance matrix; Sort the feature values ​​in descending order; According to the eigenvalues ​​in descending order, a predetermined number of eigenvectors are selected from each eigenvector as signal subspace eigenvectors, wherein the predetermined number is less than the number of eigenvectors. Other feature vectors besides the signal subspace feature vectors are determined as noise subspace feature vectors; The spatial matrix formed by the feature vectors of the signal subspace is determined as the signal subspace matrix, and the spatial matrix formed by the feature vectors of the noise subspace is determined as the noise subspace matrix.

4. The method for determining the direction of arrival as described in claim 1, characterized in that, The step of constructing the multi-signal classification spatial spectrum function based on the signal subspace matrix and the noise subspace matrix includes: Generate an orthogonal projection matrix based on the signal subspace matrix and the noise subspace matrix; Determine the conjugate transpose of the orthogonal projection matrix; The spatial spectral function for multiple signal classification is determined based on the orthogonal projection matrix and the conjugate transpose matrix.

5. The method for determining the direction of arrival as described in claim 1, characterized in that, The step of determining the direction of arrival (DOA) of the array signal based on the DOA at each frequency point includes: The direction of arrival with the highest frequency among the various directions of arrival is determined as the direction of arrival of the array signal; or... The direction of arrival of the array signal is obtained by taking a weighted average of each of the directions of arrival.

6. The method for determining the direction of arrival as described in any one of claims 1 to 5, characterized in that, The step of generating the second modulus matrix associated with the array signals based on the feature matrix and the weight matrix includes: The second modulus matrix is ​​determined based on the product of the feature matrix and the weight matrix; or, Determine the inverse matrix corresponding to the feature matrix, and determine the second modulus matrix based on the product of the inverse matrix and the weight matrix; or, Determine the decomposition matrix corresponding to the feature matrix, and determine the second modulus matrix based on the product of the decomposition matrix and the weight matrix; or, The block matrix corresponding to the feature matrix is ​​determined, and the second modulus matrix is ​​determined based on the product of the block matrix and the weight matrix, wherein the block structure of the weight matrix is ​​the same as the block structure of the block matrix.

7. A sound source localization device, characterized in that, The sound source localization device includes: a memory, a processor, and a direction-of-arrival determination program stored in the memory and executable on the processor. When the direction-of-arrival determination program is executed by the processor, it implements the steps of the direction-of-arrival determination method as described in any one of claims 1 to 6.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a direction-of-arrival determination program, which, when executed by a processor, implements the steps of the direction-of-arrival determination method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method and device for determining common period of multiple signals and readable storage medium

    CN110378320A

  • Sound signal separation method and system

    CN114898768A