Signal processing method, chip, electronic device, and storage medium

By identifying ill-conditioned matrices and implementing diagonal loading and protection mechanisms in the blind source separation algorithm, the robustness and performance issues of the blind source separation algorithm in complex environments are resolved, thereby improving the accuracy and stability of speech signal recognition.

CN115985338BActive Publication Date: 2026-03-17UNISOC CHONGQING TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-10
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing blind source separation algorithms lack robustness when facing complex environmental noise and interference, leading to a decline in algorithm performance. Furthermore, matrix ill-conditionedness affects the stability and convergence speed of the algorithm.

Method used

By assessing the degree of ill-conditioning during covariance matrix estimation and unmixing matrix update, implementing diagonal loading and protection mechanisms, and selecting the optimal loading method, the robustness and stability of the algorithm are ensured.

Benefits of technology

It improves the robustness and signal-to-noise ratio of the blind source separation algorithm, enhances the accuracy of speech signal recognition, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115985338B_ABST
    Figure CN115985338B_ABST
Patent Text Reader

Abstract

This application provides a signal processing method, chip, electronic device, and storage medium. The method includes: acquiring an input signal, wherein the input signal is a speech signal received by multiple microphones; estimating the covariance matrix of the Nth frame of the input signal to obtain a target covariance matrix of the Nth frame; updating the demixing matrix based on the target covariance matrix of the Nth frame to obtain target elements in the demixing matrix of the Nth frame; performing amplitude demixing based on the target elements in the demixing matrix of the Nth frame to obtain a target demixing matrix of the Nth frame; and performing signal separation based on the target demixing matrix of the Nth frame and the input signal of the Nth frame to obtain an output signal of the Nth frame. The method provided in this application helps to balance the performance and robustness of blind source separation algorithms and improve the signal-to-noise ratio of speech signals.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of signal processing, and more particularly to a signal processing method, a chip, an electronic device, and a storage medium. Background Technology

[0002] With the continuous development of artificial intelligence (AI) voice technology, intelligent voice interaction systems have been widely used. However, due to the complexity of the external environment, the accuracy of voice recognition systems can be affected by various factors such as noise, interference, echo, and reverberation.

[0003] Currently, beamforming or blind source separation techniques are commonly used to mitigate these effects. For blind source separation, the complexity of external environmental factors necessitates high robustness of the algorithm. However, current blind source separation algorithms often exhibit some robustness issues. Improving robustness increases complexity, which in turn reduces performance. Therefore, striking a balance between performance and robustness is a pressing problem that needs to be addressed. Summary of the Invention

[0004] This application provides a signal processing method, chip, electronic device, and storage medium that helps to balance performance and robustness in blind source separation algorithms and improve the signal-to-noise ratio of speech signals.

[0005] In a first aspect, this application provides a signal processing method, comprising:

[0006] Acquire an input signal, wherein the input signal is a voice signal received by multiple microphones;

[0007] The covariance matrix of the Nth frame in the input signal is estimated to obtain the target covariance matrix of the Nth frame.

[0008] The unmixing matrix is ​​updated based on the target covariance matrix of the Nth frame to obtain the target element in the unmixing matrix of the Nth frame;

[0009] Amplitude demixing is performed based on the target elements in the demixing matrix of the Nth frame to obtain the target demixing matrix of the Nth frame;

[0010] Based on the target demixing matrix of the Nth frame and the input signal of the Nth frame, signal separation is performed to obtain the output signal of the Nth frame;

[0011] In the process of estimating the covariance matrix of the Nth frame, the ill-conditioned degree of the target covariance matrix of the (N-1)th frame is judged, and the target covariance matrix of the Nth frame is determined based on the judgment result. The (N-1)th frame is the previous frame of the Nth frame, and N is a positive integer greater than 2.

[0012] In this application, by judging the ill-conditioned matrix when estimating the covariance matrix, the optimal loading can be selected, thereby ensuring both the convergence speed and stability of the algorithm, and thus improving the robustness and signal-to-noise ratio of the algorithm.

[0013] In one possible implementation, the step of judging the ill-conditioned nature of the target covariance matrix of the (N-1)th frame and determining the target covariance matrix of the Nth frame based on the judgment result includes:

