A howling suppression system, method, and storage medium for an ANC / PSAP system

By combining an adaptive notch filter and a processor, the convergence state is determined and notch filtering is performed at the howling frequency point, which solves the problem of poor howling suppression in ANC/PSAP systems. This achieves low-complexity hardware implementation and efficient howling suppression, improving the user experience.

CN115643515BActive Publication Date: 2025-12-30BESTECHNIC SHANGHAI CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211234529.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-10
Publication Date
2025-12-30
Estimated Expiration
2042-10-10

AI Technical Summary

Technical Problem

The adaptive echo cancellation technology in existing ANC/PSAP systems has high computational complexity and cannot be implemented in hardware, resulting in poor howling suppression and affecting user experience.

Method used

An adaptive notch filter is used for frequency adjustment and energy processing. The processor determines the convergence state of the notch filter and performs notch processing only at the howling frequency. This is combined with a fixed notch filter for further suppression.

Benefits of technology

It achieves low-complexity hardware-based howling suppression, reduces latency, improves user experience, and ensures the authenticity of audio signals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115643515B_ABST
    Figure CN115643515B_ABST
Patent Text Reader

Abstract

The application relates to a howling suppression system, method and storage medium for an ANC / PSAP system. The howling suppression system comprises a system on chip configured to adaptively adjust an adaptive notch filter to a notch frequency point, and perform first notch processing on the audio signal at the notch frequency point. A processor obtains a mean value and a variance of a notch parameter of the adaptive notch filter associated with the notch frequency point. When the mean value of the notch parameter is within a preset range and the variance is less than a first threshold, it is determined that the adaptive notch filter is in a convergent state and the notch frequency point is a howling frequency point. When the adaptive notch filter is in the convergent state, the audio signal after the notch processing of the howling frequency point by the adaptive notch filter is taken as an output of the howling suppression system. Thus, when howling exists in the system, the howling frequency point can be accurately processed, and when howling does not exist, the notch processing is not performed to avoid signal distortion. The application is easy to realize hardware at a high sampling rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of audio processing, and more specifically, to a howling suppression system, method, and storage medium for an ANC / PSAP system. Background Technology

[0002] With technological advancements, active noise-canceling (ANC) headphones and personal sound amplifiers (PSAPs) have become widely used. However, when ANC / PSAP technologies are applied to headphone products, they often generate out-of-phase cancellation or compensation signals to achieve noise reduction or hearing aid effects. In these scenarios, when the cancellation / hearing aid signal generated by the ANC / PSAP system is played by the speaker, it is sampled back by the microphone, forming a closed loop in the acoustic path. The signal is continuously amplified and superimposed in the acoustic feedback loop, creating positive feedback and producing howling. Furthermore, when adaptive echo cancellation technology is applied to ANC / PSAP systems, it has high computational complexity, cannot be implemented in hardware, has poor suppression effects, and severely impacts the user experience. Summary of the Invention

[0003] This application is provided to address the aforementioned problems existing in the prior art. There is a need for a howling suppression system, method, and storage medium for ANC / PSAP systems that is easily implemented in hardware at high sampling rates and can improve howling suppression effectiveness to enhance the user experience.

[0004] According to a first aspect of this application, a howling suppression system for an ANC / PSAP system is provided. The howling suppression system includes a system-on-a-chip (SoC), configured to include: at least one howling suppression unit, each of the at least one howling suppression unit including at least an adaptive notch filter, the adaptive notch filter adaptively and stepwise adjusting to a notch frequency; and performing a first notch processing of corresponding energy on the adjusted notch frequency in the input audio signal of the ANC / PSAP system. A processor is configured to: acquire the mean and variance of notch parameters associated with the notch frequency of the adaptive notch filter; if the mean of the notch parameters is within a preset range and the variance is less than a first threshold, determine that the adaptive notch filter is in a convergent state and the notch frequency is a howling frequency; if the mean of the notch parameters is not within the preset range, and / or the variance is greater than a second threshold, determine that the adaptive notch filter is in a non-convergent state or that no howling frequency exists. When the adaptive notch filter is in a convergent state, the audio signal processed by the adaptive notch filter on the howling frequency is used as the output of the howling suppression system. When the adaptive notch filter is in a non-convergent state or there is no howling frequency, the input audio signal is used as the output of the howling suppression system.

[0005] According to a second aspect of this application, a method for suppressing howling in an ANC / PSAP system is provided, comprising: adaptively and stepwise adjusting to a notch frequency point via an adaptive notch filter; performing a first notch processing on the adjusted notch frequency point with corresponding energy in the input audio signal of the ANC / PSAP system; obtaining the mean and variance of the notch parameters associated with the notch frequency point of the adaptive notch filter via a processor; determining that the adaptive notch filter is in a convergent state and the notch frequency point is a howling frequency point when the mean of the notch parameters is within a preset range and the variance is less than a first threshold; determining that the adaptive notch filter is in a non-convergent state or that no howling frequency point exists when the mean of the notch parameters is not within the preset range and / or the variance is greater than a second threshold; when the adaptive notch filter is in a convergent state, using the audio signal after notch processing of the howling frequency point by the adaptive notch filter as the output of the howling suppression system; and when the adaptive notch filter is in a non-convergent state or that no howling frequency point exists as the output of the howling suppression system.

