A method for specifying noise reduction amount based on adaptive FxLMS algorithm
Through the discrete Fourier transform and frequency domain weighted processing in the adaptive FxLMS algorithm, the problem of poor low-frequency noise control effect is solved, flexible adjustment of the specified noise reduction amount is achieved, and the accuracy and adaptability of the noise reduction effect are improved.
Patent Information
- Application Number
- CN202310563198.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-18
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2043-05-18
AI Technical Summary
Existing technologies are not very effective in controlling low-frequency noise, and different application backgrounds have different requirements for noise reduction, making it difficult to achieve flexible adjustment of the specified noise reduction amount.
An adaptive FxLMS algorithm is used to modify the desired signal to achieve a specified amount of noise reduction through discrete Fourier transform and frequency domain weighting processing. The frequency domain weight value W'(k) is multiplied by the frequency domain signal D(k) to obtain the weighted desired signal D'(k). An inverse discrete Fourier transform is then performed to replace the desired signal d(n) in the FxLMS algorithm to obtain the control filter coefficient w(n).
It realizes the control of the specified noise reduction amount, enhances the flexibility of adaptive active noise reduction, can adjust the noise reduction amount according to different frequency bands and scene requirements, and improves the accuracy of the noise reduction effect.
Smart Images

Figure CN116612738B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for specifying a noise reduction amount based on an adaptive FxLMS algorithm, and is particularly suitable for achieving a specified noise reduction amount target for a noise signal. Background Art
[0002] Sound is an essential element in our lives, conveying the information we need. However, noise can negatively impact our lives, disrupting daily routines and harming ear health. As noise pollution becomes increasingly severe, noise control has become a crucial issue.
[0003] Noise control methods can be broadly categorized as passive and active. Sound absorption, muffler, and vibration isolation fall under the passive noise control umbrella. While effective at eliminating mid- and high-frequency noise, they are less effective at reducing low-frequency noise due to limitations in size and cost. To address this issue, active noise control, also known as active noise control, has gradually become a subject of research. Active noise control primarily utilizes the superposition of two sound waves with equal amplitude and frequency but opposite phases, causing them to cancel each other out and achieve noise reduction.
[0004] Active noise reduction can be divided into feedforward and feedback types, and each type can be further divided into adaptive and non-adaptive. In the present invention, the feedforward active adaptive noise reduction system and the FxLMS algorithm are mainly used.
[0005] In life, different application contexts have different requirements for noise reduction. People's demand for comfortable listening experience is becoming stronger and stronger. That is, when it comes to noise control, the lower the sound pressure level, the better. In different behaviors and scenarios, such as sleeping, daily work, or in offices and libraries, the demand for noise reduction is also different. The human ear has different sensitivities to sound signals of different frequencies. In the same scenario, the demand for noise reduction in different frequency bands is also different. Therefore, the noise reduction amount should be adjusted differently according to the listening characteristics of the human ear and the needs of different scenarios. The specified noise reduction method can attenuate the noise in the target frequency band by a specified amount, which has important application value. Summary of the Invention
[0006] The purpose of the present invention is to provide a method for specifying the amount of noise reduction based on the adaptive FxLMS algorithm, which reduces the noise to a specified value through discrete Fourier transform and frequency domain weighted processing, thereby improving the flexibility of adaptive active noise reduction.
[0007] To achieve the above object, the technical solution adopted by the present invention is:
[0008] A method for specifying a noise reduction amount based on an adaptive FxLMS algorithm comprises the following steps:
[0009] Step S1: Perform discrete Fourier transform on the desired signal d(n) in the FxLMS algorithm to obtain its frequency domain signal D(k); Step S2: Calculate the frequency domain weighted value W'(k) of the desired signal d(n) according to the specified noise reduction amount;
[0010] Step S3: The frequency domain signal D(k) of the desired signal is weighted with the frequency domain weight value W'(k) to obtain the weighted frequency domain signal D'(k) of the desired signal, and then an inverse discrete Fourier transform is performed to obtain the weighted desired signal d'(n); Step S4: The weighted desired signal d'(n) is substituted into the FxLMS algorithm, and the control filter coefficient w(n) is obtained after the algorithm converges;
[0011] Step S5: fix the control filter coefficient in the FxLMS algorithm to w(n) to obtain a noise reduction effect with a specified noise reduction amount;
[0012] Furthermore, in step S1, the desired signal d(n) in the FxLMS algorithm is transformed into a frequency domain signal D(k)=F{d(n)} using discrete Fourier transform, where F{} represents discrete Fourier transform, k=1,2,…,N, and N is the number of frequency points of interest.
[0013] Furthermore, in step S2, the frequency domain weighted value W'(k) is consistent with the length of the frequency domain signal D(k) in step S1, and the noise reduction amount of the kth frequency point is specified as A according to the noise reduction requirement. k , in dB, using the formula Calculate the weighted value of the kth frequency point, where k = 1, 2, ..., N.
[0014] Furthermore, in step S3, the frequency domain weighted value W'(k) is multiplied by the frequency domain signal D(k) to obtain the frequency domain signal D'(k)=W'(k)D(k) of the weighted desired signal, k=1,2,…,N, and then the frequency domain signal D'(k) of the weighted desired signal is subjected to inverse discrete Fourier transform to obtain the weighted time domain desired signal d'(n)=F -1 {D'(k)}, where F -1 {} represents the inverse discrete Fourier transform.
[0015] Furthermore, in step S4, the original desired signal d(n) is replaced by the weighted desired signal d'(n) in the FxLMS algorithm, that is, the error signal in the algorithm is obtained by e(n) = d'(n) - x(n)*w(n)*s(n), and the control filter coefficient w(n) of length L is obtained after the algorithm converges, where x(n) is the reference signal, w(n) is the control filter coefficient, and s(n) is the unit impulse response of the secondary channel of length L.
[0016] The beneficial effects of the present invention are:
[0017] The present invention provides a method for specifying a noise reduction amount based on an adaptive FxLMS algorithm. By designing a frequency domain weighting value W'(k), the original expected signal d(n) in the FxLMS algorithm is modified to obtain a weighted expected signal d'(n). The original expected signal d(n) is replaced by the weighted expected signal d'(n). This method can make the error signal converge to the specified noise reduction value more accurately, thereby enhancing the flexibility of the FxLMS algorithm in noise reduction. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 This is a system block diagram of the adaptive FxLMS algorithm on which the present invention is based;
[0019] Figure 2 is the noise reduction amount in all frequency bands after noise reduction in Example 1 of the present invention;
[0020] Figure 3 is the noise reduction amount in all frequency bands after noise reduction in Example 2 of the present invention;
[0021] Figure 4 Flowchart of active noise control specifying the amount of noise reduction for the present invention. DETAILED DESCRIPTION
[0022] The embodiments of the present invention will be further described below with reference to the accompanying drawings:
[0023] Example 1:
[0024] Step S1: Set the input reference signal x(n) to white noise with a frequency range of 0-1000 Hz and a sampling rate of 2 kHz. Experimentally measure the primary path p(n) from the reference signal to the error sensor. Convolve the primary path with the reference signal to obtain the desired signal d(n). Use the discrete Fourier transform to transform the desired signal d(n) into a frequency domain signal D(k) = F{d(n)}, where k = 1, 2, ..., 2000.
[0025] Step S2: Specify the noise reduction amount to be 20dB across the entire frequency band, and calculate the frequency domain weighted value across the entire frequency band based on the specified noise reduction amount.
[0026] Step S3: multiply W'(k) by D(k) according to the frequency domain weighted value of each frequency point calculated in step S2 to obtain the frequency domain signal D'(k)=W'(k)D(k), k=1,2,…,2000 of the weighted desired signal, and then perform inverse discrete Fourier transform on D'(k) to obtain the weighted time domain desired signal d'(n)=F -1 {D'(k)}.
[0027] Step S4: In the FxLMS algorithm, the original desired signal d(n) is replaced with the weighted desired signal d'(n), and the error signal e(n) at the error sensor is calculated as follows: d'(n)-x(n)*w(n)*s(n), wherein the length of the control filter coefficient w(n) and the unit impulse response s(n) of the secondary channel is set to L=200, and the error signal e(n) and the filtered reference signal x'(n) are iterated in the FxLMS algorithm: w(n+1)=w(n)+μe(n)x'(n), x'(n)=x(n)*s'(n), wherein the step size factor is set to μ=0.004, s'(n) is the measured unit impulse response of the secondary channel, and w(n)=[w1(n),w2(n)...w L (n)] T is the vector representation of the control filter coefficient w(n), whose initial value is w(0)=[0,0,...,0] T ,x'(n)=[x'(n),x'(n-1)...x'(n-L+1)] T is the vector representation of x'(n). After the algorithm converges, the control filter coefficient w(n) of length L is obtained.
[0028] In step S5, the control filter coefficients in the FxLMS algorithm are fixed to the control filter coefficients w(n) obtained after convergence in step S4. This achieves the specified noise reduction effect. The results are analyzed to determine the energy E1 of the desired signal d(n) before noise reduction at each frequency point, as well as the energy E2 of the error signal e(n) after noise reduction at each frequency point. The noise reduction R = 101g(E1 / E2) is calculated for each frequency point. Furthermore, the average noise reduction across the entire frequency band is 19.93dB, essentially achieving the specified noise reduction target of 20dB.
[0029] Example 2:
[0030] Step S1: Set the input reference signal x(n) to white noise with a frequency range of 0-1000 Hz and a sampling rate of 2 kHz. Experimentally measure the primary path p(n) from the reference signal source to the error sensor. Convolve the primary path with the reference signal to obtain the desired signal d(n). Use the discrete Fourier transform to transform the desired signal d(n) into a frequency domain signal D(k) = F{d(n)}, where k = 1, 2, ..., 2000.
[0031] Step S2: Specify the noise reduction amount as 10dB in the 0-500Hz frequency band and 6dB in the 500-1000Hz frequency band, and calculate the frequency domain weighted value based on the specified noise reduction amount. W'(k) = 0.5, k = 1001, 1002, ..., 1500; W'(k) = 0.684, k = 1501, 1502, ..., 2000. The weighted value on each frequency band corresponds to the specified noise reduction requirement for each frequency band.
[0032] Step S3: multiply W'(k) by D(k) according to the frequency domain weighted value of each frequency point calculated in step S2 to obtain the frequency domain signal D'(k)=W'(k)D(k), k=1,2,…,2000 of the weighted desired signal, and then perform inverse discrete Fourier transform on D'(k) to obtain the weighted time domain desired signal d'(n)=F -1 {D'(k)}.
[0033] Step S4: In the FxLMS algorithm, the original desired signal d(n) is replaced with the weighted desired signal d'(n), and the error signal e(n) at the error sensor is calculated as follows: d'(n)-x(n)*w(n)*s(n), wherein the length of the control filter coefficient w(n) and the unit impulse response s(n) of the secondary channel is set to L=200, and the error signal e(n) and the filtered reference signal x'(n) are iterated in the FxLMS algorithm: w(n+1)=w(n)+μe(n)x'(n), x'(n)=x(n)*s'(n), wherein the step size factor is set to μ=0.004, s'(n) is the measured unit impulse response of the secondary channel, and w(n)=[w1(n),w2(n),...,w L (n)] T is the vector representation of the control filter coefficient w(n), whose initial value is w(0)=[0,0,...,0] T . x'(n)=[x'(n),x'(n-1),...,x'(n-L+1)] T is the vector representation of the filtered reference signal x'(n). After the algorithm converges, the control filter coefficient w(n) of length L is obtained.
[0034] In step S5, the control filter coefficient in the FxLMS algorithm is fixed to the control filter coefficient w(n) obtained after convergence in step S4, to obtain the noise reduction effect of the specified noise reduction amount. The noise reduction amount is calculated for the 0-500 Hz and 500-1000 Hz frequency bands respectively. The calculation formula is consistent with that in Example 1, which is R = 101g(E1 / E2). The actual average noise reduction amount for each frequency band is shown in Table 1. This method of specifying the noise reduction amount achieves different control of the noise reduction amount in the two frequency bands, and both are close to the specified noise reduction amount, thereby allowing for flexible control of the noise reduction amount in each frequency band.
[0035] Table 1
[0036] Frequency range / Hz 0-500 500-1000 Specify the noise reduction amount / dB 10 6 Actual average noise reduction / dB 9.00 6.69
[0037] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements can be made without departing from the principles of the present invention. These improvements should also be regarded as the scope of protection of the present invention.
Claims
1. A method for specifying noise reduction based on an adaptive FxLMS algorithm, characterized by: The following steps are involved: Step S1: Perform discrete Fourier transform on the desired signal d(n) in the FxLMS algorithm to obtain its frequency domain signal D(k); Step S2: Calculate the frequency domain weighted value W'(k) of the desired signal d(n) according to the specified noise reduction amount; Step S3: weight the frequency domain signal D(k) of the desired signal and the frequency domain weight value W'(k) to obtain the weighted frequency domain signal D'(k) of the desired signal, and then perform inverse discrete Fourier transform to obtain the weighted desired signal d'(n); Step S4: Substitute the weighted desired signal d'(n) into the FxLMS algorithm, and obtain the control filter coefficient w(n) after the algorithm converges; Step S5, fix the control filter coefficient in the FxLMS algorithm to w(n) to obtain the noise reduction effect of the specified noise reduction amount; in step S2, the frequency domain weighted value W'(k) is consistent with the length of the frequency domain signal D(k) in step S1, and the noise reduction amount of the kth frequency point is specified as A according to the noise reduction requirement. k , in dB, using the formula Calculate the weighted value of the kth frequency point, where k = 1, 2, ..., N.
2. The method for specifying a noise reduction amount based on the adaptive FxLMS algorithm according to claim 1, characterized in that: In step S1, the desired signal d(n) in the FxLMS algorithm is transformed into a frequency domain signal D(k)=F{d(n)} using discrete Fourier transform, where F{} represents discrete Fourier transform, k=1, 2, ..., N, and N is the number of frequency points of interest.
3. The method for specifying a noise reduction amount based on the adaptive FxLMS algorithm according to claim 1, wherein: In step S3, the frequency domain weighted value W'(k) is multiplied by the frequency domain signal D(k) to obtain the frequency domain signal D'(k)=W'(k)D(k), k=1, 2, ..., N of the weighted desired signal, and then the frequency domain signal D'(k) of the weighted desired signal is subjected to an inverse discrete Fourier transform to obtain the weighted time domain desired signal d'(n)=F -1 {D'(k)}, where F -1 {} represents the inverse discrete Fourier transform.
4. The method for specifying a noise reduction amount based on the adaptive FxLMS algorithm according to claim 1, wherein: In step S4, the original desired signal d(n) is replaced by the weighted desired signal d'(n) in the FxLMS algorithm, that is, the error signal in the algorithm is obtained by e(n) = d'(n) - x(n)*w(n)*s(n). After the algorithm converges, the control filter coefficient w(n) of length L is obtained, where x(n) is the reference signal, w(n) is the control filter coefficient, and s(n) is the unit impulse response of the secondary channel of length L.
Citation Information
Patent Citations
Noise reduction device, computer and noise reduction method
CN101727895A
Self-adaptive digital active noise reduction framework
CN109545181A