[0014] If the condition number of the target covariance matrix in the (N-1)th frame is greater than the preset first threshold, diagonal loading is performed to obtain the target covariance matrix in the Nth frame.

[0015] In one possible implementation, the weight values ​​for diagonal loading are determined by the diagonal elements of the covariance matrix of the Nth frame.

[0016] In one possible implementation, the step of performing amplitude demixing based on the target elements in the demixing matrix of the Nth frame to obtain the target demixing matrix of the Nth frame includes:

[0017] During amplitude demixing, the ill-conditioning degree of the target demixing matrix of the (N-1)th frame is judged, and the target demixing matrix of the Nth frame is determined based on the judgment result.

[0018] In this application, by judging the ill-conditioning of the unmixing matrix, a corresponding protection mechanism can be provided when the ill-conditioning of the unmixing matrix is ​​high, thereby ensuring the robustness of the algorithm.

[0019] In one possible implementation, determining the ill-conditioning of the target unmixing matrix of the (N-1)th frame and determining the target unmixing matrix of the Nth frame based on the determination result includes:

[0020] If the condition number of the target unmixing matrix of the (N-1)th frame is greater than a preset second threshold, the target unmixing matrix of the (N-1)th frame is taken as the target unmixing matrix of the Nth frame.

[0021] In one possible implementation, the method further includes:

[0022] If the condition number of the target unmixing matrix of the (N-1)th frame is less than or equal to a preset second threshold, the target unmixing matrix of the Nth frame is determined by the reference unmixing matrix of the Nth frame, and the reference unmixing matrix of the Nth frame is composed of the target elements in the unmixing matrix of the Nth frame.

[0023] Secondly, this application provides a chip including one or more functional modules, the one or more functional modules being used to perform the signal processing method as described in the first aspect.

[0024] Thirdly, this application provides an electronic device, including: a processor and a memory, the memory being used to store a computer program; the processor being used to run the computer program to implement the signal processing method as described in the first aspect.

[0025] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to implement the signal processing method as described in the first aspect.

[0026] Fifthly, this application provides a computer program that, when run on a processor of an electronic device, causes the electronic device to perform the signal processing method described in the first aspect.

[0027] In one possible design, the program in the fifth aspect can be stored wholly or partially on a storage medium packaged with the processor, or it can be stored wholly or partially on a memory not packaged with the processor. Attached Figure Description

[0028] Figure 1 This application provides an architectural diagram of the application scenarios.

[0029] Figure 2 This is a schematic diagram of the blind source separation algorithm provided in the embodiments of this application;

[0030] Figure 3 A schematic flowchart illustrating the signal processing method provided in an embodiment of this application;

[0031] Figure 4 This is a schematic diagram of the chip structure provided in an embodiment of this application;

[0032] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0033] In this embodiment of the application, unless otherwise stated, the character " / " indicates that the preceding and following objects are in an OR relationship. For example, A / B can represent A or B. "AND / OR" describes the relationship between the associated objects, indicating that three relationships can exist. For example, A AND / OR B can represent: A existing alone, A and B existing simultaneously, and B existing alone.

[0034] It should be noted that the terms "first" and "second" used in the embodiments of this application are used only for distinguishing descriptive purposes and should not be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated, nor should they be construed as indicating or implying order.

[0035] In the embodiments of this application, "at least one" refers to one or more items, and "more than one" refers to two or more items. Furthermore, "at least one of the following" or similar expressions refer to any combination of these items, which may include any combination of a single item or a plurality of items. For example, at least one of A, B, or C can represent: A, B, C, A and B, A and C, B and C, or A, B, and C. Each of A, B, and C can be an element itself or a set containing one or more elements.

[0036] In this application, terms such as "exemplary," "in some embodiments," and "in another embodiment" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner.

[0037] In the embodiments of this application, the terms "of," "corresponding (relevant)," and "corresponding" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction, their meanings are consistent. Similarly, in the embodiments of this application, "communication" and "transmission" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction, their meanings are consistent. For example, transmission can include sending and / or receiving, and can be a noun or a verb.

[0038] In the embodiments of this application, the term "equal to" can be used in conjunction with "greater than" to apply to technical solutions employing the condition of "greater than", and can also be used in conjunction with "less than" to apply to technical solutions employing the condition of "less than". It should be noted that when "equal to" is used with "greater than", it cannot be used with "less than"; and when "equal to" is used with "less than", it cannot be used with "greater than".