[0006] Compared with the prior art, the beneficial effects of the embodiments of this application are as follows:

[0007] An adaptive notch filter is used to perform notch filtering on notch frequencies, resulting in low computational complexity and low cost, enabling hardware implementation at high sampling rates. The system determines whether a notch frequency is a feedback frequency by checking if it is in a convergent state. When the adaptive notch filter is in a convergent state, the audio signal processed by the notch filter on the feedback frequency is used as the output of the feedback suppression system. Conversely, when the adaptive notch filter is not in a convergent state or there is no feedback frequency, the input audio signal is used as the output of the feedback suppression system. This allows for efficient feedback suppression without reducing gain. Furthermore, using an adaptive notch filter reduces the time spent on feedback frequency detection, thereby reducing the overall latency of the feedback suppression system. For example, transparency mode places higher demands on hardware, requiring lower latency for feedback suppression. This facilitates the blending of external audio with the sound from the headphones in transparency mode, improving both feedback suppression and user experience.

[0008] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description

[0009] In drawings that are not necessarily drawn to scale, the same reference numerals may describe similar parts in different views. The drawings generally illustrate various embodiments by way of example rather than limitation and are used, together with the description and claims, to illustrate the disclosed embodiments. Where appropriate, the same reference numerals are used in all drawings to refer to the same or similar parts. Such embodiments are illustrative and not intended to be exhaustive or exclusive embodiments of the apparatus or method.

[0010] Figure 1(a) shows a schematic diagram of a howling suppression system for an ANC / PSAP system according to an embodiment of this application.

[0011] Figure 1(b) shows a flowchart of a method for suppressing howling in an ANC / PSAP system according to an embodiment of this application.

[0012] Figure 2 A schematic diagram of a PSAP system utilizing the howling suppression system of this application is shown.

[0013] Figure 3 A schematic diagram of an ANC system utilizing the howling suppression system of this application is shown. Detailed Implementation

[0014] To enable those skilled in the art to better understand the technical solutions of this application, the application will be described in detail below with reference to the accompanying drawings and specific embodiments. The embodiments of this application will be further described in detail below with reference to the accompanying drawings and specific examples, but this is not intended to limit the application. If there is no necessary sequential relationship between the various steps described herein, the order in which they are described as examples should not be considered a limitation. Those skilled in the art should understand that the order can be adjusted, as long as it does not disrupt the logical coherence between them and render the entire process impossible.

[0015] The terms "first," "second," and similar words used in this application do not indicate any order, quantity, or importance, but are merely used for distinction. Words such as "including" or "comprising" mean that the element preceding the word encompasses the elements listed after it, and do not exclude the possibility of encompassing other elements as well. In this application, the arrows shown in the figures for each step are merely examples of the execution order, not limitations. The technical solution of this application is not limited to the execution order described in the embodiments. The steps in the execution order can be combined, broken down, or rearranged, as long as the logical relationship of the executed content is not affected.

[0016] All terms used in this application (including technical or scientific terms) have the same meaning as understood by one of ordinary skill in the art to which this application pertains, unless otherwise specifically defined. It should also be understood that terms defined in general dictionaries should be interpreted as having meanings consistent with their meanings in the context of the relevant art, and not as idealized or highly formalized, unless expressly defined herein. Techniques, methods, and apparatus known to one of ordinary skill in the art may not be discussed in detail, but where appropriate, such techniques, methods, and apparatus should be considered part of the specification.

[0017] According to embodiments of this application, a howling suppression system for an ANC / PSAP system is provided. The howling suppression system includes a system-on-a-chip (SoC), which includes at least one howling suppression unit and a processor. The howling suppression unit and the processor perform corresponding steps in the howling suppression method for an ANC / PSAP system according to various embodiments of this application.

[0018] Figure 1(a) shows a schematic diagram of a howling suppression system for an ANC / PSAP system according to an embodiment of this application; Figure 1(b) shows a flowchart of a howling suppression method performed by the howling suppression system for an ANC / PSAP system according to an embodiment of this application. In ANC / PSAP, " / " represents "or," indicating that the howling suppression system 100 described in this application can be used in ANC (Active Noise Control) systems or PSAP (Personal Sound Amplification Product) systems. The howling suppression system 100 includes a system-on-a-chip 101, and the method for suppressing howling based on the howling suppression system 100 can be implemented through the system-on-a-chip 101.

