Noise reduction method, device, equipment and medium
By weighting and filtering the time-domain reference noise signal vector of the active noise control system, the delay problem in the frequency-domain FxLMS algorithm is solved, achieving a more efficient noise reduction effect, reducing latency and optimizing algorithm performance.
Patent Information
- Application Number
- CN202410522618.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-28
- Publication Date
- 2025-10-28
AI Technical Summary
Existing active noise control systems, when using the frequency domain FxLMS algorithm for noise reduction, suffer from a delay between the reference noise signal and the noise cancellation signal, which fails to meet the requirements for real-time noise reduction and results in poor noise reduction performance.
By weighting the first time-domain reference noise signal vector, dividing it into multiple data blocks, and performing Fourier transform and filtering in the frequency domain, the exponential weighting vector is used to assign higher weights to sampling points closer to the current time, and the weighting coefficients are updated to generate a noise cancellation signal, thereby achieving time-domain filtering and reducing noise reduction delay.
It improves the computational efficiency of the noise reduction algorithm, reduces noise reduction latency, improves filtering effect, and enhances noise reduction performance.
Smart Images

Figure CN120853540A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of noise control, and in particular to a noise reduction method, apparatus, equipment and medium. Background Art
[0002] Active Noise Control (ANC) is based on the principle of destructive interference of sound waves. By rationally placing microphones and secondary sound sources in the scene, and controlling them through algorithms, it effectively suppresses low-frequency noise levels, thereby improving the overall sound quality of the environment. It is widely used in scenarios such as pipelines, headphones, automobiles, ships, and airplanes.
[0003] In the field of active noise control (ANC), the filtered-x least mean square (FxLMS) algorithm is widely used due to its stability and ease of implementation. To obtain a larger noise reduction bandwidth, ANC systems typically use a higher sampling rate, but this leads to a significant increase in the order and computational cost of the adaptive filter and secondary channel modeling filter, resulting in a much larger computational resource requirement in multi-channel scenarios.
[0004] Frequency-domain adaptive filters have been successfully applied in echo cancellation, acoustic feedback cancellation, and beamforming. Introducing them into active noise control, the time-domain FxLMS algorithm is transformed into the frequency domain using a Fast Fourier Transform (FFT). Utilizing the frequency-domain FxLMS algorithm for noise reduction can reduce the algorithm's complexity. However, when using the frequency-domain FxLMS algorithm for noise reduction, all sampling points are processed as a single data block. A significant delay exists between the input reference noise signal and the output noise-cancelled signal, which cannot meet real-time noise reduction requirements, resulting in poor noise reduction performance. Summary of the Invention
[0005] In view of this, the purpose of this application is to provide a noise reduction method, apparatus, device, and medium that can improve the computational efficiency of the noise reduction algorithm and reduce the noise reduction delay, thereby improving the noise reduction effect. The specific solution is as follows:
[0006] On the one hand, this application provides a noise reduction method, including:
[0007] At time n, a first time-domain reference noise signal is acquired using a reference microphone, and a first time-domain reference noise signal vector is formed; the first time-domain reference noise signal vector includes signals from time n to time nN. a N collected at time +1 a N sampling points, the N aGiven the length of the first time-domain reference noise signal vector, the first time-domain reference noise signal vector is divided into multiple data blocks, each of which includes multiple sampling points;
[0008] The first time-domain reference noise signal vector is weighted using an exponentially weighted vector to obtain a second time-domain reference noise signal vector; the exponentially weighted vector includes multiple elements; the element corresponding to each sampling point increases as the sampling point is updated.
[0009] The secondary path modeling filter is divided into multiple first blocks; each first block has an impulse response vector;
[0010] Perform a Fourier transform on the data blocks of the second time-domain reference noise signal vector to obtain the frequency-domain reference noise signal vector corresponding to each of the first blocks;
[0011] Based on each of the impulse response vectors and the frequency domain reference noise signal vector corresponding to each of the impulse response vectors, a first frequency domain filtered reference signal vector of the second time domain reference noise signal vector is determined;
[0012] Based on the time-domain filtering reference signal vector, a second frequency-domain filtering reference signal vector corresponding to each second block of the adaptive filter is determined; the time-domain filtering reference signal vector is determined by the first frequency-domain filtering reference signal vector.
[0013] Based on the second frequency domain filtering reference signal vector and the frequency domain filtering error signal vector, the weights of each second block are updated to obtain the update weight coefficients corresponding to each second block;
[0014] Based on the update weighting coefficients and the second time-domain reference noise signal vector, a noise cancellation signal is determined so as to use the noise cancellation signal to perform noise reduction processing on the primary noise; the primary noise is obtained by the first time-domain reference noise signal through the primary path between the reference microphone and the target noise reduction region.
[0015] In another aspect, embodiments of this application also provide a noise reduction device, including:
[0016] The first acquisition unit is configured to acquire a first time-domain reference noise signal using a reference microphone at time n, and to form a first time-domain reference noise signal vector; the first time-domain reference noise signal vector includes signals from time n to time nN. a N collected at time +1 a N sampling points, the N aGiven the length of the first time-domain reference noise signal vector, the first time-domain reference noise signal vector is divided into multiple data blocks, each of which includes multiple sampling points;
[0017] A weighted processing unit is used to perform weighted processing on the first time-domain reference noise signal vector using an exponential weighted vector to obtain a second time-domain reference noise signal vector; the exponential weighted vector includes multiple elements; the element corresponding to each sampling point increases as the sampling point is updated.
[0018] A partitioning unit is used to divide the secondary path modeling filter into multiple first blocks; each first block has an impulse response vector;
[0019] The transformation unit is used to perform Fourier transform on the data blocks of the second time-domain reference noise signal vector to obtain the frequency-domain reference noise signal vector corresponding to each first block;
[0020] The first determining unit is configured to determine a first frequency domain filtered reference signal vector of the second time domain reference noise signal vector based on each of the impulse response vectors and the frequency domain reference noise signal vector corresponding to each of the impulse response vectors.
[0021] The second determining unit is configured to determine, based on the time-domain filtering reference signal vector, a second frequency-domain filtering reference signal vector corresponding to each second block of the adaptive filter; the time-domain filtering reference signal vector is determined by the first frequency-domain filtering reference signal vector.
[0022] The update unit is used to update the weights of each second block according to the second frequency domain filter reference signal vector and the frequency domain filter error signal vector, so as to obtain the update weight coefficients corresponding to each second block;
[0023] The third determining unit is used to determine a noise cancellation signal based on the update weighting coefficient and the second time-domain reference noise signal vector, so as to use the noise cancellation signal to perform noise reduction processing on the primary noise; the primary noise is obtained by the first time-domain reference noise signal through the primary path between the reference microphone and the target noise reduction region.
[0024] In another aspect, embodiments of this application provide a computer device, the computer device including a processor and a memory:
[0025] The memory is used to store program code and transmit the program code to the processor;
[0026] The processor is used to execute the methods described above according to the instructions in the program code.
[0027] In another aspect, embodiments of this application provide a computer-readable storage medium for storing a computer program for performing the methods described above.
[0028] This application provides a noise reduction method, apparatus, device, and medium. A first time-domain reference noise signal vector is weighted to obtain a second time-domain reference noise signal vector. Sampling points closer to the current time are assigned higher weights to optimize noise reduction performance. By updating the weight coefficients and the second time-domain reference noise signal vector, a noise cancellation signal is determined in the time domain, enabling filtering in the time domain. The generated noise cancellation signal is used to reduce primary noise within the target noise reduction region, avoiding additional delays caused by frequency domain filtering, reducing noise reduction latency, and improving filtering effect. Furthermore, the weight coefficient update process is completed in the frequency domain, and the update is implemented in smaller blocks, reducing computational load and shortening the noise reduction processing interval, thereby improving the algorithm's computational efficiency, reducing processing latency, and ultimately improving the noise reduction effect. Attached Figure Description
[0029] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0030] Figure 1 A flowchart illustrating a noise reduction method provided in an embodiment of this application is shown;
[0031] Figure 2 A schematic diagram of yet another noise reduction method provided in an embodiment of this application is shown;
[0032] Figure 3 The amplitude-frequency response curves of the primary and secondary channels used in a comparative experiment provided in an embodiment of this application are shown.
[0033] Figure 4 The phase frequency response curves of the primary and secondary channels used in a comparative experiment provided in an embodiment of this application are shown.
[0034] Figure 5 The figure shows the mean square value curves of the error signals after noise reduction by various methods in a comparative experiment provided by an embodiment of this application;
[0035] Figure 6 A structural block diagram of a noise reduction device provided in an embodiment of this application;
[0036] Figure 7This is a structural diagram of a computer device provided in an embodiment of this application. Detailed Implementation
[0037] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the specific embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0038] Many specific details are set forth in the following description in order to provide a full understanding of this application. However, this application may also be implemented in other ways different from those described herein. Those skilled in the art can make similar extensions without departing from the spirit of this application. Therefore, this application is not limited to the specific embodiments disclosed below.
[0039] As described in the background section, when using the frequency domain FxLMS algorithm for noise reduction, there is a significant delay between the input reference noise signal and the output noise cancellation signal, specifically the product of the adaptive filter length and the sampling time. This delay cannot meet the requirements for real-time noise reduction and may cause the entire ANC system to violate causal constraints, resulting in poor noise reduction performance.
[0040] Based on the above technical problems, embodiments of this application provide a noise reduction method, apparatus, device, and medium. A first time-domain reference noise signal vector is weighted to obtain a second time-domain reference noise signal vector. Sampling points closer to the current time are assigned higher weights, thereby optimizing noise reduction performance. By updating the weight coefficients and the second time-domain reference noise signal vector, a noise cancellation signal is determined in the time domain, enabling filtering in the time domain. The generated noise cancellation signal is used to reduce primary noise within the target noise reduction region, avoiding additional delays caused by frequency-domain filtering, reducing noise reduction latency, and improving filtering effect. Furthermore, the weight coefficient update process is completed in the frequency domain, and the update is implemented in smaller blocks, reducing the computational load and shortening the noise reduction processing interval, thereby improving the computational efficiency of the algorithm, reducing processing latency, and ultimately improving the noise reduction effect.
[0041] For ease of understanding, the following detailed description, in conjunction with the accompanying drawings, provides a noise reduction method, apparatus, device, and medium according to embodiments of this application.
[0042] refer to Figure 1 The diagram shown is a flowchart of a noise reduction method provided in an embodiment of this application. The method may include the following steps.
[0043] S101, at time n, the first time-domain reference noise signal is acquired using the reference microphone and a first time-domain reference noise signal vector is formed.
[0044] In this embodiment of the application, the noise source can emit a reference noise signal, and the reference noise signal can be periodically denoised. When the preset interval sampling time is reached, the reference noise signal can be collected through the reference microphone to complete a round of denoising. That is, at the nth time, the first time-domain reference noise signal can be collected using the reference microphone and a first time-domain reference noise signal vector can be formed.
[0045] Specifically, a first time-domain reference noise signal can be acquired at time n to form a first time-domain reference noise signal vector, which is then input into an adaptive filter. The first time-domain reference noise signal vector can include signals from time n to time nN. a N at time +1 a Each sampling point corresponds to a first sampling point at each time step.
[0046] The first time-domain reference noise signal vector acquired at time n can be defined as follows:
[0047] x(n) = [x(n), x(n-1), ..., x(nN)] a +1)] T
[0048] Where, N a The length of the adaptive filter during active noise reduction is the number of sampling points, which is also the length of the first time-domain reference noise signal vector. Subsequently, the second time-domain reference noise signal vector can be input into the adaptive filter for filtering.
[0049] The first time-domain reference noise signal vector can be divided into multiple data blocks, such as k data blocks, and each data block includes multiple sampling points, such as N' / 2 samples.
[0050] S102, the first time-domain reference noise signal vector is weighted using an exponential weighting vector to obtain the second time-domain reference noise signal vector.
[0051] Specifically, the exponential weighting vector can include multiple elements, with each element corresponding to a sampling point increasing as the sampling point's time is updated. Since a sampling point's sampling time is closer to the current time, it indicates that the sampling point better reflects the current trend. Therefore, the element corresponding to each sampling point can be set to increase as the sampling point's time is updated, thus assigning higher weights to sampling points closer to the current time, thereby optimizing noise reduction performance.
[0052] Specifically, the exponentially weighted vector can be represented as:
[0053]
[0054] The second time-domain reference noise signal vector can be represented as:
[0055]
[0056] In the formula, Represents the Hadamard product, ρ j =κ j (j = 0, 1, ..., N) a ), κ∈(0,1), that is, each element ρ in the exponential weighted vector j It is obtained by an exponential function and decreases as the element index j increases.
[0057] For example, for two sampling points x(n-1) and x(n-2), if the sampling time corresponding to sampling point x(n-1) is closer to the current time, then the element ρ1 corresponding to sampling point x(n-1) is greater than the element ρ2 corresponding to sampling point x(n-2).
[0058] In this embodiment of the application, the method can be performed using an active noise reduction system. The active noise reduction system may include a time-domain weighted filtering module, a frequency-domain reference signal filtering module, a frequency-domain error signal filtering module, and a frequency-domain weight update module. The time-domain weighted filtering module adopts an adaptive filter.
[0059] S103 divides the secondary path modeling filter into multiple first blocks.
[0060] In this embodiment of the application, the length of the secondary path modeling filter in the frequency domain reference signal filtering module can be denoted as N. s The secondary path modeling filter can be divided into multiple blocks to improve the weight update speed. Each block can be designated as the first block, and the total number of first blocks can be denoted as L. That is, the secondary path modeling filter is evenly divided into L blocks, and the number of samples in each first block is N' / 2. Where N' = 2N s / L, N' = 2 Q <N a Q is an integer.
[0061] The secondary path modeling filter has an impulse response vector. Divide it into L blocks, each first block having an impulse response vector, and add N' / 2 zeros to the end of the impulse response vector of each block. Then the impulse response vector of the l-th first block is defined as follows:
[0062]
[0063]
[0064] In the formula, F[·] represents the Fast Fourier Transform operation. Since the secondary channel is identified offline, the FFT of the impulse response of the secondary channel modeling filter can also be calculated offline.
[0065] S104, perform Fourier transform on the data block of the second time-domain reference noise signal vector to obtain the frequency-domain reference noise signal vector corresponding to each first block.
[0066] In this embodiment, a Fourier transform can be performed on each data block in the first time-domain reference noise signal vector to obtain a frequency-domain reference noise signal vector X(l,k), which corresponds to the first block l. Furthermore, for each first block, the corresponding frequency-domain reference noise signal vector X(l,k) may include X(l,1), X(l,2), ..., X(l,k).
[0067] In this round of denoising, a portion of the data blocks in the first time-domain reference noise signal vector are identical to a portion of the data blocks in the time-domain reference noise signal vector obtained in the previous round of denoising, rather than all data blocks being identical. Therefore, in each round of denoising, as long as the sampling points in at least one data block in the current round of the time-domain noise reference signal vector are updated, denoising can be performed without waiting for all data blocks in the current round to have newly sampled points. This shortens the interval between denoising processes and reduces denoising latency. Furthermore, an N′-point FFT can be performed using the overlap-preserving method to implement convolution and linear correlation operations.
[0068] In one possible implementation, the k-th data block and the (k-1)-th data block in the first time-domain reference noise signal vector are concatenated to obtain the input signal vector corresponding to the first first block. A Fourier transform is then performed on the input signal vector corresponding to the first first block to obtain the frequency-domain reference noise signal vector corresponding to the first first block. Using a shift operation, the frequency-domain reference signal corresponding to the (l-1)-th first block in the previous denoising process is used as the frequency-domain reference noise signal vector corresponding to the first first block; 1 is greater than 1.
[0069] Here, the k-th data block x(k) is the newly acquired sampling point data during this round of noise reduction. It can be concatenated with the (k-1)-th data block x(k-1) to obtain the input signal vector (i.e., the N′ point input signal vector) x(0, k) corresponding to the first block, which can be expressed by the following formula:
[0070] x(0, k) = [x(k-1), x(k)] T
[0071] Where k represents the time index of the data block, which increases by 1 every N′ / 2 sampling points, i.e., k = 1, 2, ..., x(k) = [x(kN′ / 2-N′ / 2+1)x(kN′ / 2-N′ / 2+2)…x((kN′ / 2))] represents the first time-domain reference noise signal vector of the input data block at time n = kN′ / 2, and x(k-1) represents the first time-domain reference noise signal vector of the input data block at time n = (k-1)N′ / 2.
[0072] Next, an FFT operation is performed on the input signal vector at point N′ to obtain the frequency domain reference noise signal vector corresponding to the first block:
[0073] X(0, k) = F[x(0, k)]
[0074] For the first blocks other than the first first block, since they have already been acquired and processed by Fourier transform in the previous denoising process, they can be acquired using a shift operation. The frequency domain reference noise signal vector corresponding to the (l-1)th first block in the previous denoising process can be used as the frequency domain reference noise signal vector corresponding to the lth first block in the current process. For example, the frequency domain reference noise signal vector corresponding to the 3rd first block in the previous denoising process can be used as the frequency domain reference noise signal vector corresponding to the 4th first block in the current denoising process.
[0075] That is, X(l,k) can be obtained through a shift operation:
[0076] X(l,k+1)=X(l-1,k)(l=L-1,L-2,…,1)
[0077] In this way, we can obtain the frequency domain reference noise signal vector X(1, k) corresponding to the second first block (l=1), the frequency domain reference noise signal vector X(2, k) corresponding to the third first block (l=2), and the frequency domain reference noise signal vector X(L-1, k) corresponding to the last first block (l=L-1). It is understandable that, for ease of description, the first first block can be referred to as block 0, the second first block as block 1, and so on.
[0078] S105, based on each impulse response vector and the corresponding frequency domain reference noise signal vector, determine the first frequency domain filtered reference signal vector of the second time domain reference noise signal vector.
[0079] In this embodiment of the application, it can be based on each impulse response vector The first frequency domain filtered reference signal vector X′ is determined by filtering each frequency domain reference noise signal vector X(t, k) and the first time domain reference noise signal vector X′. l(k) can be expressed using the following formula:
[0080]
[0081] Where X(t, k) represents the N′ point frequency domain reference signal vector of the l-th block when the k-th data block is read in. This is the frequency domain representation of the l-th block of the secondary path impulse response vector.
[0082] Thus, in the frequency domain reference signal filtering module, the first time domain reference noise signal vector is filtered in the frequency domain using FFT operations to obtain the first frequency domain filtered reference signal vector. Subsequently, the second frequency domain filtered reference signal vector corresponding to each second block can be obtained based on each second block of the adaptive filter.
[0083] S106, determine the second frequency domain filter reference signal vector corresponding to each second block of the adaptive filter based on the time domain filter reference signal vector.
[0084] In this embodiment, the length of the adaptive filter can be denoted as N. a The adaptive filter can be divided into M second blocks with N′ / 2 samples each, where N′=2N a / M, N′=2 Q <N a Q is an integer. The adaptive filter is used to filter the acquired first time-domain reference noise signal vector to achieve noise reduction. The adaptive filter can be a finite impulse response (FIR) filter.
[0085] Specifically, the second frequency domain filter reference signal vector X′(m, k) corresponding to each second block can be determined based on the time domain filter reference signal vector, and an N′-point FFT can be performed using the overlap-preserving method to achieve convolution and linear correlation operations.
[0086] In this embodiment, a fast inverse Fourier transform can be performed on the first frequency domain filtered reference signal vector to obtain a time domain filtered reference signal vector:
[0087] x′(k)=F -1 [X′ l (k) (take the last N′ / 2 samples)
[0088] Among them, F -1 [·] denotes the inverse fast Fourier transform operation, x′(k)=[x′(kN′ / 2-N′ / 2+1), x′(kN′ / 2-N′ / 2+2), ..., x′(kN′ / 2)], which represents the time-domain filtering reference signal vector when n=kN′ / 2.
[0089] By concatenating the current N′ / 2 filtered signal vectors (i.e., the filtered signal vectors corresponding to the newly acquired sampling points in this round) with the past N′ / 2 samples, we can obtain...
[0090] x′(0,k)=[x′(k-1),x′(k)] T
[0091] The second frequency domain filtered reference signal vector X′(0, k) corresponding to the first second block (i.e., when m = 0) obtained by Fourier transform is:
[0092] X′(0, k)=F[x′(0, k)]
[0093] The second frequency domain filter reference signal vector used to update other second blocks can be obtained by shifting as follows:
[0094] X'(m,k+1)=X'(m-1,k)(m=M-1,M-2,...,1)
[0095] In this embodiment of the application, before S106, a frequency domain filtering error signal vector can also be determined. An error signal vector e(n) can be collected in the target noise reduction area. The error signal vector can be the residual noise after the primary noise d(n) collected by the error microphone in the target noise reduction area is superimposed with the noise cancellation signal y′(n). That is, in the previous round of noise reduction processing, the noise cancellation signal emitted by the active noise reduction system and the primary noise emitted by the noise source are superimposed and canceled in the target noise reduction area.
[0096] The error filtering module can use the Catharine window to filter and smooth the error signal vector, and perform FFT operation to obtain the frequency domain filtered error signal vector.
[0097] By applying a Kaiser window to the error signal vector for filtering and smoothing, the time-domain filtered error signal vector can be obtained. The expression for the Kaiser window is:
[0098]
[0099] In the formula, I0(·) is the Bessel function of the first kind, J represents the total length of the window function, let J = N′ / 2, and β can be set to different values according to requirements. The error signal vector e(k) acquired using the Caesar window is given by: e(kN′ / 2-N′ / 2+1)e(kN′ / 2-N′ / 2+2)…e(kN′ / 2)] T Filtering is performed to obtain the time-domain filtering error signal vector e. f (k).
[0100] Next, the time-domain filtering error signal vector e can be... fPerform a Fourier transform on (k) to obtain the frequency domain filtering error signal vector E(k). The frequency domain filtering error signal vector is derived from the time domain filtering error signal vector e. f (k) After padding with N′ / 2 zeros and taking N′ points for FFT, we get:
[0101]
[0102] S107, based on the second frequency domain filtering reference signal vector and the frequency domain filtering error signal vector, update the weights of each second block to obtain the update weight coefficients corresponding to each second block.
[0103] In this embodiment, the frequency domain weight update module can divide the weights of the adaptive filter into M equal blocks, and update each block separately based on the input second frequency domain filter reference signal vector and the frequency domain filter error signal vector. This block-based weight update in the frequency domain improves the update speed and noise reduction effect. Specifically, for the second block of each adaptive filter, the weights can be updated based on the second frequency domain filter reference signal vector X′(m,k) and the frequency domain filter error signal vector E(k) to obtain updated weight coefficients, which can then be used to determine the noise cancellation signal vector.
[0104] In one possible implementation, S106 may specifically include performing a dot product operation on the second frequency domain filtering reference signal vector and the frequency domain filtering error signal vector to obtain the first operation result. For the first operation result Perform an inverse Fourier transform to obtain the second result. According to the result of the second calculation The third operation result is determined by the step size μ. The weight coefficients of the adaptive filter in the previous noise reduction process are updated using the third operation result to determine the updated weight coefficients corresponding to each second block.
[0105] In other words, the update weighting coefficient can be calculated using the following formula:
[0106] w(m,k+1)=w(m,k)-μΔw(m,k)
[0107]
[0108] In the formula, μ is the step size, (·) * Indicates complex conjugation. The dot product operation is represented by m = 0, 1, 2, ..., M-1. w(m, k) represents the temporal weight of the m-th block at time n = kN′ / 2. The weight w(n) of the adaptive filter at time n can be formed by splicing the blocks together, and it is used as the input of the temporal weighted filtering module.
[0109] The weight coefficients can be updated every N′ / 2 sampling times. That is, the weights can be updated as soon as one data block in the first time-domain reference noise signal vector is updated, without waiting for all data blocks to be updated. Compared to the traditional frequency-domain FXLMS algorithm, this improves the weight coefficient update speed and noise reduction performance. It can be understood that the filter weight coefficients remain w(m, k) during the continuous input data block period.
[0110] S108, based on the updated weighting coefficients and the first time-domain reference noise signal vector, determine the noise cancellation signal so as to use the noise cancellation signal to perform noise reduction processing on the primary noise.
[0111] In this embodiment, the time-domain weighted filtering module can filter the second time-domain reference noise signal vector based on the updated weight coefficients to obtain a noise cancellation signal.
[0112] Define the weight vector of the filter at time n as follows: The noise cancellation signal at the output of the adaptive filter is:
[0113]
[0114] Since the first time-domain reference noise signal is collected near the noise source using a reference microphone, there is a primary path between the reference microphone and the target noise reduction area. The first time-domain reference noise signal reaches the target noise reduction area through this primary path, and the noise in the target noise reduction area is recorded as the primary noise.
[0115] In this way, within the target noise reduction area, the noise cancellation signal and the primary noise can be superimposed and canceled out, thereby reducing noise and achieving a noise reduction effect. By continuously repeating the above process, effective noise control in the target scene can be achieved.
[0116] In other words, in this application, the updated weight coefficients are determined in the frequency domain. Specifically, when using the secondary channel modeling filter for filtering, the filtering of the reference noise signal is performed in the frequency domain. Then, the second frequency domain filtering reference signal vector corresponding to each block of the adaptive filter is determined in the frequency domain. The weights of each block are updated in the frequency domain. This update process is completed in the frequency domain, and the update is implemented in smaller blocks, reducing the computational load and shortening the denoising interval, thereby improving the algorithm's computational efficiency and reducing processing latency. Then, an inverse Fourier transform is performed on the weight coefficients to obtain the updated weight coefficients in the time domain. Thus, the updated weight coefficients in the time domain can be calculated with the reference noise signal in the time domain to determine the noise cancellation signal in the time domain, enabling filtering in the time domain. The noise cancellation signal is then used to denoise the primary noise in the target denoising region, avoiding the additional delay caused by frequency domain filtering, reducing denoising latency, and improving the filtering effect.
[0117] refer to Figure 2 The diagram shown illustrates another noise reduction method provided in this application. x(n) is a first time-domain reference noise signal vector, composed of reference signals collected by the reference microphone at the noise source. P(z) represents the primary path from the reference microphone to the target noise reduction area. d(n) represents the primary noise of the first time-domain reference noise signal after passing through the primary path. S(z) represents the secondary path from the loudspeaker to the target noise reduction area. The estimation of the secondary path S(z) can be obtained through offline modeling. y(n) is the output signal vector of the noise reduction system, y′(n) is the cancellation signal of the output signal vector after passing through the secondary path, i.e., the noise cancellation signal, and e(n) is the residual noise after the primary noise d(n) collected by the error microphone in the target noise reduction area is superimposed with the noise cancellation signal y′(n).
[0118] In other words, the noise emitted by the noise source can be collected by the reference microphone, that is, the first time-domain reference noise signal is obtained. The first time-domain reference noise signal is transmitted to the target noise reduction area to obtain primary noise, which is then input into the active noise reduction system for noise reduction processing. The active noise reduction system can generate a noise cancellation signal. The noise cancellation signal and the primary noise are superimposed in the target noise reduction area. The residual noise after superposition is collected by the error microphone so as to adjust the weight coefficients of the adaptive filter according to the residual noise and the first time-domain reference noise signal vector.
[0119] The time-domain weighted filtering module assigns higher weights to the most recent samples in the first time-domain reference noise signal vector x(n), and then filters them based on the updated weight coefficients of the latest adaptive filter to obtain the real-time output signal vector y(n) of the system. The frequency-domain error signal filtering module uses the Catcher window to smooth the acquired error signal vector and transmits the frequency-domain filtered error signal vector to the frequency-domain weight update module.
[0120] The frequency domain reference signal filtering module filters the first time domain reference noise signal vector x(n) in the frequency domain and transmits the second frequency domain filtered reference signal vector X′(m,k) to the frequency domain weight update module. The frequency domain weight update module calculates the update gradient of the filter in the frequency domain based on the second frequency domain filtered reference signal vector X′(m,k) and the frequency domain filtering error signal vector E(k). Then, it performs IFFT to obtain the weight w(n) of the time domain adaptive filter, thereby updating the filter weight coefficients and transmitting the latest filter weight coefficients to the time domain weighted filtering module.
[0121] refer to Figure 3 The image shows the amplitude-frequency response curves of the primary and secondary channels used in a comparative experiment provided in an embodiment of this application. (Refer to...) Figure 4 The figure shows the phase frequency response curves of the primary and secondary channels used in a comparative experiment provided in this application embodiment. Noise collected inside the car is used as the reference signal. The primary path P(z) and secondary path S(z) in the experiment are represented by 64th and 128th order FIR filters, respectively, where the length is N. a =128 adaptive filters and length N s The secondary path modeling filter with a length of 64 was divided into 4 and 2 blocks of length 32, respectively.
[0122] refer to Figure 5 The figure shows the mean square value curves of the error signals after denoising by various methods in a comparative experiment provided by an embodiment of this application. Simulation comparisons are made between the classic active noise control algorithms, including the time-domain FxLMS algorithm, the frequency-domain FxLMS algorithm, the frequency-domain block FxLMS algorithm, and the frequency-domain block active denoising algorithm combined with time-domain filtering proposed in this invention. The algorithm proposed in this invention has a wider denoising bandwidth and greater denoising depth than other existing algorithms, and it also has a faster convergence speed and smaller steady-state error. Overall, the denoising performance of the algorithm proposed in this invention is superior to existing algorithms.
[0123] This application provides a noise reduction method that weights a first time-domain reference noise signal vector to obtain a second time-domain reference noise signal vector. Sampling points closer to the current time are assigned higher weights to optimize noise reduction performance. By updating the weight coefficients and the second time-domain reference noise signal vector, a noise cancellation signal is determined in the time domain, enabling time-domain filtering. This generates a noise cancellation signal to reduce primary noise within the target noise reduction region, avoiding additional delays caused by frequency-domain filtering, reducing noise reduction latency, and improving filtering effectiveness. Furthermore, the weight coefficient update process is completed in the frequency domain, and the update is implemented in smaller blocks, reducing computational load and shortening the noise reduction processing interval, thereby improving the algorithm's computational efficiency, reducing processing latency, and ultimately improving the noise reduction effect.
[0124] Based on the above noise reduction methods, this application also provides a noise reduction device, see reference. Figure 6 The diagram shown is a structural block diagram of a noise reduction device provided in an embodiment of this application. The device may include:
[0125] The first acquisition unit 201 is configured to acquire a first time-domain reference noise signal using a reference microphone at time n, and form a first time-domain reference noise signal vector; the first time-domain reference noise signal vector includes signals from time n to time nN. a N collected at time +1 a N sampling points, the N a Given the length of the first time-domain reference noise signal vector, the first time-domain reference noise signal vector is divided into multiple data blocks, each of which includes multiple sampling points;
[0126] The weighting processing unit 202 is used to perform weighting processing on the first time-domain reference noise signal vector using an exponential weighting vector to obtain a second time-domain reference noise signal vector; the exponential weighting vector includes multiple elements; the element corresponding to each sampling point increases as the sampling point is updated.
[0127] The partitioning unit 203 is used to divide the secondary path modeling filter into multiple first blocks; each first block has an impulse response vector;
[0128] The transformation unit 204 is used to perform Fourier transform on the data blocks of the second time-domain reference noise signal vector to obtain the frequency-domain reference noise signal vector corresponding to each first block;
[0129] The first determining unit 205 is used to determine the first frequency domain filtered reference signal vector of the second time domain reference noise signal vector based on each of the impulse response vectors and the frequency domain reference noise signal vector corresponding to each of the impulse response vectors.
[0130] The second determining unit 206 is used to determine the second frequency domain filtering reference signal vector corresponding to each second block of the adaptive filter based on the time domain filtering reference signal vector; the time domain filtering reference signal vector is determined by the first frequency domain filtering reference signal vector.
[0131] The updating unit 207 is used to update the weights of each second block according to the second frequency domain filter reference signal vector and the frequency domain filter error signal vector, so as to obtain the update weight coefficients corresponding to each second block;
[0132] The third determining unit 208 is used to determine a noise cancellation signal based on the update weighting coefficient and the second time-domain reference noise signal vector, so as to use the noise cancellation signal to perform noise reduction processing on the primary noise; the primary noise is obtained by the first time-domain reference noise signal through the primary path between the reference microphone and the target noise reduction region.
[0133] Optionally, the transformation unit is used for:
[0134] The k-th data block and the (k-1)-th data block in the second time-domain reference noise signal vector are concatenated to obtain the input signal vector corresponding to the first first block;
[0135] Perform a Fourier transform on the input signal vector corresponding to the first first block to obtain the frequency domain reference noise signal vector corresponding to the first first block;
[0136] Using the shift operation, the frequency domain reference noise signal vector corresponding to the (l-1)th first block in the previous noise reduction process is used as the frequency domain reference noise signal vector corresponding to the lth first block.
[0137] Optionally, the update unit is used for:
[0138] Perform a dot product operation on the second frequency domain filter reference signal vector and the frequency domain filter error signal vector to obtain the first operation result;
[0139] Perform an inverse Fourier transform on the first calculation result to obtain the second calculation result;
[0140] Based on the second calculation result and the step size, determine the third calculation result;
[0141] The weight coefficients of the adaptive filter in the previous noise reduction process are updated using the third calculation result to determine the updated weight coefficients corresponding to each second block.
[0142] Optionally, the device further includes:
[0143] The acquisition unit is used to acquire error signal vectors;
[0144] The filtering unit is used to filter the error signal vector using a Kaiser window to obtain a time-domain filtered error signal vector.
[0145] The fourth determining unit is used to perform a Fourier transform on the time-domain filtering error signal vector to obtain the frequency-domain filtering error signal vector.
[0146] Optionally, the adaptive filter is a finite-length unit impulse response filter.
[0147] This application provides a noise reduction device that weights a first time-domain reference noise signal vector to obtain a second time-domain reference noise signal vector. Sampling points closer to the current time are assigned higher weights to optimize noise reduction performance. By updating the weight coefficients and the second time-domain reference noise signal vector, a noise cancellation signal is determined in the time domain, enabling time-domain filtering. This generates a noise cancellation signal to reduce primary noise within the target noise reduction region, avoiding additional delays caused by frequency-domain filtering, reducing noise reduction latency, and improving filtering effectiveness. Furthermore, the weight coefficient update process is completed in the frequency domain, and the update is implemented in smaller blocks, reducing computational load and shortening the noise reduction processing interval, thereby improving the algorithm's computational efficiency, reducing processing latency, and ultimately improving the noise reduction effect.
[0148] In another aspect, embodiments of this application provide a computer device, with reference to Figure 7 The diagram shown is a structural diagram of a computer device provided in an embodiment of this application. The computer device includes a processor 310 and a memory 320.
[0149] The memory 320 is used to store program code and transmit the program code to the processor 310;
[0150] The processor 310 is used to execute the method provided in the above embodiments according to the instructions in the program code.
[0151] The computer device may include a terminal device or a server, and the aforementioned apparatus may be configured in the computer device.
[0152] In another aspect, embodiments of this application also provide a storage medium for storing a computer program for executing the methods provided in the above embodiments.
[0153] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by program instructions in hardware. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium can be at least one of the following media: read-only memory (ROM), RAM, magnetic disk, or optical disk, etc., and other media capable of storing program code.
[0154] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0155] The above description is merely a preferred embodiment of this application. Although this application has disclosed preferred embodiments above, it is not intended to limit this application. Any person skilled in the art can make many possible variations and modifications to the technical solutions of this application using the methods and techniques disclosed above, or modify them into equivalent embodiments with equivalent changes, without departing from the scope of the technical solutions of this application. Therefore, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of this application without departing from the content of the technical solutions of this application shall still fall within the protection scope of the technical solutions of this application.
Claims
1. A noise reduction method, characterized in that, include: At time n, the first time-domain reference noise signal is acquired using the reference microphone and the first time-domain reference noise signal vector is formed. The first time-domain reference noise signal vector includes signals from the nth time to the nNth time. a N collected at time +1 a N sampling points, the N a Given the length of the first time-domain reference noise signal vector, the first time-domain reference noise signal vector is divided into multiple data blocks, each of which includes multiple sampling points; The first time-domain reference noise signal vector is weighted using an exponentially weighted vector to obtain a second time-domain reference noise signal vector; the exponentially weighted vector includes multiple elements; the element corresponding to each sampling point increases as the sampling point is updated. The secondary path modeling filter is divided into multiple first blocks; each first block has an impulse response vector; Perform a Fourier transform on the data blocks of the second time-domain reference noise signal vector to obtain the frequency-domain reference noise signal vector corresponding to each of the first blocks; Based on each of the impulse response vectors and the frequency domain reference noise signal vector corresponding to each of the impulse response vectors, a first frequency domain filtered reference signal vector of the second time domain reference noise signal vector is determined; Based on the time-domain filtering reference signal vector, a second frequency-domain filtering reference signal vector corresponding to each second block of the adaptive filter is determined; the time-domain filtering reference signal vector is determined by the first frequency-domain filtering reference signal vector. Based on the second frequency domain filtering reference signal vector and the frequency domain filtering error signal vector, the weights of each second block are updated to obtain the update weight coefficients corresponding to each second block; Based on the update weighting coefficients and the second time-domain reference noise signal vector, a noise cancellation signal is determined so as to perform noise reduction processing on the primary noise using the noise cancellation signal; The primary noise is obtained by passing the first time-domain reference noise signal through the primary path between the reference microphone and the target noise reduction region.
2. The method according to claim 1, characterized in that, Performing a Fourier transform on the data blocks of the second time-domain reference noise signal vector yields a frequency-domain reference noise signal vector corresponding to each of the first blocks, including: The k-th data block and the (k-1)-th data block in the second time-domain reference noise signal vector are concatenated to obtain the input signal vector corresponding to the first first block; Perform a Fourier transform on the input signal vector corresponding to the first first block to obtain the frequency domain reference noise signal vector corresponding to the first first block; Using the shift operation, the frequency domain reference noise signal vector corresponding to the (l-1)th first block in the previous noise reduction process is used as the frequency domain reference noise signal vector corresponding to the lth first block.
3. The method according to claim 1, characterized in that, Based on the second frequency domain filtering reference signal vector and the frequency domain filtering error signal vector, the weights of each second block are updated to obtain the update weight coefficients corresponding to each second block, including: Perform a dot product operation on the second frequency domain filter reference signal vector and the frequency domain filter error signal vector to obtain the first operation result; Perform an inverse Fourier transform on the first calculation result to obtain the second calculation result; Based on the second calculation result and the step size, determine the third calculation result; The weight coefficients of the adaptive filter in the previous noise reduction process are updated using the third calculation result to determine the updated weight coefficients corresponding to each second block.
4. The method according to claim 1, characterized in that, Before updating the weights of each second block according to the second frequency domain filtering reference signal vector and the frequency domain filtering error signal vector to obtain the update weight coefficients corresponding to each second block, the method further includes: Acquire error signal vector; The error signal vector is filtered using a Kaiser window to obtain a time-domain filtered error signal vector; The frequency domain filtering error signal vector is obtained by performing a Fourier transform on the time-domain filtering error signal vector.
5. The method according to any one of claims 1-4, characterized in that, The adaptive filter is a finite-length unit impulse response filter.
6. A noise reduction device, characterized in that, include: The first acquisition unit is used to acquire a first time-domain reference noise signal using a reference microphone at time n, and form a first time-domain reference noise signal vector. The first time-domain reference noise signal vector includes signals from the nth time to the nNth time. a N collected at time +1 a N sampling points, the N a Given the length of the first time-domain reference noise signal vector, the first time-domain reference noise signal vector is divided into multiple data blocks, each of which includes multiple sampling points; A weighted processing unit is used to perform weighted processing on the first time-domain reference noise signal vector using an exponential weighted vector to obtain a second time-domain reference noise signal vector; the exponential weighted vector includes multiple elements; the element corresponding to each sampling point increases as the sampling point is updated. A partitioning unit is used to divide the secondary path modeling filter into multiple first blocks; each first block has an impulse response vector; The transformation unit is used to perform Fourier transform on the data blocks of the second time-domain reference noise signal vector to obtain the frequency-domain reference noise signal vector corresponding to each first block; The first determining unit is configured to determine a first frequency domain filtered reference signal vector of the second time domain reference noise signal vector based on each of the impulse response vectors and the frequency domain reference noise signal vector corresponding to each of the impulse response vectors. The second determining unit is configured to determine, based on the time-domain filtering reference signal vector, a second frequency-domain filtering reference signal vector corresponding to each second block of the adaptive filter; the time-domain filtering reference signal vector is determined by the first frequency-domain filtering reference signal vector. The update unit is used to update the weights of each second block according to the second frequency domain filter reference signal vector and the frequency domain filter error signal vector, so as to obtain the update weight coefficients corresponding to each second block; The third determining unit is used to determine a noise cancellation signal based on the update weighting coefficient and the second time-domain reference noise signal vector, so as to use the noise cancellation signal to perform noise reduction processing on the primary noise; the primary noise is obtained by the first time-domain reference noise signal through the primary path between the reference microphone and the target noise reduction region.
7. The apparatus according to claim 6, characterized in that, The transformation unit is used for: The k-th data block and the (k-1)-th data block in the second time-domain reference noise signal vector are concatenated to obtain the input signal vector corresponding to the first first block; Perform a Fourier transform on the input signal vector corresponding to the first first block to obtain the frequency domain reference noise signal vector corresponding to the first first block; Using a shift operation, the frequency domain reference noise signal vector corresponding to the (l-1)th first block in the previous noise reduction process is used as the frequency domain reference noise signal vector corresponding to the lth first block; where l is greater than 1.
8. The apparatus according to claim 6, characterized in that, The update unit is used for: Perform a dot product operation on the second frequency domain filter reference signal vector and the frequency domain filter error signal vector to obtain the first operation result; Perform an inverse Fourier transform on the first calculation result to obtain the second calculation result; Based on the second calculation result and the step size, determine the third calculation result; The weight coefficients of the adaptive filter in the previous noise reduction process are updated using the third calculation result to determine the updated weight coefficients corresponding to each second block.
9. A computer device, characterized in that, The computer device includes a processor and memory: The memory is used to store program code and transmit the program code to the processor; The processor is configured to execute the method described in any one of claims 1-5 according to the instructions in the program code.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program for performing the method according to any one of claims 1-5.
Citation Information
Cited By
Noise control method and device for range hood
CN121483211A
Noise control methods and devices for range hoods
CN121483211B