[0039] In far-field intelligent voice interaction systems, the signal received by the microphone can be affected by environmental interference and noise, which reduces the accuracy of voice recognition and thus affects the entire interaction process, severely impacting the user experience. To mitigate these effects, current practices typically involve adding a front-end noise reduction module before the voice recognition system to suppress noise and interference signals.

[0040] Currently, this front-end noise reduction module typically uses two types of algorithms: one is the traditional single-channel noise reduction algorithm, such as spectral subtraction, Wiener filtering, statistical methods, and AI neural network-based methods. These algorithms are generally effective for stationary noise such as white noise and pink noise, but they are difficult to suppress non-stationary interference signals encountered in daily life; the other type is multi-channel microphone array-based algorithms, such as beamforming algorithms, blind source separation algorithms, and multi-channel noise suppression methods.

[0041] Among commonly used multi-channel microphone array algorithms, beamforming algorithms and blind source separation algorithms are the main ones. Beamforming algorithms require prior knowledge of the microphone's pickup position, and they cannot suppress interference signals coming from the same direction. Therefore, blind source separation algorithms are widely used because they do not require prior knowledge of the microphone's position and can solve the problem of co-directional interference.

[0042] However, blind source separation algorithms also suffer from robustness issues. For example, the solution process involves numerous matrix inversion operations. Often, performing matrix inversion after the matrix has become ill-conditioned can lead to instability. An ill-conditioned matrix is ​​a special type of non-singular matrix with a very large condition number. The inverse of the ill-conditioned matrix and the solution of the system of equations with it as the coefficient matrix are highly sensitive to small perturbations, posing significant challenges to numerical solutions and thus affecting the accuracy of blind source separation algorithms.

[0043] The current solution is to add an identity matrix diagonally in the early stages of the blind source separation algorithm, which effectively solves the initial irreversibility problem. However, this solution usually slows down the convergence speed, and it cannot effectively monitor ill-conditioned matrices during the operation.

[0044] To address the aforementioned problems, this application proposes a signal processing method applied to an electronic device, which can be a smart terminal with a voice recognition system. The electronic device can be a fixed terminal, such as a desktop computer, monitoring equipment, smart screen, large screen, or laptop computer; it can also be a mobile terminal, such as a mobile phone, tablet, vehicle terminal, or dashcam. A mobile terminal can also be referred to as User Equipment (UE), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user device. Mobile terminals can be stations (STAION, ST) in WLANs, cellular phones, cordless phones, Session Initiation Protocol (SIP) phones, Wireless Local Loop (WLL) stations, Personal Digital Assistant (PDA) devices, handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, in-vehicle devices, vehicle-to-everything (V2X) terminals, computers, laptops, handheld communication devices, handheld computing devices, satellite wireless devices, wireless modem cards, set-top boxes (STBs), customer premises equipment (CPEs), and / or other devices used for communication over wireless systems, as well as next-generation communication systems, such as mobile terminals in 5G networks or mobile terminals in future evolved Public Land Mobile Network (PLMN) networks. The mobile terminal can also be a wearable device. Wearable devices, also known as wearable smart devices, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses and watches.

[0045] Now combined Figures 1-3 The signal processing method provided in the embodiments of this application will be described by way of example.

[0046] like Figure 1 The diagram illustrates an application scenario for the blind source separation algorithm. (Reference) Figure 1 Let s1(t) and s2(t) be two source signals at time t, which can be considered as the speech signals of two speakers. After receiving the above speech signals through a microphone, the observation signals x1(t) and x2(t) can be obtained.

[0047] It is understandable that speech signals propagate through the air; therefore, the air propagation channel can be considered a hybrid channel, through matrix H.ij This is represented by the above two source signals. The signals can be received and separated using two microphones, and the matrix H represents this separation. ij It can be a 2×2 matrix, for example, matrix H ij It can include coefficients (H) 11 H 12 H 21 H 22 However, due to the uncertainty of the external environment, matrix H... ij It is also unknown. The observed signals x1(t) and x2(t) can be represented by the following formulas:

[0048] x1(t)=H 11 ×s1(t)+H 12 ×s2(t) (1)

[0049] x2(t)=H 21 ×s1(t)+H 22 ×s2(t) (2)

[0050] From the above formulas (1) and (2), it can be seen that since the source signals s1(t) and s2(t) are unknown, and the matrix H ij It is also unknown, and the goal of the blind source separation algorithm is to find the source signals s1(t) and s2(t) by observing the signals x1(t) and x2(t). Therefore, we can assume that matrix H ij There are enough differences for the matrix to be invertible, thus there exists a dismixing matrix W. ij This allows the unmixing matrix W to be used. ij By separating the target signals y1(t) and y2(t), and solving for the maximum uncorrelation or maximum non-Gaussianity between the two microphones, the unmixing matrix W can be estimated, thus obtaining the estimated source signals s1(t) and s2(t). The target signals y1(t) and y2(t) can be expressed by the following formula:

[0051] y1(t)=W 11 ×x1(t)+W 12 ×x2(t) (3)

[0052] y2(t)=W 21 ×x1(t)+W 22 ×x2(t) (4)

[0053] Figure 2 This is a schematic diagram of the blind source separation algorithm provided in an embodiment of this application. (Reference) Figure 2After the input signal x undergoes covariance matrix estimation, unmixing matrix update, and amplitude unmixing, the unmixing matrix W can be obtained. Then, the output signal y can be obtained by combining the input signal x and the unmixing matrix W. It can be understood that the input signal x can be the aforementioned observed signal, and the output signal y can be the aforementioned target signal, that is, the source signal obtained after separating the observed signal. The specific calculation formula for the output signal y can be found in formulas (3) and (4) above, and will not be repeated here.

[0054] Figure 3 A flowchart illustrating an embodiment of the signal processing method provided in this application specifically includes the following steps:

[0055] Step 301: Obtain the input signal.

[0056] Specifically, the input signal can be received through a microphone. The input signal can be two, for example, the voice signals of two voice sources can be collected through two microphones. Alternatively, the input signal can be more than two, for example, the voice signals of more than two voice sources can be collected through more than two microphones. This application does not impose any special limitations on this.

[0057] by Figure 1 For example, the input signal can be the observed signals x1(t) and x2(t).

[0058] Step 302: Estimate the covariance matrix of the input signal to obtain the target covariance matrix.

[0059] Specifically, to ensure the robustness of the algorithm, a common approach is to initialize an identity matrix as the initial state of the noise covariance matrix.

[0060] The formula for calculating the covariance matrix is ​​as follows:

[0061]

[0062]

[0063] V′ k (ω, τ) is the target covariance matrix, which can be considered as the smoothed covariance matrix. It can be understood that this V′... k (ω, τ) can be the target covariance matrix of the current frame, V k (ω, τ) can be the target covariance matrix of the previous frame, and thus the covariance matrix of each frame can be obtained through continuous iteration.

[0064] Where α is a smoothing factor, which can take values ​​between 0 and 1. For blind source separation, k is the filter number, ω is the frequency point, τ is the frame number, N is the total number of frequency points, and X(ω, τ) is the frequency domain information of the input signal.

[0065] Understandably, V k The initial values ​​of (ω, τ) can be ω k The initial values ​​of (ω, τ) can be the identity matrix.

[0066] However, the above approach has two serious problems: one is that it severely affects the convergence speed of the blind source separation algorithm; the other is that it cannot provide robust monitoring during the algorithm's operation.

[0067] Therefore, the embodiments of this application first analyze the covariance matrix V of the previous frame. k The degree of ill-conditioning of (ω, τ) is determined, whereby the covariance matrix V of the previous frame is used to determine the degree of ill-conditioning. k The ill-conditioned nature of (ω, τ) can be determined by using the condition number of the covariance matrix. For example, if the covariance matrix V of the previous frame... k If the condition number (ω, τ) is greater than a preset first threshold, then diagonal loading is performed. The weights of the diagonal loading can be determined by the diagonal elements of the covariance matrix of the signal received by the current microphone. It is understood that the preset first threshold can be considered a threshold for the stability of the covariance matrix. For example, the preset first threshold can be set to 8000, but this does not constitute a limitation on the embodiments of this application. In some embodiments, it can also be set according to actual needs.