[0019] Please note that in this application, various components, such as the howling suppression unit 102, adaptive notch filter 103, and processor 104 shown in Figure 1(a), can be implemented using a System-on-Chip (SoC), such as System-on-Chip 101. For example, various RISC (Reduced Instruction Set Computer) processor IPs purchased from companies such as ARM can be used as the processor 104 of the SoC to perform the corresponding functions, thereby enabling the implementation of an embedded system. Specifically, commercially available modules (IPs) have many modules, such as, but not limited to, memory, caches, etc. In some embodiments, chip manufacturers can also independently develop customized versions of these modules on readily available IPs. In addition, other components such as limiters, speakers, and microphones can be externally connected to the IPs. Users can build an ASIC (Application-Specific Integrated Circuit) based on purchased IPs or independently developed modules to construct the howling suppression system 100, thereby reducing power consumption and cost.

[0020] This application embodiment employs an adaptive notch filter 103 for adaptive notch filtering. Compared to general feedback suppression and adaptive echo cancellation schemes used in hearing aids with lower latency requirements, it has lower complexity and is beneficial for hardware implementation at high sampling rates. For example, the feedback suppression system 100 can utilize hardware modules to implement feedback suppression. Taking a programmable logic device (PLD) as an example, its logic function is determined by the user programming the device. Designers can program a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. This programming can also be implemented using "logic compiler" software. The original code before compilation is written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Those skilled in the art should understand that by simply performing some logic programming on the squealing suppression process using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing this logic method can be easily obtained.

[0021] The system-on-chip 101 is configured to include at least one howling suppression unit 102, and each howling suppression unit in the at least one howling suppression unit 102 includes at least an adaptive notch filter 103. As shown in FIG1(b), in step S101, the adaptive notch filter 103 adaptively and stepwise adjusts to the notch frequency point. In step S102, in the input audio signal of the ANC / PSAP system, the adjusted notch frequency point is subjected to the first notch processing corresponding to the energy. That is, the adaptive notch filter 103 uses the adjusted notch frequency point as the estimated howling frequency point and performs notch processing on the energy corresponding to the frequency point in the input audio signal of the ANC / PSAP system.

[0022] The system-on-a-chip 101 further includes a processor 104, which may be a processing device including one or more general-purpose processing devices, such as a microprocessor, a central processing unit (CPU), a graphics processing unit (GPU), etc. More specifically, the processor 104 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor running other instruction sets, or a processor running a combination of instruction sets. The processor 104 may also be one or more special-purpose processing devices, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), a system-on-a-chip (SoC), etc. The processor 104 may be included within the howling suppression unit 102 or may be located outside the howling suppression unit 102, cooperating with the howling suppression unit 102 to perform howling suppression functions, thereby forming a howling suppression system 100.

[0023] The processor 104 is configured to execute steps S103-S109 to determine the convergence state of the adaptive notch filter 103. In step S103, the mean and variance of the notch parameters associated with the notch frequency of the adaptive notch filter 103 are obtained, and then it is determined whether the mean of the notch parameters is within a preset range (step S104). If not, step S106 is executed to determine that the adaptive notch filter 103 is in a non-convergent state or does not have a howling frequency. If the determination result in step S104 is "yes", step S105 is executed to further determine whether the variance of the notch parameters is less than a first threshold. If yes, step S108 is executed to determine that the adaptive notch filter 103 is in a convergent state and the notch frequency is a howling frequency. If the result of step S105 is "no", then it continues to determine whether the variance of the notch filter parameter is greater than the second threshold (step S107). If yes, then step S106 is executed to determine that the adaptive notch filter 103 is in a non-convergent state or does not have a howling frequency. If no, then step S109 is executed, and the output path remains unchanged. Keeping the output path unchanged has a hysteresis effect, so as to reduce the number of system output path switching before the adaptive notch filter 103 stabilizes. The specific values ​​of the first and second thresholds are not limited; they can be manually set or system default values. That is, when the mean of the notch filter parameter is within a preset range and the variance is less than the first threshold, the adaptive notch filter 103 is determined to be in a convergent state and the notch frequency is a howling frequency. The specific values ​​of the preset range of the notch filter parameter are not limited; for example, they can be determined in association with howling frequencies that are prone to howling. If the mean of the notch filter parameters is not within a preset range, and / or the variance is greater than a second threshold, the adaptive notch filter 103 is determined to be in a non-convergent state or to have no howling frequency.

[0024] Furthermore, if the processor 104 determines that the adaptive notch filter 103 is in a convergent state, it indicates that the notch frequency currently adaptively adjusted by the adaptive notch filter 103 is the howling frequency of the ANC / PSAP system and needs to be suppressed. At this time, step S110 is executed, and the audio signal after notch processing of the howling frequency by the adaptive notch filter 103 is used as the output of the howling suppression system 100. Therefore, by having the processor 104 determine whether the adaptive notch filter 103 is in a convergent state during the notch processing, and only when it is determined that the adaptive notch filter 103 has converged to the howling frequency, the audio signal after notch processing by the adaptive notch filter 103 is used as the output of the howling suppression system 100, so as to effectively suppress the energy of the howling frequency when howling does occur. If the processor 104 determines that the adaptive notch filter 103 is in a non-convergent state, or that the ANC / PSAP system is not experiencing feedback and therefore there is no feedback frequency, then step S111 is executed, and the input audio signal without notch processing is used as the output of the feedback suppression system 100. When the processor 104 determines that the adaptive notch filter 103 is not in a convergent state, it indicates that the adaptive step-by-step adjustment of the notch filter 103 to the notch frequency has not yet been completed, or that the ANC / PSAP system is not currently experiencing feedback. In this case, directly using the input audio signal as the output can avoid erroneous or unnecessary suppression of useful signals that are not feedback frequencies.

