SIGNAL FILTERING METHOD AND APPARATUS, STORAGE MEDIUM AND ELECTRONIC DEVICE

20240267675 ยท 2024-08-08

    Inventors

    Cpc classification

    International classification

    Abstract

    Disclosed are a signal filtering method and apparatus, a storage medium, and an electronic device. The signal filtering method may include: performing a Fourier transform on time-domain data acquired by M microphones to convert the time-domain data into frequency-domain signals of M channels of a current frame, M is a natural number greater than 1; separating the frequency-domain signals of the M channels to obtain a target signal and an interference signal of the current frame; determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal; determining a threshold for the current frame based on the target signal and the interference signal; and filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal.

    Claims

    1. A signal filtering method, comprising: performing a Fourier transform on time-domain data acquired by M microphones to convert the time-domain data into frequency-domain signals of M channels of a current frame, wherein M is a natural number greater than 1; separating the frequency-domain signals of the M channels to obtain a target signal and an interference signal of the current frame; determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal; determining a threshold for the current frame based on the target signal and the interference signal; and filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal.

    2. The method of claim 1, wherein determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal comprises: calculating an energy E.sub.s(l) of the target signal in an effective frequency band, wherein l represents a number of frames; calculating the smooth energy ?.sub.s(l)=(1??)?.sub.s(l?1)+?E.sub.s(l) of the target signal, wherein ? represents a first smoothing coefficient, and ? is greater than 0 and less than 1; calculating an energy E.sub.i(l) of the interference signal in the effective frequency band; calculating the smooth energy ?.sub.i(l)=(1??)?.sub.i(l?1)+?E.sub.i(l) of the interference signal; and calculating the signal-to-interference ratio R.sub.0=?.sub.s(l)/?.sub.i(l) between the smooth energies.

    3. The method of claim 1, wherein determining a threshold for the current frame based on the target signal and the interference signal comprises: calculating an energy E.sub.s(l) of the target signal in an effective frequency band, wherein l represents a number of frames; calculating an energy E.sub.i(l) of the interference signal in the effective frequency band; calculating a signal-to-interference ratio R(l)=E.sub.s(l)/E.sub.i(l) of the current frame; calculating a smooth signal-to-interference ratio R(l)=(1??)R(l?1)+?R(l) and a mean value R.sub.mean(l) of the smooth signal-to-interference ratio R(l) in a preset time period, wherein ? represents a second smoothing coefficient, and ? is greater than 0 and less than 1; and determining the threshold for the current frame according to R.sub.mean(l).

    4. The method of claim 1, wherein filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal comprises: setting an input signal of an adaptive filter as Z(k,l)=Y.sup.2(k,l), in response to the signal-to-interference ratio between the smooth energies being greater than the threshold for the current frame, wherein (k,l) represents data of a k.sup.th frequency of an l.sup.th frame, and Y.sup.2(k,l) represents the interference signal; and filtering the target signal based on the input signal of the adaptive filter to obtain the pure target signal ?(k,l)=Y.sup.1(k,l)?W*(k,l)Z(k,l), wherein Y.sup.1(k,l) represents the target signal, W(k,l) represents a coefficient of the adaptive filter, and (?)* represents conjugation.

    5. The method of claim 1, wherein filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal comprises: setting an input signal of an adaptive filter as Z(k,l)=Y.sup.1(k,l)+Y.sup.2(k,l), in response to the signal-to-interference ratio between the smooth energies being less than or equal to the threshold for the current frame, wherein (k,l) represents data of a k.sup.th frequency of an l.sup.th frame, Y.sup.1(k,l) represents the target signal, and Y.sup.2(k,l) represents the interference signal; and filtering the target signal based on the input signal of the adaptive filter to obtain the pure target signal ?(k,l)=Y.sup.1(k,l)?W*(k,l)Z(k,l), wherein Y.sup.1(k,l) represents the target signal, W(k,l) represents a coefficient of the adaptive filter, and (?)* represents conjugation.

    6. The method of claim 1, wherein after filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal, the method further comprises: performing an inverse Fourier transform on the pure target signal to obtain a time-domain target signal; and outputting the time-domain target signal.

    7. The method of claim 1, wherein after filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal, the method further comprises: feeding back the pure target signal into an adaptive filter to update a filtering coefficient of the adaptive filter.

    8. (canceled)

    9. A non-transitory computer-readable storage medium, storing a computer program which, when executed by a processor, causes the processor to carry out a signal filtering method, comprising: performing a Fourier transform on time-domain data acquired by M microphones to convert the time-domain data into frequency-domain signals of M channels of a current frame, wherein M is a natural number greater than 1; separating the frequency-domain signals of the M channels to obtain a target signal and an interference signal of the current frame; determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal; determining a threshold for the current frame based on the target signal and the interference signal; and filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal.

    10. An electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable by the processor, wherein the computer program, when executed by the processor, causes the processor to carry out a signal filtering method, comprising: performing a Fourier transform on time-domain data acquired by M microphones to convert the time-domain data into frequency-domain signals of M channels of a current frame, wherein M is a natural number greater than 1; separating the frequency-domain signals of the M channels to obtain a target signal and an interference signal of the current frame; determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal; determining a threshold for the current frame based on the target signal and the interference signal; and filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal.

    Description

    BRIEF DESCRIPTION OF DRAWINGS

    [0010] FIG. 1 is a structural block diagram of hardware of a mobile terminal using a signal filtering method according to an embodiment of the present disclosure;

    [0011] FIG. 2 is a flowchart of a signal filtering method according to an embodiment of the present disclosure;

    [0012] FIG. 3 is an overall structural block diagram according to an embodiment of the present disclosure;

    [0013] FIG. 4 is an overall flowchart according to an embodiment of the present disclosure;

    [0014] FIG. 5 is a flowchart (one) of a control policy according to an embodiment of the present disclosure;

    [0015] FIG. 6 is a flowchart (two) of a control policy according to an embodiment of the present disclosure; and

    [0016] FIG. 7 is a structural block diagram of a signal filtering apparatus according to an embodiment of the present disclosure.

    DETAILED DESCRIPTION

    [0017] Embodiments of the present disclosure will be described in detail below in conjunction with the drawings and the embodiments.

    [0018] It should be noted that in the description, claims, and accompanying drawings of the embodiments of the present disclosure, the terms first, second or the like are used to are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or a precedence order.

    [0019] Method embodiments provided in the embodiments of the present disclosure may be executed in a mobile terminal, a computer terminal, or similar computing devices. Execution on a mobile terminal is described as an example. FIG. 1 is a structural block diagram of hardware of a mobile terminal using a signal filtering method according to an embodiment of the present disclosure. As shown in FIG. 1, the mobile terminal may include one or more (only one shown in FIG. 1) processors 102 (where the processor 102 may include, but not limited to, a processing device such as a microprocessor (e.g., a Microcontroller Unit (MCU)) or a programmable logic device (e.g., a Field Programmable Gate Array (FPGA))) and a memory 104 configured for storing data. The mobile terminal may further include a transmission device 106 and an input/output device 108 to provide a communication function. It can be understood by those having ordinary skills in the art that the structure shown in FIG. 1 is merely an example and does not limit the structure of the mobile terminal. For example, the mobile terminal may also include more or fewer components than those shown in FIG. 1, or have a different configuration than shown in FIG. 1.

    [0020] The memory 104 may be configured for storing a computer program, for example, software programs and modules of application software, e.g., a computer program corresponding to a signal filtering method according to an embodiment of the present disclosure. The computer program stored in the memory 104, when executed by the processor 102, causes the processor 102 to implement various functional applications and data processing, i.e., implement the method described above. The memory 104 may include a high-speed random access memory, and may also include a nonvolatile memory, e.g., one or more magnetic storage devices, flash memories, or other nonvolatile solid-state storage devices. In some examples, the memory 104 may include memories located remotely from the processor 102, and the remote memories may be connected to the mobile terminal via a network. Examples of the network include, but not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

    [0021] The transmission device 106 is configured for receiving or sending data via a network. Examples of the network may include a wireless network provided by a communication provider of the mobile terminal. In an example, the transmission device 106 includes a Network Interface Controller (NIC), which may be connected to another network device via a base station to communicate with the Internet. In an example, the transmission device 106 may be a Radio Frequency (RF) module, which is configured for communicating with the Internet in a wireless manner.

    [0022] In an embodiment, a signal filtering method is provided. FIG. 2 is a flowchart of a signal filtering method according to an embodiment of the present disclosure. As shown in FIG. 2, the method includes the following steps.

    [0023] In a step of S202, a Fourier transform is performed on time-domain data acquired by M microphones to convert the time-domain data into frequency-domain signals of M channels of a current frame, where M is a natural number greater than 1.

    [0024] In a step of S204, the frequency-domain signals of the M channels are separated to obtain a target signal and an interference signal of the current frame.

    [0025] In a step of S206, a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal is determined.

    [0026] In a step of S208, a threshold for the current frame is determined based on the target signal and the interference signal.

    [0027] In a step of S210, the target signal is filtered based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal.

    [0028] An entity executing the above steps may be a device including an ICA, which is connected to an adaptive filter, i.e., an adaptive filter is cascaded after the ICA device, but the present disclosure is not limited thereto.

    [0029] In this embodiment, after the frequency-domain signals of the M channels are separated to obtain the target signal and the interference signal of the current frame, the target signal and the interference signal may be divided into S sub-bands, where S is a natural number greater than 1, and the steps S206 to S210 are repeated for each sub-band.

    [0030] Through the above steps of separating the frequency-domain signals of the M channels of the current frame to obtain a target signal and an interference signal of the current frame, determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal, determining a threshold for the current frame based on the target signal and the interference signal, and filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal, an input source of the adaptive filter is controlled based on the target signal and the interference signal, thereby improving the accuracy of the adaptive filter in interference prediction. Therefore, the problem of incomplete separation of interference residues from the target signal in existing technologies can be resolved, thereby effectively suppressing the interference signal.

    [0031] In an embodiment, determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal includes: [0032] S1: calculating an energy E.sub.s(l) of the target signal in an effective frequency band; [0033] S2: calculating the smooth energy ?.sub.s(l)=(1??)?.sub.s(l?1)+?E.sub.s(l) of the target signal, where ? represents a first smoothing coefficient, and ? is greater than 0 and less than 1; [0034] S3: calculating an energy E.sub.i(l) of the interference signal in the effective frequency band; [0035] S4: calculating the smooth energy ?.sub.i(l)=(1??)?.sub.i(l?1)+?E.sub.i(l) of the interference signal; and [0036] S5: calculating the signal-to-interference ratio R.sub.0=?.sub.s(l)/?.sub.i(l) between the smooth energies.

    [0037] In an embodiment, determining a threshold for the current frame based on the target signal and the interference signal includes: [0038] S1: calculating an energy E.sub.s(l) of the target signal in an effective frequency band; [0039] S2: calculating an energy E.sub.i(l) of the interference signal in the effective frequency band; [0040] S3: calculating a signal-to-interference ratio R(l)=E.sub.s(l)/E.sub.i(l) of the current frame; [0041] S4: calculating a smooth signal-to-interference ratio R(l)=(1??)R(l?1)+?R(l) and a mean value R.sub.mean(l) of the smooth signal-to-interference ratio R(l) in a preset time period, where ? represents a second smoothing coefficient, and ? is greater than 0 and less than 1; and [0042] S5: determining the threshold for the current frame according to R.sub.mean(l).

    [0043] In an embodiment, filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal includes: [0044] S1: setting an input signal of an adaptive filter as Z(k,l)=Y.sup.2(k,l) when the signal-to-interference ratio between the smooth energies is greater than the threshold for the current frame, where Y.sup.2(k,l) represents the interference signal; and [0045] S2: filtering the target signal based on the input signal of the adaptive filter to obtain the pure target signal ?(k,l)=Y.sup.1(k,l)?W*(k,l)Z(k,l), where Y.sup.1(k,l) represents the target signal, W(k,l) represents a coefficient of the adaptive filter, and (?)* represents conjugation.

    [0046] In an embodiment, filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal includes: [0047] S1: setting an input signal of the adaptive filter as Z(k,l)=Y.sup.1(k,l)+Y.sup.2(k,l) when the signal-to-interference ratio between the smooth energies is less than or equal to the threshold for the current frame, where Y.sup.1(k,l) represents the target signal, and Y.sup.2(k,l) represents the interference signal; and [0048] S2: filtering the target signal based on the input signal of the adaptive filter to obtain the pure target signal ?(k,l)=Y.sup.1(k,l)?W*(k,l)Z(k,l), where Y.sup.1(k,l) represents the target signal, W(k,l) represents a coefficient of the adaptive filter, and (?)* represents conjugation.

    [0049] In an embodiment, after filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal, the method further includes: [0050] S1: performing an inverse Fourier transform on the pure target signal to obtain a time-domain target signal; and [0051] S2: outputting the time-domain target signal.

    [0052] In this embodiment, N sampling points of each microphone may be formed into one frame, which is converted into frequency-domain signals of M channels by a Fast Fourier Transform (FFT), where each channel has N frequencies. The inverse Fourier transform in this embodiment is an inverse transform of the fast Fourier transform.

    [0053] In an embodiment, after filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal, the method further includes: [0054] S1: feeding back the pure target signal into the adaptive filter to update a filtering coefficient of the adaptive filter.

    [0055] The present disclosure will be described below in conjunction with embodiments.

    [0056] This embodiment provides an interference suppression method for a microphone array, to improve the problem of incomplete separation of interference by the conventional ICA technique, increase the signal-to-noise ratio of the target signal after ICA-based separation, thereby improving the wake-up rate and recognition rate of an intelligent voice device, and improving the voice call experience in a strong interference scenario.

    [0057] As shown in FIG. 3, in this embodiment, an adaptive filter is cascaded after the ICA to predict interference, and then cancel the interference with the target signal containing interference residues. In an implementation, characteristics of the target signal and the interference signal separated by the ICA are analyzed to control the input source of the adaptive filter. Depending on different decision results, the input of the adaptive filter is from the interference signal or from a superposition of the target signal and the interference signal. In this way, the accuracy of the adaptive filter in interference prediction is improved, and an effect of suppressing interference residues in the target signal separated by the ICA is achieved. Including followings.

    [0058] Time-domain data acquired by M (M>1) microphones, with N sampling points of each microphone being formed into one frame, is converted into frequency-domain signals of M channels by a Fast Fourier Transform (FFT), where each channel has N frequencies.

    [0059] The frequency-domain signals of the M channels of a current frame, with N frequencies in each channel, are used as an input of an ICA module.

    [0060] According to the frequency-domain signals of the M channels, the ICA module locates a sound source of a target signal to obtain an angle of the target sound source.

    [0061] According to the angle of the target sound source, the ICA module separates two channels of data, namely the target signal and an interference signal, from the frequency-domain signals of the M channels.

    [0062] As shown in FIG. 4, the following steps are included.

    [0063] In a step of S401, the target signal and the interference signal separated by the ICA are used as an input of a control policy at the same time, and the control policy outputs two decisions, i.e., switch off and switch on, according to characteristics of the target signal and the interference signal.

    [0064] In a step of S402, the interference signal is directly input to the adaptive filter for filtering.

    [0065] In steps of S403 to S404, when the switch is switched on, the interference signal of the current frame is first superimposed with the target signal of the current frame, and then input to the adaptive filter for filtering to output an interference prediction signal.

    [0066] In a step of S405, the interference prediction signal output by the adaptive filter is subtracted from the target signal of the current frame to obtain a pure target signal, and the pure target signal is converted from the frequency domain back to the time domain (i.e., by IFFT) to obtain a final output of noise reduction processing.

    [0067] In a step of S406, the pure target signal is fed back to the adaptive filter at the same time, such that the adaptive filter iteratively updates its coefficient to prepare for filtering of a next frame.

    [0068] When the number M of microphones equals to 2, time-domain data acquired by the two microphones are respectively x.sub.1(n) and x.sub.2 (n). A Fourier transform is performed on the two channels of time-domain data to obtain two channels of frequency-domain signals X.sub.1(k,l) and X.sub.2(k,l), where (k,l) represents data of a k.sup.th frequency of an l.sup.th frame, and k=0, . . . , N?1. Then, a cross-power spectrum is calculated as S.sub.x.sub.1.sub.x.sub.2(k,l)=E{X.sub.1(k,l)X.sub.2*(k,l)}, and an inverse Fourier transform is performed on the cross-power spectrum S.sub.x.sub.1.sub.x.sub.2(k,l) to obtain a cross-correlation function. A delay corresponding to a maximum value of the cross-correlation function is a delay ?.sub.12 from the sound source to the two microphones, with a mathematical expression as shown below:

    [00001] ? 12 = argmax ? .Math. k = 0 N - 1 S x 1 x 2 ( k , l ) e j 2 ? k ? N .

    [0069] According to a trigonometric function, a corresponding target angle ?=cos.sup.?1(?.sub.12c/D) is obtained, where c represents a sound velocity of 340 m/s, D represents a distance between the two microphones, and an axis direction corresponds to 0 degrees.

    [0070] A target steering vector is calculated according to the target angle as:

    [00002] h 1 ( k ) = [ 1 e - j 2 ? f k D cos ? / c ] T ,

    where f.sub.k represents a k.sup.th frequency, and [?]T represents matrix transposition.

    [00003] W p ( k ) = [ h 1 ( k ) | I 2 , .Math. , M ] - 1 ( M = 2 ) ,

    where I.sup.2, . . . , M represents a unit matrix of M?1 columns, and [?]?1 represents matrix inversion.

    [0071] ICA-based separation of the acquired and inputted two channels of frequency-domain signals X(k,l)=[X.sub.1(k,l), X.sub.2(k,l)].sup.T is performed according to W.sup.p(k) generated based on the target steering vector: [0072] estimating a multi-channel image Y.sup.m(k,l), m=1, 2 of the sound source; and taking a first element of Y.sup.1(k,l) and a first element of Y.sup.2(k,l) as the target signal Y.sup.1(k,l) and the interference signal Y.sup.2(k,l) output by the ICA-based separation, respectively.

    [0073] In an implementation (one) of the control policy based on the output of the ICA, as shown in FIG. 5, the following steps are included.

    [0074] In a step of S501, an energy E.sub.s(l) of the target signal Y.sup.1(k,l) of the current frame in an effective frequency band is calculated.

    [0075] In a step of S502, a smooth energy ?.sub.s(l)=(1??)?.sub.s(l?1)+?E.sub.s(l) of the target signal is calculated, where ? represents a smoothing factor (0<?<1).

    [0076] In a step of S503, an energy E.sub.i(l) of the interference signal Y.sup.2(k,l) of the current frame in the effective frequency band is calculated.

    [0077] In a step of S504, a smooth energy ?.sub.i(l)=(1??)?.sub.i(l?1)+?E.sub.i(l) of the interference signal is calculated.

    [0078] In a step of S505, a signal-to-interference ratio R.sub.0=?.sub.s(l)/?.sub.i(l) between the smooth energies is calculated.

    [0079] In a step of S506, a signal-to-interference ratio R(l)=E.sub.s(l)/E.sub.i(l) of the current frame is calculated.

    [0080] In a step of S507, a smooth signal-to-interference ratio R(l)=(1??)R(l?1)+?R(l) and a mean value R.sub.mean(l) of the smooth signal-to-interference ratio R(l) in a period of time (e.g., 2 s) are calculated, where ? represents a smoothing factor (0<?<1).

    [0081] In a step of S508, a threshold Thd for the current frame is determined by table look-up or threshold comparison according to R.sub.mean(l).

    [0082] In a step of S509, if R.sub.0>Thd, a decision of switch off is output; otherwise, a decision of switch on is output.

    [0083] In a step of S510, if the decision is switch off, an input signal of the adaptive filter is set as Z(k,l)=Y.sup.2(k,l).

    [0084] In a step of S511, if the decision is switch on, the input signal of the adaptive filter is set as Z(k,l)=Y.sup.1(k,l)+Y.sup.2(k,l).

    [0085] Adaptive filtering is performed to obtain an estimated pure target signal:

    [00004] S ^ ( k , l ) = Y 1 ( k , l ) - W * ( k , l ) Z ( k , l ) ,

    where W(k,l) represents an adaptive filtering coefficient, and (?)* represents conjugation. An inverse Fourier transform is performed on ?(k,l) to obtain a final time-domain output of noise reduction processing.

    [0086] The adaptive filtering coefficient is adaptively updated as:

    [00005] W ( k , l + 1 ) = W ( k , l ) + ? S ^ ( k , l ) E z ( k , l ) Z * ( k , l ) ,

    where ? represents an update step size, and E.sub.z(k,l) represents a smooth energy of Z(k,l).

    [0087] E.sub.z(k,l)=(l??)E.sub.z(k,l?1)+?|Z(k,l)|.sup.2, where ? represents a smoothing factor (0<?<1).

    [0088] In an implementation (two) of the control policy based on the output of the ICA, as shown in FIG. 6, the following steps are included.

    [0089] In a step of S601, an energy E.sub.s(l) of the target signal Y.sup.1(k,l) of the current frame in an effective frequency band is calculated.

    [0090] In a step of S602, a smooth energy ?.sub.s(l)=(1??)?.sub.s(l?1)+?E.sub.s(l) of the target signal is calculated, where ? represents a smoothing factor (0<?<1).

    [0091] In a step of S603, an energy E.sub.i(l) of the interference signal Y.sup.2(k,l) of the current frame in the effective frequency band is calculated.

    [0092] In a step of S604, a smooth energy ?.sub.i(l)=(1??)?.sub.i(l?1)+?E.sub.i(l) of the interference signal is calculated.

    [0093] In a step of S605, a signal-to-interference ratio R.sub.0=?.sub.s(l)/E.sub.i(l) between the smooth energies is calculated.

    [0094] In a step of S606, a variance R.sub.std(l) of R.sub.0 in a period of time (e.g., 2 s) is calculated.

    [0095] In a step of S607, a threshold Thd for the current frame is determined by table look-up or threshold comparison according to R.sub.std(l).

    [0096] In a step of S608, if R.sub.0>Thd, a decision of switch off is output; otherwise, a decision of switch on is output.

    [0097] In a step of S609, if the decision is switch off, an input signal of the adaptive filter is set as Z(k,l)=Y.sup.2(k,l).

    [0098] In a step of S610, if the decision is switch on, the input signal of the adaptive filter is set as Z(k,l)=Y.sup.1(k,l)+Y.sup.2(k,l).

    [0099] Adaptive filtering is performed to obtain an estimated pure target signal:

    [00006] S ^ ( k , l ) = Y 1 ( k , l ) - W * ( k , l ) Z ( k , l ) ,

    where W(k,l) represents an adaptive filtering coefficient, and (?)* represents conjugation. An inverse Fourier transform is performed on ?(k,l) to obtain a final time-domain output of noise reduction processing.

    [0100] The adaptive filtering coefficient is adaptively updated as:

    [00007] W ( k , l + 1 ) = W ( k , l ) + ? S ^ ( k , l ) E z ( k , l ) Z * ( k , l ) ,

    where ? represents an update step size, and E.sub.z(k,l) represents a smooth energy of Z(k,l).

    [0101] E.sub.z(k,l)=(1??)E.sub.z(k,l?1)+?|Z(k,l)|.sup.2, where ? represents smoothing factor (0<?<1).

    [0102] To sum up, in the above embodiment, the accuracy of the adaptive filter in interference prediction can be improved, and an effect of suppressing interference residues in the target signal separated by the ICA can be achieved.

    [0103] From the above detailed description of the embodiments, those having ordinary skills in the art can clearly understand that the methods in the above embodiments can be implemented by software and a necessary general-purpose hardware platform, and of course can also be implemented by hardware, but in many cases, the former is a better implementation. Based on such an understanding, the technical schemes of the present disclosure essentially or the part contributing to conventional technologies may be embodied in the form of a software product. The computer software product is stored in a storage medium (such as a ROM/RAM, a magnetic disk, an optical disc, etc.), and contains several instructions for causing a terminal (which may be a mobile phone, a computer, a server, a network device, or the like) to execute the methods described in the embodiments of the present disclosure.

    [0104] An embodiment of the present disclosure provides a signal filtering apparatus. The apparatus is configured for implementing the above-mentioned embodiments and implementations. Details that have already been described will not be repeated here. As used herein, the term module may be a combination of software and/or hardware that implements a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in the form of software, an implementation using hardware or using a combination of software and hardware is also possible and can be conceived of.

    [0105] FIG. 7 is a structural block diagram of a signal filtering apparatus according to an embodiment of the present disclosure. As shown in FIG. 7, the apparatus includes: [0106] a first conversion module 72, configured for performing a Fourier transform on time-domain data acquired by M microphones to convert the time-domain data into frequency-domain signals of M channels of a current frame, where M is a natural number greater than 1; [0107] a first separation module 74, configured for separating the frequency-domain signals of the M channels to obtain a target signal and an interference signal of the current frame; [0108] a first determining module 76, configured for determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal; [0109] a second determining module 78, configured for determining a threshold for the current frame based on the target signal and the interference signal; and [0110] a first filtering module 710, configured for filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal.

    [0111] In an embodiment, the first determining module includes: [0112] a first calculation unit, configured for calculating an energy E.sub.s(l) of the target signal in an effective frequency band; [0113] a second calculation unit, configured for calculating a smooth energy ?.sub.s(l)=(1??)?.sub.s(l?1)+?E.sub.s(l) of the target signal, where ? represents a first smoothing coefficient, and ? is greater than 0 and less than 1; [0114] a third calculation unit, configured for calculating an energy E.sub.i(l) of the interference signal in the effective frequency band; [0115] a fourth calculation unit, configured for calculating a smooth energy ?.sub.i(l)=(1??)?.sub.i(l?1)+?E.sub.i(l) of the interference signal; and [0116] a fifth calculation unit, configured for calculating a signal-to-interference ratio R.sub.0=?.sub.s(l)/?.sub.i(l) between the smooth energies.

    [0117] In an embodiment, the second determining module includes: [0118] a sixth calculation unit, configured for calculating an energy E.sub.s(l) of the target signal in an effective frequency band; [0119] a seventh calculation unit, configured for calculating an energy E.sub.i(l) of the interference signal in the effective frequency band; [0120] an eighth calculation unit, configured for calculating a signal-to-interference ratio R(l)=E.sub.s(l)/E.sub.i(l) of the current frame; [0121] a ninth calculation unit, configured for calculating a smooth signal-to-interference ratio R(l)=(1??)R(l?1)+?R(l) and a mean value R.sub.mean(l) of the smooth signal-to-interference ratio R(l) in a preset time period, where ? represents a second smoothing coefficient, and ? is greater than 0 and less than 1; and [0122] a first determining unit, configured for determining the threshold for the current frame according to R.sub.mean(l).

    [0123] In an embodiment, the first filtering module includes: [0124] a first setting unit, configured for setting an input signal of an adaptive filter as Z(k,l)=Y.sup.2(k,l) when the signal-to-interference ratio between the smooth energies is greater than the threshold for the current frame, where (k,l) represents data of a k.sup.th frequency of an l.sup.th frame, and Y.sup.2(k,l) represents the interference signal; and [0125] a second determining unit, configured for filtering the target signal based on the input signal of the adaptive filter to obtain the pure target signal ?(k,l)=Y.sup.1(k,l)?W*(k,l)Z(k,l), where Y.sup.1(k,l) represents the target signal, W(k,l) represents a coefficient of the adaptive filter, and (?)* represents conjugation.

    [0126] In an embodiment, the first filtering module includes: [0127] a second setting unit, configured for setting an input signal of an adaptive filter as Z(k,l)=Y.sup.1(k,l)+Y.sup.2(k,l) when the signal-to-interference ratio between the smooth energies is less than or equal to the threshold for the current frame, where (k,l) represents data of a k.sup.th frequency of an l.sup.th frame, Y.sup.1(k,l) represents the target signal, and Y.sup.2(k,l) represents the interference signal; and [0128] a third determining unit, configured for filtering the target signal based on the input signal of the adaptive filter to obtain the pure target signal ?(k,l)=Y.sup.1(k,l)?W*(k,l)Z(k,l), where Y.sup.1(k,l) represents the target signal, W(k,l) represents a coefficient of the adaptive filter, and (?)* represents conjugation.

    [0129] In an embodiment, the apparatus further includes: a third determining module, configured for performing an inverse Fourier transform on the pure target signal to obtain a time-domain target signal, after the target signal is filtered based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain the pure target signal; and [0130] an output module, configured for outputting the time-domain target signal.

    [0131] In an embodiment, the apparatus further includes: [0132] a feedback module, configured for feeding back the pure target signal into the adaptive filter to update a filtering coefficient of the adaptive filter, after the target signal is filtered based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain the pure target signal.

    [0133] It should be noted that the above modules may be implemented by software or hardware. The hardware implementation may be realized in the following manner, but the present disclosure is not limited thereto: the above modules are all located in a same processor; or, the above modules are located in different processors in the form of arbitrary combinations.

    [0134] An embodiment of the present disclosure provides a computer-readable storage medium, storing a computer program which, when executed by a processor, causes the processor to implement the method in any one of the above method embodiments.

    [0135] In an embodiment, the computer-readable storage medium may include, but not limited to, any medium that can store the computer program, such as a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.

    [0136] An embodiment of the present disclosure provides an electronic device, including a memory and a processor, where the memory is configured for storing a computer program which, when executed by the processor, causes the processor to implement the method in any one of the above method embodiments.

    [0137] In an embodiment, the electronic device may further include a transmission device and an input/output device. Both the transmission device and the input/output device are connected to the processor.

    [0138] For examples in this embodiment, reference may be made to the examples described in the above embodiments and example implementations, and the details will not be repeated in this embodiment.

    [0139] According to the present disclosure, by performing a Fourier transform on time-domain data acquired by M microphones to convert the time-domain data into frequency-domain signals of M channels of a current frame, separating the frequency-domain signals of the M channels to obtain a target signal and an interference signal of the current frame, determining a signal-to-interference ratio between a smooth energy of the target signal and a smooth energy of the interference signal, determining a threshold for the current frame based on the target signal and the interference signal, and filtering the target signal based on the threshold for the current frame and the signal-to-interference ratio between the smooth energies to obtain a pure target signal, an input source of an adaptive filter is controlled based on the signal-to-interference ratio between the smooth energy of the target signal and the smooth energy of the interference signal, thereby improving the accuracy of the adaptive filter in interference prediction. Therefore, the problem of incomplete separation of interference residues from the target signal in existing technologies can be resolved, thereby effectively suppressing the interference signal.

    [0140] It will be apparent to those having ordinary skills in the art that, the modules or steps of the present disclosure may be realized by a general-purpose computing device; may be centrally deployed on a single computing device or distributed on a network composed of a plurality of computing devices; and may be implemented with program code executable by a computing device, and therefore may be stored in a storage device for execution by a computing device. In some cases, the steps shown or described may be performed in a order different from the orders described herein. Alternatively, the modules or steps may be respectively fabricated into integrated circuit modules, or a plurality of modules or steps may be fabricated into a single integrated circuit module. Therefore, the present disclosure is not limited to any particular combination of hardware and software.

    [0141] The above description is only some embodiments of the present disclosure, and is not intended to limit the present disclosure. To those having ordinary skills in the art, various modifications and variations may be made to the present disclosure. Any modifications, equivalent replacements, and improvements made within the principle of the present disclosure shall fall within the scope of the present disclosure.