[0068] The target covariance matrix obtained after the above diagonal loading can be expressed by the following formula:

[0069]

[0070] Among them, max(abs(X(ω,τ)×X) H The operation (ω,τ) is to find X(ω,τ)×X. H The (ω,τ) matrix represents the maximum absolute value of the diagonal elements. β is a preset parameter; for example, the value of β can be 1e. -3 However, this does not constitute a limitation on the embodiments of this application. In some embodiments, it may also be other values, where I(ω,τ) is the identity matrix.

[0071] Through the above judgment process, the optimal loading can be selected, which can ensure the convergence speed of the algorithm and prevent overloading, thereby ensuring the stability of the algorithm and making it more robust.

[0072] Step 303: Update the unmixing matrix based on the target covariance matrix to obtain the target elements in the unmixing matrix.

[0073] Specifically, after obtaining the target covariance matrix, the unmixing matrix can be updated based on the target covariance matrix, thereby obtaining the target elements in the unmixing matrix.

[0074] The formula for updating the unmixing matrix is ​​shown below:

[0075] ω k (ω,τ)←(W(ω,τ)×V k (ω,τ) -1 ) -1 ×e k (7)

[0076]

[0077] W(ω,τ) is the unmixing matrix, also known as the separation matrix. It can be understood that this unmixing matrix can be composed of elements ω. k Composed of (ω,τ), for example, with 2 elements, W(ω,τ)=[ω1(ω,τ),ω2(ω,τ)]; e k It is the kth column of the identity matrix.

[0078] It is understandable that the unmixing matrix W(ω,τ) can be initialized as an identity matrix. By continuously iterating and updating the identity matrix, the task of blind source separation can be accomplished.

[0079] The specific method for updating the unmixing matrix can be found in existing methods and will not be elaborated here.

[0080] Step 304: Obtain the target unmixing matrix based on the target elements.

[0081] Specifically, the traditional amplitude demixing method can be characterized by the following calculation formula:

[0082] W″(ω,τ)=diag(W′(ω,τ) -1 )×W′(ω,τ); (9)

[0083] Where W″(ω,τ) is the target unmixing matrix, which can also be considered as the desired unmixing matrix. W′(ω,τ) is the reference unmixing matrix obtained after, for example, the unmixing matrix update in step 303. For example, W′(ω,τ)=[ω′1(ω,τ),ω′2(ω,τ)], where ω′1(ω,τ) and ω′2(ω,τ) can be calculated by formula (8) respectively.

[0084] It is understandable that once the target unmixing matrix W″(ω,τ) is obtained, the output signal y can be obtained by using the target unmixing matrix W″(ω,τ) and the input signal x. The specific calculation method of the output signal y can be referred to the relevant description in the above embodiments, and will not be repeated here.

[0085] However, in actual computation, the ill-conditioned nature of the unmixing matrix can severely impact the performance of the algorithm's output. To mitigate this impact, embodiments of this application incorporate a protection mechanism during computation to further ensure the algorithm's robustness. For example, if an ill-conditioned matrix appears at the current frequency point of any frame, to ensure the blind source separation algorithm operates correctly, the reference unmixing matrix obtained in this computation can be discarded, and the target unmixing matrix obtained in the previous frame can be used as the target unmixing matrix for the current frame. This reduces the influence of the ill-conditioned matrix and improves the algorithm's robustness.

[0086] For example, with W″ N (ω,τ) is the target unmixing matrix obtained in the Nth frame, W′ N (ω,τ) is the reference unmixing matrix calculated for the Nth frame, and W″ N-1 Taking (ω,τ) as an example, the target unmixing matrix obtained in the (N-1)th frame, where N is a positive integer greater than 2, it can be understood that the (N-1)th frame is the previous frame of the Nth frame.

[0087] When processing the Nth frame signal, if the reference demixing matrix W′ N If the condition number of (ω,τ) is greater than the preset second threshold, the reference unmixing matrix W′ obtained in this calculation can be discarded. N (ω,τ), and can also use the target unmixing matrix W″ obtained in the previous frame (e.g., the N-1th frame). N-1 (ω,τ) is the target unmixing matrix W″ for the current frame (e.g., the Nth frame). N (ω,τ).

[0088] If the reference demixing matrix W′ N If the condition number of (ω,τ) is less than or equal to a preset second threshold, then the target unmixing matrix W″ of the current frame is... N (ω,τ) can be calculated using formula (9).

[0089] Step 305: Obtain the output signal based on the target unmixing matrix and the input signal.

[0090] Specifically, once the target unmixing matrix is ​​obtained, the output signal can be obtained based on the target unmixing matrix and the input signal. The specific calculation method of the output signal can be referred to formulas (3) and (4), which will not be repeated here.

[0091] In this embodiment, by judging the ill-conditioned matrix when estimating the covariance matrix, the optimal loading can be selected, thereby ensuring both the convergence speed and stability of the algorithm, and thus improving the robustness and signal-to-noise ratio of the algorithm.

[0092] Figure 4 This is a schematic diagram of the structure of one embodiment of the chip in this application, as shown below. Figure 4 As shown, the chip 40 may include: an acquisition module 41, an estimation module 42, an update module 43, a demixing module 44, and a separation module 45; wherein,

[0093] Acquisition module 41 is used to acquire an input signal, wherein the input signal is a voice signal received by multiple microphones;

[0094] The estimation module 42 is used to estimate the covariance matrix of the Nth frame in the input signal to obtain the target covariance matrix of the Nth frame; wherein, during the process of estimating the covariance matrix of the Nth frame, the ill-conditioning degree of the target covariance matrix of the (N-1)th frame is judged, and the target covariance matrix of the Nth frame is determined based on the judgment result, wherein the (N-1)th frame is the previous frame of the Nth frame, and N is a positive integer greater than 2;

[0095] Update module 43 is used to update the unmixing matrix based on the target covariance matrix of the Nth frame to obtain the target element in the unmixing matrix of the Nth frame;

[0096] The demixing module 44 is used to perform amplitude demixing based on the target elements in the demixing matrix of the Nth frame to obtain the target demixing matrix of the Nth frame.

[0097] The separation module 45 is used to perform signal separation based on the target demixing matrix of the Nth frame and the input signal of the Nth frame to obtain the output signal of the Nth frame.

[0098] In one possible implementation, the estimation module 42 is specifically used to perform diagonal loading if the condition number of the target covariance matrix of the (N-1)th frame is greater than a preset first threshold, so as to obtain the target covariance matrix of the Nth frame.

[0099] In one possible implementation, the weight values ​​for diagonal loading are determined by the diagonal elements of the covariance matrix of the Nth frame.

[0100] In one possible implementation, the demixing module 44 is specifically used to determine the ill-conditioning degree of the target demixing matrix of the (N-1)th frame during the amplitude demixing process, and to determine the target demixing matrix of the Nth frame based on the determination result.

[0101] In one possible implementation, the demixing module 44 is specifically used to take the target demixing matrix of the (N-1)th frame as the target demixing matrix of the Nth frame if the condition number of the target demixing matrix of the (N-1)th frame is greater than a preset second threshold.

[0102] In one possible implementation, the demixing module 44 is further configured to determine the target demixing matrix of the Nth frame by the reference demixing matrix of the Nth frame if the condition number of the target demixing matrix of the (N-1)th frame is less than or equal to a preset second threshold, and the reference demixing matrix of the Nth frame is composed of the target elements in the demixing matrix of the Nth frame.

[0103] Figure 4 The chip 40 provided in the illustrated embodiment can be used to execute the technical solution of the method embodiment shown in this application. Its implementation principle and technical effect can be further referred to the relevant description in the method embodiment.

[0104] It should be understood that the division of the various modules in the chip 40 described above is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, these modules can be implemented entirely in software via processing element calls; they can be fully implemented in hardware; or some modules can be implemented in software via processing element calls, while others are implemented in hardware. For example, the detection module can be a separate processing element or integrated into a chip within the electronic device. The implementation of other modules is similar. Moreover, these modules can be fully or partially integrated together, or implemented independently. During implementation, each step of the above method or each of the above modules can be completed through integrated logic circuits in the hardware of the processor element or through software instructions.

[0105] For example, these modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more Digital Signal Processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, these modules can be integrated together as a System-On-a-Chip (SOC).

[0106] In the above embodiments, the processor may include, for example, a CPU, DSP, microcontroller, or digital signal processor, and may also include a GPU, embedded neural network processing unit (NPU), and image signal processor (ISP). The processor may also include necessary hardware accelerators or logic processing hardware circuits, such as an ASIC, or one or more integrated circuits for controlling the execution of the program in this application. Furthermore, the processor may have the function of operating one or more software programs, which may be stored in a storage medium.

[0107] The following is combined Figure 5 The exemplary electronic devices provided in the embodiments of this application are further described. Figure 5 A schematic diagram of the structure of electronic device 500 is shown.

[0108] The aforementioned electronic device 500 may include: at least one processor; and at least one memory communicatively connected to the processor, wherein: the memory stores program instructions executable by the processor, and the processor can execute this application by calling the program instructions. Figure 1 The test method provided in the illustrated embodiment.

[0109] Figure 5 A block diagram is shown of an exemplary electronic device 500 suitable for implementing embodiments of this application. Figure 5 The electronic device 500 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0110] like Figure 5 As shown, the electronic device 500 is presented in the form of a general-purpose computing device. The components of the electronic device 500 may include, but are not limited to: one or more processors 510, memory 520, communication bus 540 connecting different system components (including memory 520 and processor 510), and communication interface 530.