[0025] According to the feedback suppression system 100 of this application embodiment, by judging the convergence state of the adaptive notch filter 103, it can avoid inappropriate notch processing of the input signal when feedback does not occur, thus preventing output signal distortion. Furthermore, compared to suppressing feedback by reducing the overall gain, this application only performs notch processing on the frequency points where feedback actually occurs, without unnecessary energy adjustments to the audio signals at other frequencies, further protecting the authenticity of the audio signal and improving the user experience.

[0026] In some embodiments of this application, the processor 104 can be further configured to control the adjustment step size of the notch frequency of the adaptive notch filter 103 based on the energy corresponding to the current notch frequency during the adaptive step-by-step adjustment to the notch frequency, such that the larger the energy corresponding to the current notch frequency, the smaller the adjustment step size. Specifically, based on the NLMS (Nornalized Least Mean Square) principle, the energy corresponding to the current notch frequency is normalized to prevent gradient noise amplification, and the larger the signal energy, the smaller the step size, until the adaptive notch filter 103 converges to the optimal notch frequency. When the energy of the output signal of the adaptive notch filter 103 is large, fine adjustment is performed with a smaller step size to avoid missing the desired notch processing frequency due to an excessively large step size, or causing oscillations near the notch frequency, resulting in a reduced convergence speed or even failure to converge.

[0027] Specifically, the principle of howling suppression using the adaptive notch filter 103 and processor 104 is as follows:

[0028] The transfer function of the adaptive notch filter 103 is shown in Equation (1):

[0029]

[0030] Where f0 is the notch filter frequency, fs is the sampling frequency, and ka is a constant used to control the bandwidth of the adaptive notch filter 103.

[0031] One specific calculation step for formula (1) is as follows:

[0032]

[0033] In formula (2), x(n) is the input signal, ytmp is the output of the adaptive notch filter 103, and z(n) is an intermediate variable associated with the output of the adaptive notch filter 103.

[0034] z0(n) is an adaptively varying notch parameter associated with the notch frequency f0(n), and their relationship satisfies the definition of formula (3):

[0035] z0(n)=cos(2*pi*f0(n) / fs) Formula (3);

[0036] Where f0(n) is the notch frequency of the adaptive notch filter 103 at time n, and the value of z0(n) at the initial time can be set to 1, that is, z0(0)=1, corresponding to f0(0)=0Hz.

[0037] The energy of z(n) can be filtered according to formula (4):

[0038] Ez(n)=alpha*Ez(n)+(1-alpha)*|z(n)| 2 Formula (4);

[0039] Where Ez(n) is the filtered energy of z(n) at time n when the notch frequency is f0(n), alpha is the filtering factor, which plays a role in smoothing the filter, and can be a preset constant. In some preferred embodiments, it can be 0.9. In addition, the filtered energy corresponding to z(0) at the initial time can be set to 0, that is, Ez(0) = 0.

[0040] Processor 104 can be further configured to acquire the effective number of bits of energy of z(n) corresponding to the current notch frequency, as shown in formula (5):

[0041] Ebits=Ceil(log2(Ez(n))) Formula (5);

[0042] Formula (5) is used to calculate the effective number of data bits of Ez(n) log2(Ez(n)), where Ceil() means rounding up. Ceil(log2(Ez(n))) calculates the effective number of data bits of Ez(n) after rounding up.

[0043] Based on the above effective data bits Ebits, the adjustment step size of the notch frequency of the adaptive notch filter 103 is controlled by right shift operation, as shown in formula (6):

[0044] mu = delta / 2 Ebits =delta>>Ebits formula (6);

[0045] Where mu is the adjustment step size of the notch filter frequency, and delta is a preset constant associated with the convergence speed of the adaptive notch filter 103, used to control the convergence speed. In some preferred embodiments, delta can be taken as 0.001, delta / 2, etc. Ebits This means reducing delta to half of its original value. Ebits For hardware circuits such as ASICs, the above division operation can be conveniently implemented by shifting registers. Specifically, >> means a right shift operation, and delta >> Ebits means shifting the register storing delta to the right by Ebits bits.

[0046] Based on formulas (5) and (6), the shift operation of the register can be implemented using simple and convenient hardware, which reduces the time when the processor 104 calculates the adjustment step size of the notch frequency for the adaptive notch filter 103. This allows the adaptive notch filter 103 to converge more stably to the desired notch frequency, i.e. the frequency at which the howling occurs, without reducing the real-time performance of the notch processing of the adaptive notch filter 103. Furthermore, the accuracy and precision of the converged notch frequency are also higher.

[0047] In addition, while updating the notch frequency, the notch parameter z0(n) associated with the notch frequency should also be iteratively updated, as shown in formula (7):

