Howling suppression method, device, and storage medium
By adding a secondary receiver to the hearing aid, identifying the secondary channel and iteratively updating the filter coefficients to generate a cancellation signal, the feedback problem of traditional hearing aids is solved, and the user experience is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN EARTECH CO LTD
- Filing Date
- 2026-01-22
- Publication Date
- 2026-05-01
AI Technical Summary
In traditional hearing aids, the internal signal processing link and the external acoustic feedback path form a closed feedback loop. When the product of the gain coefficient and the attenuation coefficient is greater than 1, it causes howling, which seriously affects the hearing experience.
By adding a secondary receiver to the hearing aid, the coefficient vector of the preset filter is iteratively updated by identifying the secondary channel estimation vector between the secondary receiver and the microphone, and a cancellation signal is generated to cancel the leakage sound from the main receiver to the microphone.
Effectively reduces hearing aid feedback and improves the user experience.
Smart Images

Figure CN121547720B_ABST
Abstract
Description
Whisper suppression methods, equipment and storage media Technical Field
[0001] This application relates to the field of hearing aid technology, and in particular to a method, device and storage medium for suppressing whistling. Background Technology
[0002] Traditional hearing aids have an inherent acoustic feedback loop consisting of an internal signal processing link and an external acoustic feedback path. The specific principle is as follows: The internal signal processing link refers to the process where the microphone picks up sound, the signal undergoes gain adjustment by a digital signal processor, and then is transmitted to the receiver to be converted into an acoustic signal output. The external acoustic feedback path refers to the process where the acoustic signal output from the receiver, after propagation and attenuation through the ear canal and external environment, is partially picked up again by the microphone; the two paths form a closed feedback loop. However, when the product of the gain coefficient of the internal signal processing link and the attenuation coefficient of the external acoustic feedback path is greater than 1, the signals in the loop will continuously amplify and superimpose, eventually forming a sharp howling at a specific frequency. This phenomenon severely damages the auditory experience, causing the hearing aid to fail to perform its normal sound amplification and transmission functions. Summary of the Invention
[0003] The main purpose of this application is to provide a method, device and storage medium for suppressing whistling, which aims to reduce whistling in hearing aids and improve the user experience.
[0004] To achieve the above objectives, this application proposes a feedback suppression method applied to a hearing aid, the hearing aid comprising a main receiver, a secondary receiver, and a microphone, including:
[0005] Each detection signal input to the secondary receiver is acquired, and the secondary channel is identified based on each detection signal to obtain a secondary channel estimation vector, wherein the secondary channel represents the physical acoustic path through which the detection signal is transmitted from the secondary receiver to the microphone;
[0006] The reference signals output by the main receiver are acquired, and the coefficient vector of the preset filter is iteratively updated based on the secondary channel estimation vector and the reference signals.
[0007] The original signals currently output by the main receiver during wear are acquired, and a cancellation signal for the secondary receiver is generated based on the original signals and the updated coefficient vector. The cancellation signal is used to cancel out leakage sound generated during the transmission of the original signals from the main receiver to the microphone.
[0008] In one embodiment, acquiring each detection signal input to the secondary receiver, and identifying the secondary channel based on each detection signal to obtain a secondary channel estimation vector, includes:
[0009] The detection signal is injected into the secondary receiver according to a preset sampling period, and the sampling signal corresponding to the detection signal is collected through the microphone;
[0010] Determine the initial estimation vector of the secondary channel;
[0011] For each sampling period, a detection signal vector for the current sampling period is formed based on the detection signal of the sampling period and a preset number of detection signals prior to the sampling period.
[0012] Based on the estimated vector and the probe signal vector of the current sampling period, the predicted signal of the current sampling period is predicted.
[0013] The secondary channel identification error for the current sampling period is calculated based on the predicted signal and the sampling signal acquired by the microphone in the current sampling period.
[0014] The estimated vector is updated based on the secondary channel identification error and the probe signal vector of the current sampling period. Then, based on the updated estimated vector, the step of forming the probe signal vector of the current sampling period for each sampling period is returned, based on the probe signal of the sampling period and a preset number of probe signals before the sampling period, until the first preset iteration end condition is met, and the secondary channel estimated vector is obtained.
[0015] In one embodiment, acquiring each detection signal input to the secondary receiver, and identifying the secondary channel based on each detection signal to obtain a secondary channel estimation vector, includes:
[0016] The detection signal is injected into the secondary receiver according to a preset sampling period, and the sampling signal corresponding to the detection signal is collected through the microphone;
[0017] According to the preset block length, each of the detection signals and each of the sampling signals are divided into blocks to obtain multiple detection signal blocks and multiple sampling signal blocks;
[0018] Fourier transform processing is performed on each of the probe signal blocks and each of the sampled signal blocks to obtain the frequency domain processing results of each of the probe signal blocks and the frequency domain processing results of each of the sampled signal blocks.
[0019] The frequency domain processing results of each of the probe signal blocks and the frequency domain processing results of each of the sampled signal blocks are regularized to obtain the frequency domain estimation vector.
[0020] The frequency domain estimation vector is subjected to inverse Fourier transform to obtain the time domain estimation vector, and the secondary channel estimation vector is extracted according to the time domain estimation vector and the preset secondary channel length.
[0021] In one embodiment, acquiring each reference signal output by the main receiver, and iteratively updating the coefficient vector of a preset filter based on the secondary channel estimation vector and each reference signal, includes:
[0022] The main receiver outputs the reference signal according to a preset sampling period;
[0023] Determine the initial coefficient vector of the preset filter;
[0024] For each sampling period, a reference signal vector for the current sampling period is formed based on the reference signal of the sampling period and a preset number of reference signals prior to the sampling period.
[0025] The secondary channel estimation vector and the reference signal vector of the current sampling period are convolved to obtain the target signal vector of the current sampling period;
[0026] The drive signal of the secondary receiver is determined based on the reference signal vector of the current sampling period and the coefficient vector.
[0027] An error signal is acquired through the microphone, wherein the error signal includes the signal of the drive signal output by the secondary receiver propagating to the microphone and the signal of the reference signal output by the primary receiver leaking to the microphone.
[0028] The coefficient vector is updated based on the target signal vector, error signal, and step size coefficient of the current sampling period, wherein the step size coefficient is obtained by adaptive adjustment based on the target signal vector and the error signal;
[0029] Based on the updated coefficient vector, return to the step of forming a reference signal vector for the current sampling period for each sampling period, based on the reference signal of the sampling period and a preset number of reference signals prior to the sampling period, until the second preset iteration end condition is met, and the final coefficient vector is obtained.
[0030] In one embodiment, the step size coefficient is adaptively adjusted according to the following steps:
[0031] Determine the initial step size coefficient;
[0032] Acquire the historical error signals collected by the microphone before the current sampling period;
[0033] A first energy estimate is calculated based on the error signal of the current sampling period and each of the historical error signals, and a second energy estimate is calculated based on the target signal vector.
[0034] The step size coefficient is adaptively adjusted based on the first energy estimate and the second energy estimate.
[0035] In one embodiment, after adaptively adjusting the step size coefficient based on the first energy estimate and the second energy estimate, the method further includes:
[0036] The target signal vector and the error signal are subjected to Fourier transform processing to obtain a first processing result corresponding to the target signal vector and a second processing result corresponding to the error signal;
[0037] The coherence degree is calculated based on the first processing result and the second processing result;
[0038] If the coherence is greater than a preset coherence threshold, then the step size coefficient is reduced.
[0039] In one embodiment, determining the drive signal of the secondary receiver based on the reference signal vector of the current sampling period and the coefficient vector includes:
[0040] The initial control signal is obtained by calculating the inner product of the transpose vector corresponding to the coefficient vector and the reference signal vector of the current sampling period.
[0041] The initial control signal is subjected to amplitude limiting and bandpass filtering to obtain the drive signal for the secondary receiver.
[0042] In one embodiment, after generating the cancellation signal for the secondary receiver based on each of the original signals and the updated coefficient vector, the method further includes:
[0043] Monitor the wearing status of the hearing aid during the wearing process;
[0044] If the wearing change state meets the preset conditions, the secondary channel estimation vector is adjusted according to the preset test signal vector, and the coefficient vector of the preset filter is updated according to the adjusted secondary channel estimation vector.
[0045] Furthermore, to achieve the above objectives, this application also proposes a feedback suppression device applied to a hearing aid, the hearing aid including a main receiver, a secondary receiver, and a microphone, comprising:
[0046] The secondary channel identification module is used to acquire each detection signal input to the secondary receiver, and to identify the secondary channel based on each detection signal to obtain a secondary channel estimation vector, wherein the secondary channel represents the physical acoustic path through which the detection signal is transmitted from the secondary receiver to the microphone;
[0047] The coefficient vector iteration module is used to obtain each reference signal output by the main receiver, and to iteratively update the coefficient vector of the preset filter based on the secondary channel estimation vector and each reference signal.
[0048] The cancellation module is used to acquire each original signal currently output by the main receiver during the wearing process, and to generate a cancellation signal for the secondary receiver based on each original signal and the updated coefficient vector, wherein the cancellation signal is used to cancel the leakage sound generated during the transmission of the original signal from the main receiver to the microphone.
[0049] In addition, to achieve the above objectives, this application also proposes a howling suppression device, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the howling suppression method as described above.
[0050] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the whistling suppression method described above.
[0051] In addition, to achieve the above objectives, this application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of the whistling suppression method described above.
[0052] This application provides a feedback suppression method, device, and storage medium. The feedback suppression method adds a secondary receiver to the hearing aid, identifies the secondary channel estimation vector between the secondary receiver and the microphone, and further uses the secondary channel estimation vector to iteratively update the coefficient vector of a preset filter. Then, the coefficient vector is used to generate a cancellation signal, so that the secondary receiver generates a sound field opposite to that of the main receiver under the drive of the cancellation signal, thereby canceling the leakage sound from the main receiver to the microphone, reducing feedback of the hearing aid and improving the user experience. Attached Figure Description
[0053] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0054] 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, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0055] Figure 1 is a schematic diagram of signal processing in existing hearing aids;
[0056] Figure 2 is a flowchart of the whistling suppression method provided in Embodiment 1 of this application;
[0057] Figure 3 is a schematic diagram of the module structure of the howling suppression device according to an embodiment of this application;
[0058] Figure 4 is a schematic diagram of the device structure of the hardware operating environment involved in the howling suppression method in this application embodiment.
[0059] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0060] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0061] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0062] Referring to Figure 1, which is a schematic diagram of signal processing in a conventional hearing aid, the inherent acoustic feedback loop of a traditional hearing aid consists of an internal signal processing link and an external acoustic feedback path. The specific principle is as follows: The internal signal processing link refers to the process where, after the microphone picks up sound, the signal undergoes gain adjustment by a digital signal processor before being transmitted to the receiver and converted into an acoustic signal output. The external acoustic feedback path refers to the process where the acoustic signal output by the receiver, after propagation and attenuation through the ear canal and external environment, is partially picked up again by the microphone; the two paths form a closed feedback loop. However, when the product between the gain coefficient of the internal signal processing link and the attenuation coefficient of the external acoustic feedback path is greater than 1, the signals in the loop will continuously amplify and superimpose, eventually forming a sharp howl at a specific frequency. This phenomenon severely damages the auditory experience, causing the hearing aid to fail to perform its normal sound amplification and transmission functions.
[0063] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device, big data service platform, or howling suppression system capable of the above functions. The following description uses a howling suppression system as an example to illustrate this embodiment and the subsequent embodiments.
[0064] Based on this, this application provides a feedback suppression method applied to a hearing aid, which includes a main receiver, a secondary receiver, and a microphone. Optionally, the secondary receiver is located between the main receiver and the microphone, and is generally positioned near the microphone and outside the ear. Specifically, referring to Figure 2, Figure 2 is a flowchart illustrating the feedback suppression method of this application in Embodiment 1.
[0065] Step S11: Obtain each detection signal input to the secondary receiver, and identify the secondary channel based on each detection signal to obtain the secondary channel estimation vector;
[0066] It should be noted that the secondary channel represents the physical acoustic path through which the detection signal is transmitted from the secondary receiver to the microphone; that is, the path model of the sound emitted by the secondary receiver through the housing structure and air to the microphone.
[0067] For example, secondary channel identification is completed when the hearing aid is powered on. Furthermore, the probe signals input to the secondary receiver include MLS (Maximum Length Sequence) periodic pseudo-random signals, band-limited noise, and multi-sine sweep signals. Band-limited noise refers to white noise confined to a specific frequency band. Multi-sine sweep refers to a multi-frequency sweep signal, which sequentially outputs sine signals of different frequencies within a preset target frequency band.
[0068] For example, suspending the signal output link of the main receiver temporarily prevents it from outputting any sound, or lowering the amplitude of the main receiver's drive signal to near zero avoids interference from the main signal with the accuracy of identification. This allows the microphone to receive only the signal from the probe signal injected by the secondary receiver after it has been propagated through the secondary channel, reducing the interference of the main receiver signal. This enables accurate measurement of the amplitude, phase, and delay characteristics of the secondary channel, resulting in an accurate estimation vector for the secondary channel.
[0069] In one embodiment, the secondary channel length is first determined, and an initial estimation vector for the secondary channel is set. Optionally, at the initial moment of secondary channel identification, since the system has no prior information about the characteristics of the secondary channel, the initial estimation vector can be set to an all-zero vector, and the length of the estimation vector is the secondary channel length. Further, by injecting a probe signal into the secondary receiver, the probe signal propagates through the housing structure and air to the microphone, and then the microphone collects the actual sampled signal. Further, the estimation vector is iteratively updated based on the probe signal and the sampled signal. This achieves the goal of gradually approximating the actual sampled signal collected by the microphone by the estimated secondary channel output signal, thus obtaining a secondary channel estimation vector that reflects the true value. It should be noted that the iterative update process of the secondary channel estimation vector is specifically described in the following embodiments and will not be repeated here.
[0070] In another embodiment, the detection signal is injected into the secondary receiver according to a preset sampling period to form a detection signal sequence, and the sampling signal corresponding to the detection signal is acquired through the microphone to form a sampling signal sequence. The detection signal sequence and the sampling signal sequence are divided into blocks according to a preset block length to obtain multiple detection signal blocks and multiple sampling signal blocks, wherein the detection signal blocks and sampling signal blocks correspond one-to-one. Further, Fourier transform processing is performed on each detection signal block and each sampling signal block to obtain the frequency domain processing result corresponding to each detection signal block and the frequency domain processing result of each sampling signal block. Then, regularization processing is performed on the frequency domain processing results corresponding to each detection signal and the frequency domain processing results of each sampling signal to obtain a frequency domain estimation vector. Further, inverse Fourier transform processing is performed on the frequency domain estimation vector to obtain a time domain estimation vector, so that the secondary channel estimation vector is extracted according to the time domain estimation vector and a preset secondary channel length. It should be noted that the calculation process of the secondary channel estimation vector is specifically described in the following embodiments and will not be repeated here.
[0071] Step S12: Obtain each reference signal output by the main receiver, and iteratively update the coefficient vector of the preset filter based on the secondary channel estimation vector and each reference signal;
[0072] It should be noted that the core logic of iteratively updating the coefficient vector of the control filter is to gradually adjust the vector coefficients along the direction of minimizing the error signal. Through continuous iteration, the cancellation sound of the secondary receiver can accurately cancel the leakage sound of the primary receiver, thereby minimizing the error signal. The error signal is the signal actually collected by the microphone.
[0073] In this embodiment, the main receiver outputs the reference signal according to a preset sampling period, forming a reference signal vector corresponding to each sampling period; the initial coefficient vector of the preset filter is determined; then, the secondary channel estimation vector and the reference signal vector are convolved to obtain the target signal vector of the current sampling period, where the target signal vector represents the equivalent signal of the reference signal after passing through the secondary channel, ensuring that the iterative adaptive direction is correct. Furthermore, the driving signal of the secondary receiver is calculated based on the reference signal vector and the coefficient vector; furthermore, an error signal is acquired through the microphone. It should be noted that the signal acquired by the microphone includes ambient sound (such as the voices of people around, environmental noise, etc.), main receiver leakage sound (when the main receiver outputs the reference signal, some sound does not reach the user's ear canal but leaks into the microphone through the ear canal and air propagation path, which is interference sound that needs to be canceled), and secondary receiver cancellation sound (the sound output by the secondary receiver under the drive signal to cancel the leakage sound). Then, based on the target signal vector, error signal, and step size coefficient of each sampling period, the coefficient vector is iteratively updated to obtain the coefficient vector after the preset filter is updated.
[0074] It should be noted that the iterative update process of the coefficient vector of the preset filter is specifically described in the following embodiments, and will not be repeated here.
[0075] Step S13: Obtain the original signals currently output by the main receiver during the wearing process, and generate the cancellation signal of the secondary receiver based on the original signals and the updated coefficient vector.
[0076] In this embodiment, during the process of wearing the hearing aid, the user acquires the original signals currently output by the main receiver during the wearing process. Further, the updated coefficient vector is transposed to obtain a transposed processing vector. The inner product between the original signals and the transposed processing vector is calculated, and the inner product is used as the cancellation signal of the secondary receiver. The cancellation signal is used to cancel the leakage sound generated during the transmission of the original signal from the main receiver to the microphone. Under the drive of the cancellation signal, the secondary receiver generates a sound field opposite to that of the main receiver to cancel the leakage sound from the main receiver to the microphone, thereby obtaining a greater gain of the hearing aid without feedback.
[0077] This embodiment adds a secondary receiver to the hearing aid, identifies the secondary channel estimation vector between the secondary receiver and the microphone, and further uses the secondary channel estimation vector to iterate the coefficient vector of a preset filter. Then, it uses the coefficient vector to generate a cancellation signal, so that the secondary receiver generates a sound field opposite to that of the main receiver under the drive of the cancellation signal, thereby canceling the leakage sound from the main receiver to the microphone, reducing the hearing aid's howling and improving the user experience.
[0078] In one feasible implementation, each detection signal input to the secondary receiver is acquired, and the secondary channel is identified based on each detection signal to obtain a secondary channel estimation vector, including:
[0079] Step S21: The detection signal is sent through the secondary receiver according to a preset sampling period, and the sampling signal corresponding to the detection signal is acquired through the microphone;
[0080] In this embodiment, a detection signal in the form of an electrical signal is injected into the secondary receiver according to a preset sampling period. The secondary receiver converts the detection signal into an acoustic detection signal and outputs it. This acoustic signal is transmitted through the secondary channel from the secondary receiver to the microphone, and finally the microphone collects the sampling signal corresponding to the detection signal. During the detection process, the signal output link of the primary receiver is paused, or the amplitude of the primary receiver's drive signal is reduced to near 0 to reduce signal interference to the primary receiver.
[0081] Step S22: Determine the initial estimation vector of the secondary channel;
[0082] In this embodiment, the length of the secondary channel is determined, and an initial estimation vector for the secondary channel is set. Optionally, at the initial moment of secondary channel identification, since the system has no prior information about the characteristics of the secondary channel, the estimation vector can be set to an all-zero vector, and the length of the estimation vector is the length of the secondary channel. ,in, Indicates the length of the secondary channel, optionally. Set to 32 to 64. Represents the real vector space.
[0083] Step S23: For each sampling period, a detection signal vector for the current sampling period is formed based on the detection signal of the sampling period and a preset number of detection signals prior to the sampling period.
[0084] In this embodiment, the detection signals from multiple consecutive sampling periods are combined in chronological order to obtain a detection signal vector; more specifically: for each sampling period, the detection signal vector for the current sampling period is formed based on the detection signal of the sampling period and a preset number of detection signals preceding the sampling period. For example, tracing back from the current sampling period n to (n... +1) time The detection signals are arranged in chronological order to form a row vector. This row vector is then transposed to obtain a column vector, which is the detection signal vector in this embodiment. The representation of the detection signal vector is as follows:
[0085]
[0086] in, Indicates transpose. The dimension is ×1, Indicates the length of the secondary channel.
[0087] Step S24: Based on the estimated vector and the probe signal vector of the current sampling period, predict the predicted signal for the current sampling period.
[0088] In this embodiment, the estimated vector is transposed, and then the predicted signal for the current sampling period is calculated based on the transposed estimated vector and the probe signal vector for the current sampling period. The formula for calculating the predicted signal is as follows:
[0089]
[0090] in, This represents the predicted signal for the current sampling period n. This represents the result of transposing the estimated vector for the current sampling period n. This represents the probe signal vector for the current sampling period n.
[0091] Step S25: Calculate the secondary channel identification error of the current sampling period based on the predicted signal and the sampling signal collected by the microphone in the current sampling period.
[0092] In this embodiment, the difference between the predicted signal and the sampled signal corresponding to the detection signal in the current sampling period is used as the secondary channel identification error of the current sampling period. The formula for calculating the secondary channel identification error is as follows:
[0093]
[0094] in, This represents the secondary channel identification error in the current sampling period n. This represents the predicted signal for the current sampling period n. This represents the sampled signal corresponding to the probe signal in the current sampling period n.
[0095] Step S26: Update the estimated vector based on the secondary channel identification error and the probe signal vector of the current sampling period. Then, based on the updated estimated vector, return to the step of forming the probe signal vector of the current sampling period for each sampling period based on the probe signal of the sampling period and a preset number of probe signals before the sampling period, until the first preset iteration end condition is met, and obtain the secondary channel estimated vector.
[0096] In this embodiment, the estimated vector is updated based on the secondary channel identification error and the probe signal vector of the current sampling period, using the following update formula:
[0097]
[0098] in, This indicates the preset secondary channel identification step size, which can optionally be... Set to 0.2–0.5; This represents the preset regularization parameters, optionally, Set as ; The updated estimated vector; This represents the secondary channel identification error in the current sampling period n; This represents the probe signal vector for the current sampling period n; This represents the estimated vector for the current sampling period n.
[0099] Further, based on the updated estimation vector, the step of forming a detection signal vector for the current sampling period for each sampling period, based on the detection signal of the sampling period and a preset number of detection signals prior to the sampling period, is returned to continue iterating the estimation vector using the detection signal vector corresponding to the next sampling period, until a first preset iteration end condition is met to obtain the secondary channel estimation vector. The first preset iteration end condition includes the number of iteration updates reaching a preset number of iterations or the secondary channel identification error converging.
[0100] This embodiment predicts the signal for the current sampling period based on the estimated vector and the probe signal vector for the current sampling period; calculates the secondary channel identification error for the current sampling period based on the predicted signal and the sampling signal collected by the microphone; and updates the estimated vector based on the secondary channel identification error and the probe signal vector for the current sampling period, thereby accurately obtaining the estimated vector of the secondary channel between the secondary receiver and the microphone. This enables the secondary receiver to generate a sound field opposite to that of the primary receiver, thereby canceling the leakage sound from the primary receiver to the microphone and reducing the occurrence of feedback in the hearing aid.
[0101] In one feasible implementation, each detection signal input to the secondary receiver is acquired, and the secondary channel is identified based on each detection signal to obtain a secondary channel estimation vector, including:
[0102] Step S31: Inject the detection signal into the secondary receiver according to the preset sampling period, and collect the sampling signal corresponding to the detection signal through the microphone;
[0103] In this embodiment, a detection signal in the form of an electrical signal is injected into the secondary receiver according to a preset sampling period. The secondary receiver converts the detection signal into an acoustic detection signal and outputs it. This acoustic signal is transmitted through the secondary channel from the secondary receiver to the microphone, and finally the microphone collects the sampling signal corresponding to the detection signal. During the detection process, the signal output link of the primary receiver is paused, or the amplitude of the primary receiver's drive signal is reduced to near 0 to avoid signal interference to the primary receiver.
[0104] Step S32: According to the preset block length, each of the detection signals and each of the sampling signals are divided into blocks to obtain multiple detection signal blocks and multiple sampling signal blocks;
[0105] In this embodiment, a detection signal sequence is formed in chronological order based on the injected detection signals. In addition, a sampling signal sequence is formed in chronological order based on the sampling signals collected by the microphone. Furthermore, the detection signal sequence and the sampling signal sequence are divided into blocks according to a preset block length to obtain multiple detection signal blocks and multiple sampling signal blocks, wherein the detection signal blocks and the sampling signal blocks correspond one-to-one.
[0106] For example, if the total length of the signal sequence is 1024 points, and the block length is set to 64, the number of blocks is 1024 ÷ 64 = 16 blocks. That is, the signal is divided into 16 detection signal blocks and 16 sampling signal blocks. Specifically, the detection signal sequence is divided into 16 blocks: Block 1: [r0, r1, ..., r63], Block 2: [r64, r65, ..., r127], ..., Block 16: [r960, r961, ..., r1023]. The sampling signal collected by the microphone is also divided into 16 blocks: Block 1, Block 2, ..., Block 16.
[0107] Step S33: Perform Fourier transform processing on each of the probe signal blocks and each of the sampled signal blocks to obtain the frequency domain processing result corresponding to each of the probe signal blocks and the frequency domain processing result of each of the sampled signal blocks.
[0108] In this embodiment, Fourier transform processing is performed on each of the probe signal blocks and each of the sample signal blocks. For example, following the example of step S32 above, Fourier transform processing is performed on block 1 of the probe signal block to obtain the frequency domain processing result of the probe signal block, denoted as R1[k], where k is 0 to 63, a total of 64 complex numbers, each complex number representing the amplitude and phase of a frequency point; Fourier transform processing is performed on block 1 of the sample signal block to obtain the frequency domain processing result of the sample signal block, denoted as Y1[k], which is also 64 complex numbers; this operation is repeated to obtain 16 sets {R m [k],Y m [k]}, where m = 1 to 16, corresponding to 16 blocks.
[0109] Step S34: Regularize the frequency domain processing results of each of the probe signal blocks and the frequency domain processing results of each of the sampled signal blocks to obtain the frequency domain estimation vector.
[0110] In this embodiment, for each of the probe signal blocks, the frequency domain processing results of the probe signal block and the frequency domain processing results of the corresponding sampling signal block are regularized to obtain the frequency domain secondary channel vector corresponding to the probe signal block. For example, following the example of step S33 above, each group {R m [k],Y m [k]} is regularized. The formula is as follows:
[0111]
[0112] in, This represents the frequency domain processing result of the probe signal blocks, that is, the frequency domain representation of the probe signal. express The conjugate of complex numbers, This represents the frequency domain processing result of the sampled signal blocks, that is, the frequency domain representation of the microphone sampled signal. This represents the preset regularization factor, optionally, Set as to .
[0113] Optionally, the signal of a single block may contain noise. The frequency domain secondary channel vectors corresponding to each block of the detection signal are averaged to obtain the frequency domain estimation vector.
[0114] Step S35: Perform inverse Fourier transform on the frequency domain estimation vector to obtain the time domain estimation vector, and extract the secondary channel estimation vector according to the time domain estimation vector and the preset secondary channel length.
[0115] In this embodiment, the frequency domain estimation vector is subjected to inverse Fourier transform to transform it back into the time domain, resulting in a time domain estimation vector. For example, assuming the block length is set to 64, a time domain sequence of length M=64 is obtained. It should be noted that the secondary channel is the physical acoustic path from the secondary receiver to the microphone. The subsequent response energy of sound in this path is extremely low and can be considered noise or redundancy. Therefore, the time domain estimation vector is extracted according to the preset secondary channel length to extract the... The points form the secondary channel estimation vector. Indicates the length of the secondary channel.
[0116] This embodiment converts the sampled signal of the detection signal into a frequency domain representation, and then calculates the frequency domain estimation vector. Subsequently, the frequency domain estimation vector is converted into the time domain to obtain the secondary channel estimation vector, so that the secondary receiver can generate a sound field opposite to that of the primary receiver, thereby canceling the leakage sound from the primary receiver to the microphone and reducing the occurrence of feedback in the hearing aid.
[0117] In one feasible implementation, the reference signals output by the main receiver are acquired, and the coefficient vector of a preset filter is iteratively updated based on the secondary channel estimation vector and the reference signals, including:
[0118] Step S41: The main receiver outputs the reference signal according to a preset sampling period;
[0119] It should be noted that the sampling period can be set according to the actual situation and is not limited here.
[0120] Step S42: Determine the initial coefficient vector of the preset filter;
[0121] It should be noted that the coefficient vector has a length of The adaptive parameters can be expressed as , used to control the shape of the antiphase, wherein Indicates the length of the preset filter. This indicates transpose.
[0122] Step S43: For each sampling period, a reference signal vector for the current sampling period is formed based on the reference signal of the sampling period and a preset number of reference signals prior to the sampling period.
[0123] In this embodiment, reference signals from multiple consecutive sampling periods are combined in chronological order to obtain a reference signal vector; more specifically: for each sampling period, a reference signal vector for the current sampling period is formed based on the reference signal of the sampling period and a preset number of reference signals preceding the sampling period; backtracking from the current sampling period n to (n... +1) time The reference signals are arranged into row vectors in chronological order. These row vectors are then transposed to obtain column vectors, which are the reference signal vectors in this embodiment. The reference signal vectors are represented as follows:
[0124]
[0125] in, Indicates transpose. Indicates the length of the preset filter, optionally, Set to 32 to 64.
[0126] Step S44: Convolve the secondary channel estimation vector and the reference signal vector of the current sampling period to obtain the target signal vector of the current sampling period;
[0127] In this embodiment, the target signal vector represents the projection of the reference signal into the secondary channel. The secondary channel estimation vector and the reference signal vector of the current sampling period are convolved. The calculation formula for the convolution is as follows:
[0128]
[0129] in, This represents the target signal vector with sampling period n. This represents the secondary channel estimation vector. The reference signal vector represents the sampling period n.
[0130] Step S45: Determine the drive signal of the secondary receiver based on the reference signal vector of the current sampling period and the coefficient vector;
[0131] It should be noted that the secondary receiver, driven by the driving signal, outputs sound to cancel out leakage. In this embodiment, the transpose vector corresponding to the coefficient vector is determined, and then the inner product between the reference signal vector of the current sampling period and the transpose vector is calculated. This inner product is used as the driving signal for the secondary receiver. The calculation formula is as follows:
[0132]
[0133] in, Indicates the drive signal. The reference signal vector represents the sampling period n. This represents the transpose of the coefficient vector.
[0134] In other embodiments, step S45 includes:
[0135] Step S451: Calculate the inner product of the transpose vector corresponding to the coefficient vector and the reference signal vector of the current sampling period to obtain the initial control signal;
[0136] Step S452: The initial control signal is subjected to amplitude limiting and bandpass filtering to obtain the drive signal for the secondary receiver.
[0137] In this embodiment, the inner product of the transpose vector corresponding to the coefficient vector and the reference signal vector of the current sampling period is calculated, and the inner product is used as the initial control signal; the pre-set constraint conditions between the output power of the secondary receiver and the output power of the primary receiver are determined, and the constraint conditions are expressed as follows: ,in, This indicates the output power of the main receiver. Indicates the output power of the secondary receiver. This represents a preset power scaling factor, which can be set according to actual conditions, for example, set to 0.01. The calculation process for the output power is as follows: For example, for the reference signal vector of the main receiver, calculate the sum of squares of each reference signal in the reference signal vector, and then average the sum of squares to obtain the output power. Further, the initial control signal is subjected to amplitude limiting processing according to the constraint conditions.
[0138] In addition, the initial control signal can be bandpass filtered. For example, a bandpass filter of 1 to 4 kHz can be used to filter the initial control signal. Bandpass filtering can make the cancellation signal effective for the howling frequency band, which can accurately cancel the howling caused by leakage sound, without accidentally canceling useful sound in the mid and low frequencies, and can also reduce the redundant power consumption of the secondary receiver.
[0139] Step S46: Obtain the error signal through the microphone;
[0140] It should be noted that the error signal includes the signal from the drive signal output by the secondary receiver propagated to the microphone and the signal from the reference signal output by the primary receiver leaked to the microphone; that is, the signal collected by the microphone includes ambient sound (such as the voices of people around, environmental noise, etc.), primary receiver leakage sound (when the primary receiver outputs the reference signal, some sound does not reach the user's ear canal, but leaks to the microphone through the ear canal and air propagation path, which is interference sound that needs to be canceled), and secondary receiver cancellation sound (the sound output by the secondary receiver under the drive signal to cancel the leakage sound).
[0141] Step S47: Update the coefficient vector based on the target signal vector, error signal, and step size coefficient of the current sampling period;
[0142] It should be noted that the step size coefficient is obtained by adaptive adjustment based on the target signal vector and the error signal; the adjustment process of the step size coefficient is specifically described in the following embodiments, and will not be repeated here.
[0143] In this embodiment, the coefficient vector is updated based on the target signal vector, error signal, and step size coefficient of the current sampling period. The formula for updating the coefficient vector is as follows:
[0144]
[0145]
[0146] in, Represents the coefficient vector. This represents the error signal for the sampling period n. Indicates the step size coefficient. This indicates the preset regularization parameters, which can be optionally... Set to 10 -6 , This represents the target signal vector with sampling period n. This represents the sum of squares of all signals in the target signal vector. This represents the updated coefficient vector. This represents the preset autocorrelation matrix, which reflects the statistical characteristics of the target signal vector. This represents the largest eigenvalue in the autocorrelation matrix, used to control the fastest possible rate of change in the system.
[0147] In other embodiments, the coefficient vector of the hearing aid may shift during long-term operation, causing the coefficients to deviate from the optimal range, which in turn leads to distortion of the cancellation signal. In one embodiment, coefficient constraints can be added to the coefficient vector. Optionally, the formula for the coefficient constraints is set as follows: ,in, This represents the coefficient leakage factor; optionally, the coefficient leakage factor is set to... to .
[0148] Step S48: Based on the updated coefficient vector, return to the step of forming a reference signal vector for the current sampling period for each sampling period, based on the reference signal of the sampling period and a preset number of reference signals before the sampling period, until the second preset iteration end condition is met, and the final coefficient vector is obtained.
[0149] In this embodiment, based on the coefficient vector updated in the current sampling period, the step of forming a reference signal vector for the current sampling period for each sampling period, based on the reference signal of the sampling period and a preset number of reference signals before the sampling period, is returned to continue iterating the coefficient vector until a second preset iteration end condition is reached to obtain the final coefficient vector. The second preset iteration end condition includes the number of iterations reaching the maximum number of iterations or the error signal having converged.
[0150] This embodiment uses convolution processing between the secondary channel estimation vector and the reference signal vector of the current sampling period to obtain the target signal vector of the current sampling period. Furthermore, based on the parameter signal and coefficient vector of the main receiver, the driving signal of the secondary receiver is determined to control the secondary receiver to emit sound under this driving signal. Then, an error signal is acquired through the microphone, and the coefficient vector is updated based on the target signal vector, error signal, and step size coefficient of the current sampling period to obtain the updated coefficient vector. Subsequently, a cancellation signal is generated by combining the coefficient vector, causing the secondary receiver to produce a sound field opposite to that of the main receiver under the drive of the cancellation signal, thereby canceling the leakage sound from the main receiver to the microphone and improving the user experience.
[0151] In one feasible implementation, the step size coefficient is adaptively adjusted according to the following steps:
[0152] Step S51: Determine the initial step size coefficient;
[0153] Step S52: Obtain the historical error signals acquired by the microphone before the current sampling period;
[0154] Step S53: Calculate a first energy estimate based on the error signal of the current sampling period and each of the historical error signals, and calculate a second energy estimate based on the target signal vector;
[0155] Step S54: Adaptively adjust the step size coefficient based on the first energy estimate and the second energy estimate.
[0156] In this embodiment, an initial step size coefficient is determined. This initial step size coefficient can be set according to actual conditions and is not limited here. Further, the microphone acquires various historical error signals collected before the current sampling period. Then, based on the error signal of the current sampling period and each of the historical error signals, the sum of squares corresponding to each signal is calculated. The sum of squares is then averaged to obtain a first energy estimate. In addition, a second energy estimate is calculated based on the target signal vector. The calculation method for the second energy estimate is the same as that for the first energy estimate, and will not be repeated here. Further, based on the first and second energy estimates of the current sampling period, the step size coefficient is adaptively adjusted to obtain an adjusted step size coefficient. The adjustment formula is as follows:
[0157]
[0158] in, This represents the initial step size coefficient. This represents the adjusted step size coefficient for the sampling period n. This represents the first energy estimate for the sampling period n. This represents the second energy estimate for the sampling period n. This indicates a preset parameter to prevent the denominator from being 0 or too small. Optionally, Set as .
[0159] Furthermore, in subsequent sampling periods, the above operations are performed based on the newly adjusted step size coefficient to continue adaptively adjusting the adjusted step size coefficient.
[0160] In addition, it is necessary to monitor the first energy estimate corresponding to the error signal. If the first energy estimate corresponding to the error signal exceeds the preset energy threshold, the coefficient vector is frozen or the step size coefficient is reduced.
[0161] In addition, it is necessary to monitor abnormal growth of the coefficient vector. Optionally, the 2-norm of the coefficient vector can be calculated, denoted as . ,like If the value exceeds the preset safety threshold, it indicates that the coefficient vector has grown abnormally. Therefore, the coefficient vector is frozen and updated or the step size coefficient is reduced, and the current coefficient vector is replaced with the previously saved coefficient vector.
[0162] In one feasible implementation, after adaptively adjusting the step size coefficient based on the first energy estimate and the second energy estimate, the method further includes:
[0163] Step S61: Perform Fourier transform processing on the target signal vector and the error signal to obtain a first processing result corresponding to the target signal vector and a second processing result corresponding to the error signal;
[0164] Step S62: Calculate the coherence degree based on the first processing result and the second processing result;
[0165] Step S63: If the coherence is greater than the preset coherence threshold, then reduce the step size coefficient.
[0166] In this embodiment, the target signal vector is subjected to Fourier transform processing to obtain a first processing result corresponding to the target signal vector. Furthermore, the error signal of the current sampling period and each of the historical error signals are subjected to Fourier transform processing to obtain a second processing result corresponding to the error signal. Further, based on the first processing result and the second processing result, the coherence degree is calculated, wherein the coherence degree calculation formula is as follows:
[0167]
[0168] in, Indicates coherence. Let E represent the first processing result, that is, the frequency domain representation of the target signal vector, and let E represent the second processing result, that is, the frequency domain representation of the error signal. express The conjugate of complex numbers, This indicates that the expected value is being calculated.
[0169] Furthermore, the coherence is compared with a preset coherence threshold, which can be set according to actual conditions, for example, 0.8. If the coherence is greater than the preset coherence threshold, it indicates that the target signal and the error signal are highly correlated at this frequency point, which may pose a risk of howling. Therefore, the update coefficient vector is frozen or the step size coefficient is reduced. For example, when... For a narrowband pure tone / music scene with a value of 0.8, freeze the update coefficient vector or reduce the step size coefficient.
[0170] This embodiment adaptively adjusts the step size coefficient based on the error signal of the current sampling period and the target signal vector, effectively improving the accuracy of the calculated coefficient vector. Subsequently, a cancellation signal is generated by combining the coefficient vector, so that the secondary receiver produces a sound field opposite to that of the primary receiver under the drive of the cancellation signal, thereby canceling the leakage sound from the primary receiver to the microphone and improving the user experience.
[0171] In one feasible implementation, after generating the cancellation signal for the secondary receiver based on each of the original signals and the updated coefficient vector, the method further includes:
[0172] Step S71: Monitor the wearing status of the hearing aid during the wearing process;
[0173] Step S72: If the wearing change state meets the preset conditions, the secondary channel estimation vector is adjusted according to the preset test signal vector, and the coefficient vector of the preset filter is updated according to the adjusted secondary channel estimation vector.
[0174] In this embodiment, the hearing aid's wearing status is monitored in real time to determine whether the physical seal between the hearing aid and the ear canal has changed. If a change occurs, the wearing change is determined to meet preset conditions; for example, the user turns their head, touches their ear, or the hearing aid becomes loose, causing it to change from a fully in-ear fit to a partially dislodged state. Optionally, the hearing aid's built-in IMU (inertial measurement unit, such as an accelerometer or gyroscope) can capture abnormal fluctuations in head or ear canal movement data to trigger a judgment of possible changes in the seal. Furthermore, a decrease in seal can be determined by monitoring abnormal increases in wind noise.
[0175] It should be noted that changes in wearing conditions directly alter the secondary channel between the secondary receiver and the microphone. Therefore, the secondary channel estimation vector calculated during the detection phase needs to be adjusted. Optionally, preset test signals are injected into the secondary receiver to form test signal vectors with multiple sampling periods. The secondary channel estimation vector is then adjusted according to these test signal vectors. The adjustment process is similar to the iterative process of steps S21-S26 described above and will not be repeated here. The secondary channel identification step size used in the adjustment process is smaller than that in the iterative process of step S26, ensuring a very slow update that does not affect the hearing aid's primary function. Furthermore, the coefficient vector of the preset filter may also need to be updated based on the adjusted secondary channel estimation vector. The update process of the preset filter coefficient vector is similar to the update process of steps S41-S48 described above and will not be repeated here. Thus, the adjusted coefficient vector is used to generate the cancellation signal for the secondary receiver during subsequent wearing.
[0176] This embodiment monitors the changes in the fit between the hearing aid and the ear canal in real time during the wearing process. When a change in the wearing state is detected, the secondary channel estimation vector is adaptively adjusted, and the coefficient vector of the preset filter is updated according to the adjusted secondary channel estimation vector. This allows the secondary receiver to accurately cancel the sound leakage from the primary receiver to the microphone, ultimately improving the user's wearing experience.
[0177] It should be noted that the examples in the figure are only for understanding this application and do not constitute a limitation on the howling suppression method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0178] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0179] This application also provides a feedback suppression device. Please refer to Figure 3, which is a schematic diagram of the module structure of the feedback suppression device according to an embodiment of this application. The feedback suppression device is applied to a hearing aid, which includes a main receiver, a secondary receiver, and a microphone, including:
[0180] Secondary channel identification module 81 is used to acquire each detection signal input to the secondary receiver, and to identify the secondary channel according to each detection signal to obtain a secondary channel estimation vector, wherein the secondary channel represents the physical acoustic path through which the detection signal is transmitted from the secondary receiver to the microphone;
[0181] The coefficient vector iteration module 82 is used to acquire each reference signal output by the main receiver, and to iteratively update the coefficient vector of the preset filter based on the secondary channel estimation vector and each reference signal.
[0182] The cancellation module 83 is used to acquire each original signal currently output by the main receiver during the wearing process, and to generate a cancellation signal for the secondary receiver based on each original signal and the updated coefficient vector, wherein the cancellation signal is used to cancel the leakage sound generated during the transmission of the original signal from the main receiver to the microphone.
[0183] The whistling suppression device provided in this application, employing the whistling suppression method in the above embodiments, can solve the technical problems mentioned in the background art. Compared with the prior art, the beneficial effects of the whistling suppression device provided in this application are the same as those of the whistling suppression method provided in the above embodiments, and other technical features in the whistling suppression device are the same as those disclosed in the methods of the above embodiments, and will not be repeated here.
[0184] This application provides a howling suppression device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the howling suppression method in the first embodiment described above.
[0185] Referring to Figure 4, which is a schematic diagram of the device structure of the hardware operating environment involved in the howling suppression method in this embodiment of the application, the howling suppression device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. The howling suppression device shown in Figure 4 is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0186] As shown in Figure 4, the howling suppression device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory 1002 or a program loaded from a storage device 1003 into a random access memory 1004. The random access memory 1004 also stores various programs and data required for the operation of the howling suppression device. The processing unit 1001, the read-only memory 1002, and the random access memory 1004 are interconnected via a bus 1005. An input / output interface 1006 is also connected to the bus. Typically, the following systems can be connected to the input / output interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the howling suppression device to communicate wirelessly or wiredly with other devices to exchange data. While various systems are shown in the figures, it should be understood that implementation or possession of all shown systems is not required. More or fewer systems may be implemented alternatively.
[0187] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from read-only memory 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0188] The whistling suppression device provided in this application, employing the whistling suppression method in the above embodiments, can solve the technical problems described in the background section. Compared with the prior art, the beneficial effects of the whistling suppression device provided in this application are the same as those of the whistling suppression method provided in the above embodiments, and other technical features of the whistling suppression device are the same as those disclosed in the previous embodiment method, and will not be repeated here.
[0189] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0190] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0191] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the howling suppression method in the above embodiments.
[0192] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0193] The aforementioned computer-readable storage medium may be included in the howling suppression device; or it may exist independently and not assembled into the howling suppression device.
[0194] The aforementioned computer-readable storage medium carries one or more programs, which, when executed by the squeal suppression device, cause the squeal suppression device to:
[0195] Each detection signal input to the secondary receiver is acquired, and the secondary channel is identified based on each detection signal to obtain a secondary channel estimation vector, wherein the secondary channel represents the physical acoustic path through which the detection signal is transmitted from the secondary receiver to the microphone;
[0196] The reference signals output by the main receiver are acquired, and the coefficient vector of the preset filter is iteratively updated based on the secondary channel estimation vector and the reference signals.
[0197] The original signals currently output by the main receiver during wear are acquired, and a cancellation signal for the secondary receiver is generated based on the original signals and the updated coefficient vector. The cancellation signal is used to cancel out leakage sound generated during the transmission of the original signals from the main receiver to the microphone.
[0198] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0199] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0200] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0201] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described howling suppression method, and is capable of solving the technical problems described in the background art. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as the beneficial effects of the howling suppression method provided in the above embodiments, and will not be repeated here.
[0202] This application provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described howling suppression method.
[0203] The computer program product provided in this application can solve the technical problems described in the background section. Compared with the prior art, the beneficial effects of the computer program product provided in the embodiments of this application are the same as the beneficial effects of the howling suppression method provided in the above embodiments, and will not be repeated here.
[0204] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A method for suppressing howling, characterized in that, An application in a hearing aid, the hearing aid including a main receiver, a secondary receiver, and a microphone, comprising: acquiring various detection signals input to the secondary receiver, identifying a secondary channel based on each detection signal to obtain a secondary channel estimation vector, wherein the secondary channel represents the physical acoustic path through which the detection signal is transmitted from the secondary receiver to the microphone; acquiring various reference signals output by the main receiver, iteratively updating a coefficient vector of a preset filter based on the secondary channel estimation vector and each reference signal; acquiring various original signals currently output by the main receiver during wear, generating a cancellation signal for the secondary receiver based on each original signal and the updated coefficient vector, wherein the cancellation signal is used to cancel leakage sound generated during the transmission of the original signal from the main receiver to the microphone.
2. The howling suppression method as described in claim 1, characterized in that, The step of acquiring each detection signal input to the secondary receiver, and identifying the secondary channel based on each detection signal to obtain a secondary channel estimation vector, includes: injecting the detection signal into the secondary receiver according to a preset sampling period, and acquiring the sampling signal corresponding to the detection signal through the microphone; determining the initial estimation vector of the secondary channel; for each sampling period, forming a detection signal vector for the current sampling period based on the detection signal of the sampling period and a preset number of detection signals before the sampling period; predicting the predicted signal for the current sampling period based on the estimation vector and the detection signal vector of the current sampling period; calculating the secondary channel identification error for the current sampling period based on the predicted signal and the sampling signal acquired by the microphone in the current sampling period; updating the estimation vector based on the secondary channel identification error and the detection signal vector of the current sampling period, and returning to execute the step of forming the detection signal vector for the current sampling period based on the detection signal of the sampling period and a preset number of detection signals before the sampling period for each sampling period, until a first preset iteration termination condition is reached to obtain the secondary channel estimation vector.
3. The howling suppression method as described in claim 1, characterized in that, The step of acquiring each detection signal input to the secondary receiver, and identifying the secondary channel based on each detection signal to obtain a secondary channel estimation vector, includes: injecting the detection signal into the secondary receiver according to a preset sampling period, and acquiring the sampling signal corresponding to the detection signal through the microphone; dividing each detection signal and each sampling signal into blocks according to a preset block length to obtain multiple detection signal blocks and multiple sampling signal blocks; performing Fourier transform processing on each detection signal block and each sampling signal block to obtain the frequency domain processing result of each detection signal block and the frequency domain processing result of each sampling signal block; performing regularization processing on the frequency domain processing results of each detection signal block and the frequency domain processing results of each sampling signal block to obtain a frequency domain estimation vector; and performing inverse Fourier transform processing on the frequency domain estimation vector to obtain a time domain estimation vector, so as to extract the secondary channel estimation vector according to the time domain estimation vector and the preset secondary channel length.
4. The howling suppression method as described in claim 1, characterized in that, The step of acquiring each reference signal output by the main receiver, and iteratively updating the coefficient vector of a preset filter based on the secondary channel estimation vector and each reference signal, includes: outputting the reference signal through the main receiver according to a preset sampling period; determining the initial coefficient vector of the preset filter; for each sampling period, forming a reference signal vector for the current sampling period based on the reference signal of the sampling period and a preset number of reference signals prior to the sampling period; performing convolution processing on the secondary channel estimation vector and the reference signal vector of the current sampling period to obtain the target signal vector of the current sampling period; and determining the driving signal of the secondary receiver based on the reference signal vector of the current sampling period and the coefficient vector. The error signal is acquired through the microphone, wherein the error signal includes the signal propagated from the driving signal to the microphone and the signal leaked from the reference signal output by the main receiver to the microphone; the coefficient vector is updated according to the target signal vector, the error signal, and the step size coefficient of the current sampling period, wherein the step size coefficient is adaptively adjusted according to the target signal vector and the error signal; based on the updated coefficient vector, the step of forming the reference signal vector of the current sampling period for each sampling period according to the reference signal of the sampling period and a preset number of reference signals before the sampling period is returned to be executed until the second preset iteration end condition is reached to obtain the final coefficient vector.
5. The howling suppression method as described in claim 4, characterized in that, The step size coefficient is adaptively adjusted according to the following steps: determining the initial step size coefficient; acquiring each historical error signal collected by the microphone before the current sampling period; calculating a first energy estimate based on the error signal of the current sampling period and each of the historical error signals; and calculating a second energy estimate based on the target signal vector. The step size coefficient is adaptively adjusted based on the first energy estimate and the second energy estimate.
6. The howling suppression method as described in claim 5, characterized in that, After adaptively adjusting the step size coefficient based on the first energy estimate and the second energy estimate, the method further includes: performing Fourier transform processing on the target signal vector and the error signal to obtain a first processing result corresponding to the target signal vector and a second processing result corresponding to the error signal; calculating the coherence degree based on the first processing result and the second processing result; and reducing the step size coefficient if the coherence degree is greater than a preset coherence degree threshold.
7. The howling suppression method as described in claim 4, characterized in that, The step of determining the drive signal of the secondary receiver based on the reference signal vector of the current sampling period and the coefficient vector includes: calculating the inner product of the transpose vector corresponding to the coefficient vector and the reference signal vector of the current sampling period to obtain an initial control signal; and performing amplitude limiting and bandpass filtering on the initial control signal to obtain the drive signal of the secondary receiver.
8. The howling suppression method as described in claim 1, characterized in that, After generating the cancellation signal of the secondary receiver based on each of the original signals and the updated coefficient vector, the method further includes: monitoring the wearing change state of the hearing aid during the wearing process; if the wearing change state meets the preset conditions, adjusting the secondary channel estimation vector according to the preset test signal vector, and updating the coefficient vector of the preset filter according to the adjusted secondary channel estimation vector.
9. A howling suppression device, characterized in that, The howling suppression device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the howling suppression method as described in any one of claims 1 to 8.
10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the howling suppression method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
An intelligent howling suppression device and method based on a smart phone
CN109831732A
Howling suppression method and apparatus, and in-ear earphones and storage medium
US20250133339A1