[0111] The communication bus 540 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. Examples of these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.

[0112] Electronic devices 500 typically include a variety of computer system-readable media. These media can be any available media that can be accessed by the electronic device, including volatile and non-volatile media, removable and non-removable media.

[0113] Memory 520 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory. The electronic device may further include other removable / non-removable, volatile / non-volatile computer system storage media. Although Figure 5 As not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disc drive for reading and writing to a removable non-volatile optical disc (e.g., a compact disc read-only memory (CD-ROM), a digital video disc read-only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to the communication bus 540 via one or more data media interfaces. The memory 520 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this application.

[0114] A program / utility having a set (at least one) of program modules can be stored in memory 520. Such program modules include—but are not limited to—an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. The program modules typically perform the functions and / or methods described in the embodiments of this application.

[0115] Electronic device 500 can also communicate with one or more external devices (e.g., keyboard, pointing device, display, etc.), and with one or more devices that enable a user to interact with the electronic device, and / or with any device that enables the electronic device to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed through communication interface 530. Furthermore, electronic device 500 can also communicate through a network adapter (… Figure 5 (Not shown) communicates with one or more networks (e.g., Local Area Network (LAN), Wide Area Network (WAN), and / or public networks, such as the Internet). The aforementioned network adapter can communicate with other modules of the electronic device via the communication bus 540. It should be understood that, although... Figure 5 As not shown, other hardware and / or software modules may be used in conjunction with the electronic device 500, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, Redundant Arrays of Independent Drives (RAID) systems, tape drives, and data backup storage systems.

[0116] The processor 510 executes various functional applications and data processing by running programs stored in the memory 520, such as implementing the methods provided in the embodiments of this application.

[0117] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 500. In other embodiments of this application, the electronic device 500 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0118] In the above embodiments, the processor may include, for example, a CPU, DSP, microcontroller, or digital signal processor, and may also include a GPU, embedded neural network processing unit (NPU), and image signal processor (ISP). The processor may also include necessary hardware accelerators or logic processing hardware circuits, such as an ASIC, or one or more integrated circuits for controlling the execution of the program in this application. Furthermore, the processor may have the function of operating one or more software programs, which may be stored in a storage medium.

[0119] This application also provides a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the methods provided in the embodiments shown in this application.

[0120] This application also provides a computer program product, which includes a computer program that, when run on a computer, causes the computer to perform the methods provided in the embodiments shown in this application.

[0121] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent the existence of A alone, A and B simultaneously, or B alone. A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of singular or plural items. For example, at least one of a, b, and c can represent: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.

[0122] Those skilled in the art will recognize that the units and algorithm steps described in the embodiments disclosed herein can be implemented using electronic hardware, computer software, or a combination of electronic hardware and software. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0123] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0124] In the several embodiments provided in this application, any function, if implemented as a software functional unit and sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0125] The above description is merely a specific embodiment of this application. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application. The protection scope of this application should be determined by the protection scope of the claims.