[0048] z0(n)=z0(n-1)-4*mu*ytmp*(z0(n-1)*z(n-2)-z(n-1)) Formula (7);

[0049] The updated result is saturated to control its value between -1 and 1, as shown in formula (8):

[0050] if(z0(n)>1)

[0051] z0(n) = 1;

[0052] if(z0(n)<-1)

[0053] z0(n)=-1; Formula (8);

[0054] The process by which the processor 104 determines the convergence state of the adaptive notch filter 103 is as follows:

[0055] In some embodiments, the mean and variance of the notch parameter z0(n) associated with the notch frequency can first be calculated. In some embodiments, the mean of z0(n) can be calculated using an exponential moving average, including but not limited to formula (9):

[0056] z0m(n)=beta*z0m(n-1)+(1-beta)*z0(n); Formula (9);

[0057] Where z0m(n) is the exponential moving average of z0(n) at time n, and correspondingly, z0m(n-1) is the exponential moving average of z0(n) at time n-1. beta is a smoothing factor used to adjust the smoothness when calculating the exponential moving average of the z0(n) sequence. It can be a preset constant, such as 0.9 in some preferred embodiments. Furthermore, the initial z0m(0) can be set to 0, i.e., z0m(0) = 0.

[0058] The variance of the notch parameter z0(n) is calculated using formula (10):

[0059] z0v(n)=beta*z0v(n-1)+(1-beta)*|z0(n)-z0m(n)|; Formula (10);

[0060] Where z0v(n) is the variance of z0(n) at time n, z0m(n) is the exponential moving average of z0(n) at time n, and correspondingly, z0v(n-1) is the variance of z0(n) at time n-1. beta is a smoothing factor used to adjust the smoothness of z0v(n) calculation. It can be a preset constant, such as 0.9 in some preferred embodiments. Furthermore, the initial z0v(0) can be set to 0, i.e., z0v(0) = 0.

[0061] When calculating the mean and variance of z0(n) according to the above formulas (9) and (10), only the data at the current nth time and n-1th time are used, and there is no need to store the data at other historical times. This can reduce the hardware requirements and further improve the hardware-based computing speed.

[0062] Next, the processor 104 can use the calculated z0m(n) and z0v(n) to determine the convergence state of the adaptive notch filter 103 and the output process of the output module as shown in formula (11):

[0063]

[0064] Where ytmp is the output of the adaptive notch filter 103, x(n) is the input signal, y(n) is the output of the howling suppression system 100, and st(n) represents the convergence state of the adaptive notch filter 103. The initial value can be set to 0, that is, st(0) = 0. From formula (11), it can be concluded that at time n, if the mean z0m(n) of z0(n) falls within the preset range thd1 and thd2, and the variance z0v(n) of z0(n) is less than the first threshold thd3, it can be determined that the adaptive notch filter 103 has converged to the desired notch frequency. At this time, st(n) is set to 1. When st(n) is 1, the audio signal ytmp after notch processing by the adaptive notch filter 103 with the current notch frequency as the howling frequency is used as the output y(n) of the ANC / PSAP system. If the variance z0v(n) of z0(n) is greater than the second threshold thd4, or if z0m(n) is not within a preset range, the adaptive notch filter 103 is considered not to have converged, and st(n) is set to 0. When st(n) is 0, the input signal x(n) without notch processing by the adaptive notch filter 103 is used as the output y(n) of the ANC / PSAP system. In some embodiments, the first threshold thd3 is less than the second threshold thd4. Thus, setting the second threshold thd4 and the first threshold thd3 to different values ​​helps reduce the number of switching between convergent and non-convergent states when the ANC / PSAP system outputs, and helps the system to converge quickly and stably to a more accurate notch frequency for transmitting howling. Furthermore, when the variance z0v(n) of z0(n) is between thd3 and thd4, the state of st(n) remains unchanged. The output ytmp of the adaptive notch filter 103 switches according to the value of st(n), which avoids frequent output switching.

[0065] In some embodiments of this application, the adaptive notch filter 103 is cascaded with at least one fixed notch filter. When the adaptive notch filter 103 is in a convergent state, the at least one fixed notch filter performs a second notch processing on the howling frequency point. In some embodiments, when the signal amplitude and energy at the howling frequency point are high, a single-stage notch filter may not be sufficient to completely suppress the howling energy. Therefore, at least one fixed notch filter can be cascaded after the adaptive notch filter 103 to further perform fixed-frequency notch processing on the howling frequency point estimated by the adaptive notch filter 103, thereby enhancing the suppression effect on the howling frequency point.

[0066] As an example only, when the adaptive notch filter 103 is connected in a cascaded manner with two fixed notch filters, the specific implementation is shown in formula (12):

[0067]