Claims

1. A signal processing method, characterized by, The method comprises: obtaining an input signal, the input signal being a voice signal received by a plurality of microphones; performing covariance matrix estimation on an Nth frame in the input signal to obtain a target covariance matrix of the Nth frame; updating a demixing matrix based on the target covariance matrix of the Nth frame to obtain a target element in the demixing matrix of the Nth frame; performing amplitude demixing based on the target element in the demixing matrix of the Nth frame to obtain a target demixing matrix of the Nth frame; performing signal separation based on the target demixing matrix of the Nth frame and the input signal of the Nth frame to obtain an output signal of the Nth frame; wherein, in the process of performing covariance matrix estimation on the Nth frame, the ill-conditioned degree of the target covariance matrix of an (N-1)th frame is judged, the target covariance matrix of the Nth frame is determined based on the judgment result and the target covariance matrix of the (N-1)th frame, the (N-1)th frame is the last frame of the Nth frame, and N is a positive integer greater than 2; the judgment of the ill-conditioned degree of the target covariance matrix of the (N-1)th frame and the determination of the target covariance matrix of the Nth frame based on the judgment result comprise: if the condition number of the target covariance matrix of the (N-1)th frame is greater than a preset first threshold, diagonal loading is performed to obtain the target covariance matrix of the Nth frame.