[0068] In this system, two cascaded fixed notch filters, fixed notch filter 1 and fixed notch filter 2, take the howling frequency estimated by the adaptive notch filter 103 as the fixed notch frequency when the adaptive notch filter 103 is converged. That is, the notch parameter z0(n) associated with the notch frequency is taken as its own notch parameter. y1(n) and y2(n) are the intermediate variables of fixed notch filter 1 and fixed notch filter 2 at time n, respectively. Furthermore, fixed notch filter 2 takes the output of fixed notch filter 1 as input, performs fixed notch processing on the same notch frequency, and takes its output as the output y(n) of the ANC / PSAP system. When the adaptive notch filter 103 is in an unconverged state, the cascaded fixed notch filter does not perform filtering processing, but directly takes the input signal x(n) as the output of the ANC / PSAP system. In this way, unnecessary calculations and power consumption can be avoided.

[0069] In some embodiments of this application, when the system-on-chip 101 includes multiple howling suppression units 102, the howling suppression units 102 are connected in a cascaded manner to suppress multiple howling frequency points in the input audio signal in descending order of energy corresponding to the howling frequency points, thereby suppressing multiple howling frequency points. Of course, if the front-stage howling suppression unit 102 fails to detect a howling frequency point, the input audio signal is directly used as the output and no further processing is required in the subsequent stage. Specifically, if the input audio signal includes multiple howling frequency points, the first-stage howling suppression unit 102 is used to estimate and suppress the howling frequency point with the highest energy. Then, the second-stage howling suppression unit 102 further estimates and suppresses the howling frequency point with the second highest energy, and so on, thereby achieving the suppression of multiple howling frequency points.

[0070] In some embodiments of this application, a howling suppression method for an ANC / PSAP system is provided, comprising: adaptively and stepwise adjusting to a notch frequency point via an adaptive notch filter; performing a first notch processing on the adjusted notch frequency point with corresponding energy in the input audio signal of the ANC / PSAP system; obtaining the mean and variance of the notch parameters of the adaptive notch filter associated with the notch frequency point via a processor; determining that the adaptive notch filter is in a convergent state and the notch frequency point is a howling frequency point when the mean of the notch parameters is within a preset range and the variance is less than a first threshold; determining that the adaptive notch filter is in a non-convergent state or that no howling frequency point exists when the mean of the notch parameters is not within the preset range and / or the variance is greater than a second threshold; when the adaptive notch filter is in a convergent state, using the audio signal after notch processing of the howling frequency point by the adaptive notch filter as the output of the howling suppression system; and when the adaptive notch filter is in a non-convergent state or that no howling frequency point exists as the output of the howling suppression system. In this way, precise notch filtering can be performed on the notch frequency point when there is a notch in the system, while no notch filtering is performed when there is no notch to avoid signal distortion. Furthermore, this application is easy to implement in hardware at high sampling rates.

[0071] In some embodiments of this application, during the adaptive step-by-step adjustment to the notch frequency, the processor controls the adjustment step size of the adaptive notch frequency based on the energy corresponding to the current notch frequency, so that the larger the energy corresponding to the current notch frequency, the smaller the adjustment step size, in order to avoid missing the expected notch processing frequency due to an excessively large step size, or causing oscillations near the notch frequency, resulting in a reduced convergence speed or even failure to converge.

[0072] In some embodiments of this application, the effective number of bits of energy of z(n) corresponding to the current notch frequency is obtained via the processor, as shown in formula (5):

[0073] Ebits=Ceil(log2(Ez(n))) Formula (5);

[0074] Formula (5) is used to calculate the effective number of data bits of Ez(n) log2(Ez(n)), where Ceil() means rounding up. Ceil(log2(Ez(n))) calculates the effective number of data bits of Ez(n) after rounding up.

[0075] Based on the above effective data bits Ebits, the adjustment step size of the notch frequency of the adaptive notch filter is controlled by right shift operation, as shown in formula (6):

[0076] mu = delta / 2Ebits =delta>>Ebits formula (6);

[0077] Where mu is the adjustment step size of the notch filter frequency, and delta is a preset constant associated with the convergence speed of the adaptive notch filter, used to control the convergence speed. In some preferred embodiments, delta can be set to, for example, 0.001, delta / 2. Ebits This means reducing delta to half of its original value. Ebits For hardware circuits such as ASICs, the above division operation can be conveniently implemented by shifting registers. Specifically, >> means a right shift operation, and delta >> Ebits means shifting the register storing delta to the right by Ebits bits.

[0078] Based on formulas (5) and (6), the shift operation of registers can be implemented using simple and convenient hardware, which reduces the time for the processor to calculate the adjustment step size of the notch frequency for the adaptive notch filter. This allows the adaptive notch filter to converge more stably to the desired notch frequency, i.e. the frequency at which the howling occurs, without reducing the real-time performance of the adaptive notch filter's notch processing. Furthermore, the accuracy and precision of the converged notch frequency are also higher.

[0079] In some embodiments of this application, the adaptive notch filter is connected in a cascaded manner with at least one fixed notch filter. When the adaptive notch filter is in a convergent state, the at least one fixed notch filter performs a second notch filter processing on the howling frequency point, thereby further suppressing howling and enhancing the howling suppression effect.

[0080] In some embodiments of this application, a PSAP system is provided, which includes the howling suppression system 201 described in various embodiments of this application. Specifically, as Figure 2As shown, x(n) represents the input audio signal, y(n) represents the audio signal to be processed before passing through the howling suppression system 201, and z(n) represents the actual output audio signal. Gain is shown in 202, and DRC is shown in 203. The acquired input audio signal x(n) is sent to the PSAP system. After processing by gain, analysis filter bank, and synthesis filter bank, the input audio signal x(n) forms the audio signal to be processed y(n). The howling suppression system 201 analyzes and processes the audio signal y(n). When it is determined that the adaptive notch filter is in a convergent state, the audio signal after notch processing of the howling frequency point by the adaptive notch filter is used as the output of the howling suppression system 201. At this time, z(n) is the audio signal after notch processing of the howling frequency point by the adaptive notch filter. When it is determined that the adaptive notch filter is in a non-convergent state or that there is no howling frequency point, the input audio signal x(n) is used as the output z(n) of the howling suppression system 201. The audio signal z(n) processed by the howling suppression system 201 is output by the speaker.

[0081] In some embodiments of this application, an ANC system is provided, which includes the howling suppression system described in various embodiments of this application. Specifically, as Figure 3 As shown, the input audio signals collected by the feedforward microphone 301 and feedback microphone 302 are sent to the ANC system. After being converted by the analog-to-digital converter 307, they enter the feedforward filter group 303 and feedback filter group 304 in the ANC system. The feedforward filter group 303 and feedback filter group 304 process the input audio signals and send the processed input audio signals to the howling suppression system 305 for howling suppression processing. After howling suppression processing, the audio signal is adjusted by the limiter 398 and converted by the digital-to-analog converter 309, and then output by the speaker 306. For ANC systems and PSAP systems, low latency caused by howling is required, typically requiring howling suppression latency to be in the microsecond or millisecond range. This application, by employing the aforementioned howling suppression system 305, can realize the hardware implementation of the howling suppression system 305, achieving howling suppression processing at high sampling rates (e.g., at least 96kHz), thereby reducing the latency caused by howling suppression, preserving the inherent effects of the ANC and PSAP systems, and improving the user experience.

[0082] In some embodiments of this application, a computer-readable storage medium is provided, on which computer program instructions are stored, which, when executed by a processor, cause the processor to perform the howling suppression methods as described in various embodiments of this application. Implementations of such methods may include software code, such as microcode, assembly language code, high-level language code, etc. Various software programming techniques can be used to create various programs or program modules. For example, program portions or modules can be designed using or with the aid of Java, Python, C, C++, assembly language, or any known programming language. One or more of such software portions or modules can be integrated into a computer system and / or a computer-readable medium. Such software code may include computer-readable instructions for performing various methods. The software code may form part of a computer program product or a computer program module. Furthermore, in the examples, the software code may be tangibly stored on one or more volatile, non-transitory, or non-volatile tangible computer-readable media, for example, during execution or at other times. Examples of such tangible computer-readable media may include, but are not limited to, hard disks, removable disks, removable optical discs (such as optical discs and digital video discs), cassette tapes, memory cards or memory sticks, random access memory (RAM), read-only memory (ROM), etc.

[0083] Furthermore, although exemplary embodiments have been described herein, their scope includes any and all embodiments based on this application that have equivalent elements, modifications, omissions, combinations (e.g., schemes involving intersections of various embodiments), adaptations, or alterations. Elements in the claims will be interpreted broadly based on the language used in the claims and are not limited to the examples described in this specification or during the implementation of this application, which will be interpreted as non-exclusive. Therefore, this specification and examples are intended to be considered illustrative only, and the true scope and spirit are indicated by the full scope of the claims and their equivalents.

[0084] The above description is intended to be illustrative and not restrictive. For example, the above examples (or one or more of them) can be used in combination with each other. Other embodiments may be used by those skilled in the art upon reading the above description. Furthermore, in the above detailed description, various features may be grouped together to simplify the application. This should not be construed as an intention that a disclosed feature not claimed is necessary for any claim. Rather, the subject matter of the application may be less than all the features of a particular disclosed embodiment. Thus, the claims are incorporated herein by reference as examples or embodiments, wherein each claim is an independent, separate embodiment, and these embodiments are contemplated as being combined with each other in various combinations or arrangements. The scope of this application should be determined by reference to the appended claims and the full scope of their equivalents.

[0085] The above embodiments are merely exemplary embodiments of this application and are not intended to limit this application. The scope of protection of this application is defined by the claims. Those skilled in the art can make various modifications or equivalent substitutions to this application within its substance and scope of protection, and such modifications or equivalent substitutions should also be considered to fall within the scope of protection of this application.

Claims