2. The method of claim 1, wherein, The weight value of the diagonal loading is determined by the diagonal element of the covariance matrix of the Nth frame.

3. The method according to claim 1 or 2, characterized in that, the amplitude demixing based on the target element in the demixing matrix of the Nth frame to obtain the target demixing matrix of the Nth frame comprises: in the process of performing amplitude demixing, the ill-conditioned degree of the target demixing matrix of the (N-1)th frame is judged, and the target demixing matrix of the Nth frame is determined based on the judgment result.

4. The method of claim 3, wherein, the judgment of the ill-conditioned degree of the target demixing matrix of the (N-1)th frame and the determination of the target demixing matrix of the Nth frame based on the judgment result comprise: if the condition number of the target demixing matrix of the (N-1)th frame is greater than a preset second threshold, the target demixing matrix of the (N-1)th frame is taken as the target demixing matrix of the Nth frame.

5. The method of claim 4, wherein, The method further comprises: if the condition number of the target demixing matrix of the (N-1)th frame is less than or equal to the preset second threshold, the target demixing matrix of the Nth frame is determined by a reference demixing matrix of the Nth frame, and the reference demixing matrix of the Nth frame is composed of the target element in the demixing matrix of the Nth frame.

6. A chip, characterized by comprise: an acquisition module, configured to acquire an input signal, the input signal being a voice signal received by a plurality of microphones; an estimation module, configured to perform covariance matrix estimation on an Nth frame in the input signal to obtain a target covariance matrix of the Nth frame; wherein, in the process of performing covariance matrix estimation on the Nth frame, the ill-conditioned degree of the target covariance matrix of an (N-1)th frame is judged, the target covariance matrix of the Nth frame is determined based on the judgment result and the target covariance matrix of the (N-1)th frame, the (N-1)th frame is the last frame of the Nth frame, and N is a positive integer greater than 2; an updating module, configured to update an unmixing matrix based on the target covariance matrix of the Nth frame to obtain a target element in the unmixing matrix of the Nth frame; an unmixing module, configured to perform amplitude unmixing based on the target element in the unmixing matrix of the Nth frame to obtain a target unmixing matrix of the Nth frame; a separating module, configured to perform signal separation based on the target unmixing matrix of the Nth frame and the input signal of the Nth frame to obtain an output signal of the Nth frame. The estimating module is further configured to perform diagonal loading to obtain the target covariance matrix of the Nth frame if a condition number of the target covariance matrix of the (N-1)th frame is greater than a preset first threshold.

7. An electronic device, comprising: comprising: a processor and a memory, the memory being configured to store a computer program, and the processor being configured to run the computer program to implement the signal processing method according to any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and when the computer program runs on a computer, the signal processing method according to any one of claims 1-5 is implemented.

Citation Information

Patent Citations

  • Audio signal processing method and device and storage medium

    CN112863537A

  • Sound target positioning method based on uniform concentric microphone array

    CN114089279A

  • Audio signal processing method and device and storage medium

    CN114724578A