1. A howling suppression system for an ANC / PSAP system, characterized by, The howling suppression system comprises a system on chip configured to comprise: at least one howling suppression unit, each howling suppression unit comprising at least an adaptive notch filter, the adaptive notch filter being adaptively adjusted to a notch frequency, in the process of being adaptively adjusted to the notch frequency, an adjustment step of the notch frequency of the adaptive notch filter is controlled based on an energy corresponding to the current notch frequency, such that the greater the energy corresponding to the current notch frequency, the smaller the adjustment step; the input audio signal of the ANC / PSAP system is subjected to first notch processing of the corresponding energy at the adjusted notch frequency. a processor configured to: obtain a mean and a variance of a notch parameter of the adaptive notch filter associated with the notch frequency, in the case that the mean of the notch parameter is within a preset range and the variance is less than a first threshold, it is determined that the adaptive notch filter is in a convergent state and the notch frequency is a howling frequency; in the case that the mean of the notch parameter is not within the preset range and / or the variance is greater than a second threshold, it is determined that the adaptive notch filter is in a non-convergent state or there is no howling frequency, the first threshold being less than the second threshold; in the case that the adaptive notch filter is in the convergent state, the audio signal after the howling frequency is processed by the adaptive notch filter is taken as the output of the howling suppression system; in the case that the adaptive notch filter is in the non-convergent state or there is no howling frequency, the input audio signal is taken as the output of the howling suppression system.

2. The howling suppression system of claim 1, wherein, The processor is further configured to: obtain the number of effective data bits of the energy corresponding to the current notch frequency, based on the number of effective data bits, the adjustment step of the notch frequency of the adaptive notch filter is controlled by using right shift operation, and the specific steps comprise: Equation (5); mu = delta / 2 Ebits = delta>>Ebits Equation (6); wherein Ez(n) is the energy corresponding to the notch frequency at the nth moment, Ceil( ) represents rounding up, Ebits is the number of effective data bits of Ez(n), mu is the adjustment step of the notch frequency, delta is a preset constant associated with the convergence speed of the adaptive notch filter, and delta>>Ebits represents that a register storing delta is right shifted by Ebits bits.

3. The howling suppression system of claim 1 or 2, characterized in that The adaptive notch filter is connected with at least one fixed notch filter in a cascaded manner, and the at least one fixed notch filter performs second notch processing on the howling frequency in the case that the adaptive notch filter is in the convergent state.

4. The howling suppression system of claim 1 or 2, characterized in that In the case that the system on chip comprises a plurality of howling suppression units, each howling suppression unit is connected in a cascaded manner to suppress a plurality of howling frequencies in the input audio signal in order from high to low according to the energy corresponding to the howling frequency.

5. A method for howling suppression for an ANC / PSAP system, characterized by, Comprise: The adaptive notch filter is adaptively adjusted to a notch frequency point, and in the process of adaptively adjusting to the notch frequency point, an adjustment step of the notch frequency point of the adaptive notch filter is controlled based on energy corresponding to the current notch frequency point, so that the greater the energy corresponding to the current notch frequency point, the smaller the adjustment step; and the input audio signal of the ANC / PSAP system is subjected to first notch processing of corresponding energy on the adjusted notch frequency point. The processor obtains a mean value and a variance of a notch parameter of the adaptive notch filter associated with the notch frequency point, and in a case where the mean value of the notch parameter is within a preset range and the variance is less than a first threshold value, it is determined that the adaptive notch filter is in a convergent state and the notch frequency point is a howling frequency point; in a case where the mean value of the notch parameter is not within the preset range and / or the variance is greater than a second threshold value, it is determined that the adaptive notch filter is in a non-convergent state or there is no howling frequency point, and the first threshold value is less than the second threshold value. In a case where the adaptive notch filter is in the convergent state, an audio signal subjected to notch processing by the adaptive notch filter on the howling frequency point is taken as an output of a howling suppression system. In a case where the adaptive notch filter is in the non-convergent state or there is no howling frequency point, the input audio signal is taken as the output of the howling suppression system.

6. The howling suppressing method according to claim 5, characterized by, The processor obtains an effective number of data bits of energy corresponding to the current notch frequency point, and based on the effective number of data bits, an adjustment step of the notch frequency point of the adaptive notch filter is controlled by using a right shift operation, and the specific steps include: Formula (5) mu = delta / 2 Ebits = delta >> Ebits Equation (6) wherein, Ez n is the energy corresponding to the nth notch frequency point at the mth moment, Ceil Ebits is the effective data bit number of Ez n , mu is the adjustment step size of the notch frequency point, delta is a preset constant associated with the convergence speed of the adaptive notch filter, delta >> Ebits represents that the register storing delta is shifted right by Ebits bits.​​​ 7. The howling suppressing method according to claim 5, characterized by, The adaptive notch filter is connected with at least one fixed notch filter in a cascaded manner, and the at least one fixed notch filter performs second notch processing on the howling frequency point in a case where the adaptive notch filter is in the convergent state.

8. A PSAP system characterized by, The PSAP system comprises the howling suppression system according to any one of claims 1-4.

9. An ANC system characterized by, The ANC system comprises the howling suppression system according to any one of claims 1-4.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer program instructions, and the computer program instructions, when executed by the processor, cause the processor to perform the howling suppression method according to any one of claims 5-7.

Citation Information

Patent Citations

  • Howling canceller and program, and adaptive notch filter and program

    JP2013183357A