System and method for detecting divergence in adaptive systems - Patents.com

JP7633374B2Active Publication Date: 2025-02-19BOSE CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023504392
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-07-22
Filing Date
2021-07-20
Publication Date
2025-02-19
Estimated Expiration
2041-07-20

Smart Images

  • Figure 0007633374000008
    Figure 0007633374000008
  • Figure 0007633374000009
    Figure 0007633374000009
  • Figure 0007633374000010
    Figure 0007633374000010
Patent Text Reader

Abstract

Detecting divergence in an adaptive system includes determining the power of a component of an error signal at a first frequency, the component being correlated with a noise cancellation signal, the noise cancellation signal being generated by an adaptive filter and configured to cancel noise in a predetermined volume when converted to an acoustic signal, the error signal representing the magnitude of residual noise in the predetermined volume; determining a time gradient of the power of the component of the error signal; and comparing a metric to a threshold, the metric being based at least in part on the value of the time gradient of the power of the component of the error signal over a period of time.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. patent application Ser. No. 16 / 935,979, filed July 22, 2020, and entitled “Systems and Methods for Detecting Divergence in an Adaptive System,” the disclosure of which is incorporated herein by reference in its entirety. [Background technology]

[0002] The present disclosure relates generally to systems and methods for detecting divergence in adaptive systems. Summary of the Invention

[0003] All embodiments and features mentioned below can be combined in any technically possible manner.

[0004] According to one aspect, a non-transitory storage medium storing program code for detecting divergence or instability in a noise cancellation system, the program code being executed by a processor and including the steps of: determining a power of a component of an error signal at a first frequency, the component being correlated to a noise cancellation signal, the noise cancellation signal being configured to cancel noise in a predetermined volume when generated by an adaptive filter and converted to an acoustic signal, the error signal representing a magnitude of residual noise in the predetermined volume; determining a time gradient of the power of the component of the error signal; and comparing a metric to a threshold, the metric being based at least in part on a value of the time gradient of the power of the component of the error signal over a period of time.

[0005] In one example, the program code further includes transitioning the first set of coefficients of the adaptive filter to a second set of coefficients of the adaptive filter upon determining that the metric exceeds a threshold.

[0006] In one example, the program code further includes slowing down an adaptation rate of the adaptive filter when a power of the correlated component begins to decrease as a result of transitioning the first set of coefficients to the second set of coefficients.

[0007] In one example, the program code further includes transitioning to a third set of coefficients for the adaptive filter upon determining that the metric exceeds a threshold within a second period of time of storing the second set of coefficients.

[0008] In one example, the metric is a filtered representation of the time gradient over a period of time, where the representation of the time gradient is filtered using a low pass filter.

[0009] In one example, the cutoff frequency of the low pass filter is selected according to the first frequency.

[0010] In one example, the program code further includes comparing the second metric to a second threshold, the second metric being based on a comparison of a power of a component of the error signal at the first frequency to a power of a component of the error signal at least at a second frequency.

[0011] In one example, the program code further includes transitioning the first set of coefficients of the adaptive filter to a second set of coefficients of the adaptive filter when the metric determines that the threshold value or the second metric determines that the second threshold value is exceeded.

[0012] In one example, the program code further includes slowing down an adaptation rate of the adaptive filter when a power of the correlated component begins to decrease as a result of transitioning the first set of coefficients to the second set of coefficients.

[0013] In one example, the second metric is a filtered representation of the relative power of the component of the error signal at the first frequency and the component of the error signal at the second frequency, where the representation of the relative power is filtered using a low pass filter.

[0014] According to another aspect, a method for detecting divergence in a noise cancellation system includes determining a power of a component of an error signal at a first frequency, the component being correlated to a noise cancellation signal, the noise cancellation signal being generated by an adaptive filter and configured to cancel noise in a given volume when converted to an acoustic signal, the error signal representing a magnitude of residual noise in the given volume; determining a time gradient of the power of the component of the error signal; and comparing a metric to a threshold, the metric being based at least in part on a value of the time gradient of the power of the component of the error signal over a period of time.

[0015] In one example, the method further includes transitioning the first set of coefficients of the adaptive filter to a second set of coefficients of the adaptive filter upon determining that the metric exceeds a threshold.

[0016] In one example, the method further includes slowing down an adaptation rate of the adaptive filter when the power of the correlation components begins to decrease as a result of transitioning the first set of coefficients to the second set of coefficients.

[0017] In one example, the method further includes transitioning to a third set of coefficients for the adaptive filter upon determining that the metric exceeds a threshold within a second period of time for storing the second set of coefficients.

[0018] In one example, the metric is a filtered representation of the time gradient over a period of time, where the representation of the time gradient is filtered using a low pass filter.

[0019] In one example, the cutoff frequency of the low pass filter is selected according to the first frequency.

[0020] In one example, the method further includes comparing the second metric to a second threshold, the second metric being based on a comparison of the power of the component of the error signal at the first frequency to the power of the component of the error signal at least at a second frequency.

[0021] In one example, the method further includes transitioning the first set of coefficients of the adaptive filter to a second set of coefficients of the adaptive filter upon determining that the metric exceeds the threshold or determining that the second metric exceeds a second threshold.

[0022] In one example, the method further includes slowing down an adaptation rate of the adaptive filter when the power of the correlation components begins to decrease as a result of transitioning the first set of coefficients to the second set of coefficients.

[0023] In one example, the second metric is a filtered representation of the relative power of the component of the error signal at the first frequency and the component of the error signal at the second frequency, where the representation of the relative power is filtered using a low pass filter.

[0024] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will become apparent from the description and drawings, and from the claims.

[0025] In the drawings, like reference numbers generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of various aspects. [Brief description of the drawings]

[0026] [Figure 1] 1 depicts a schematic diagram of a noise cancellation system, according to one embodiment; [Diagram 2] 1 illustrates a block diagram of a noise cancellation system with divergence detection, according to one embodiment. [Figure 3A]1 depicts a flowchart of a method for detecting divergence in an adaptive system, according to one embodiment. [Figure 3B] 1 depicts a flowchart of a method for detecting divergence in an adaptive system, according to one embodiment. [Figure 3C] 1 depicts a flowchart of a method for detecting divergence in an adaptive system, according to one embodiment. [Figure 3D] 1 depicts a flowchart of a method for detecting divergence in an adaptive system, according to one embodiment. [Figure 3E] 1 depicts a flowchart of a method for detecting divergence in an adaptive system, according to one embodiment. [Figure 3F] 1 depicts a flowchart of a method for detecting divergence in an adaptive system, according to one embodiment. [Figure 3G] 1 depicts a flowchart of a method for detecting divergence in an adaptive system, according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0027] Adaptive systems, such as noise cancellation systems, typically employ a feedback or feedforward topology to adjust adaptive system parameters according to the requirements of the environment. In general, these systems converge to a state that minimizes a particular value. For example, a noise cancellation system may adapt parameters according to feedback from an error sensor to minimize noise in a particular area. In this case, the noise cancellation system converges toward zero noise in the area.

[0028] However, if an adaptive system fails, the system may diverge from a particular value, in the worst case, degrading rather than minimizing the intended value. Thus, in the noise cancellation example, a diverging noise cancellation system may add noise to an area rather than cancelling it.

[0029] Various examples disclosed herein are directed to a system for detecting divergence in an adaptive system, such as a noise cancellation system. In some examples, once divergence is detected, corrective action may be taken to mitigate the effects of the divergence on the adaptive system.

[0030] 1 is a schematic diagram of an exemplary noise cancellation system 100. The noise cancellation system 100 may be configured to destructively interfere with undesired sounds in at least one cancellation zone 102 within a predefined volume 104, such as a vehicle cabin. In general, one embodiment of the noise cancellation system 100 may include a reference sensor 106, an error sensor 108, an actuator 110, and a controller 112.

[0031] In one embodiment, the reference sensor 106 is configured to generate a noise signal 114 representative of an undesired sound or source of the undesired sound within the predefined volume 104. For example, as shown in Figure 1, the reference sensor 106 may be one or more accelerometers mounted and configured to detect vibrations transmitted through the vehicle structure 116. The vibrations transmitted through the vehicle structure 116 are converted by the structure into undesired sound (perceived as driving noise) within the vehicle cabin, and thus the accelerometer mounted on the structure provides a signal representative of the undesired sound.

[0032] The actuators 110 can be, for example, speakers distributed at discrete locations around the perimeter of the predefined volume. In one embodiment, four or more speakers can be positioned within the vehicle cabin, with each of the four speakers located within a respective door of the vehicle and configured to transmit sound into the vehicle cabin. In alternative embodiments, the speakers can be located within a headrest or elsewhere within the vehicle cabin.

[0033] A noise cancellation signal 118 may be generated by the controller 112 and provided to one or more speakers within the predefined volume, which converts the noise cancellation signal 118 into acoustic energy (i.e., sound waves). The acoustic energy generated as a result of the noise cancellation signal 118 is approximately 180° out of phase with the undesired sounds within the cancellation zone 102 and therefore destructively interferes with the undesired sounds. The combination of the sound waves generated from the noise cancellation signal 118 and the undesired sounds within the predefined volume results in the cancellation of the undesired noise as perceived by a listener within the cancellation zone.

[0034] Because noise cancellation may not be equal throughout the predefined volume, the noise cancellation system 100 is configured to produce maximum noise cancellation within one or more predefined cancellation zones 102 having a predefined volume. Noise cancellation within the cancellation zones may achieve a reduction in undesired sounds of about 3 dB or more (although in various embodiments different amounts of noise cancellation may occur). Additionally, the noise cancellation may cancel sounds in a frequency range, such as frequencies below about 350 Hz (although other ranges are possible).

[0035] An error sensor 108 disposed within the predefined volume generates an error sensor signal 120 based on detection of residual noise resulting from a combination of sound waves generated from the noise cancellation signal 118 and undesired sounds within the cancellation zone. The error sensor signal 120 is provided as feedback to the controller 112, the error sensor signal 120 being representative of the residual noise that was not cancelled by the noise cancellation signal. The error sensor 108 can be, for example, at least one microphone mounted within the vehicle cabin (e.g., on the ceiling, headrest, pillar or other location within the cabin).

[0036] It should be noted that the cancellation zone(s) may be located remotely from the error sensor 108. In this case, the error sensor signal 120 may be filtered to represent an estimate of the residual noise within the cancellation zone(s). In either case, it is understood that the error signal represents the unwanted residual noise within the cancellation zone.

[0037] In one embodiment, the controller 112 may include a non-transitory storage medium 122 and a processor 124. In one embodiment, the non-transitory storage medium 122 may store program code that, when executed by the processor 124, implements the various filters and algorithms described below. The controller 112 may be implemented in hardware and / or software. For example, the controller may be implemented by a SHARC floating point DSP processor, although it should be understood that the controller may be implemented by any other processor, FPGA, ASIC, or other suitable hardware.

[0038] 2, a block diagram of one embodiment of a noise cancellation system 100 is shown that includes multiple filters implemented by a controller 112. As shown, the controller adapt A control system may be defined that includes a filter 126 and an adaptive processing module 128 .

[0039] W adapt The filter 126 is configured to receive the noise signal 114 of the reference sensor 106 and generate a noise-canceling signal 118. The noise-canceling signal 118 is input to the actuator 110 and converted into a noise-canceling audio signal that destructively interferes with the undesired sounds within the predefined cancellation zone 102, as described above. adapt The filter 126 may be implemented as any suitable linear filter, such as a multi-input multi-output (MIMO) finite impulse response (FIR) filter. adaptFilter 126 uses a set of coefficients that define the noise cancellation signal 118 and can be adjusted to accommodate changes in the behavior of the vehicle responsiveness to driving inputs (or other inputs in non-vehicle noise cancellation situations).

[0040] The adjustment of the coefficients may be performed by an adaptive processing module 128, which receives as inputs the error sensor signal 120 and the noise signal 114 and uses those inputs to generate a filter update signal 130. The filter update signal 130 is adapt The updated filter coefficients implemented in the filter 126. adapt The noise cancellation signal 118 produced by the filter 126 minimizes the error sensor signal 120, thereby minimizing undesired sounds within the cancellation zone.

[0041] W at time step n adapt The coefficients of the filter 126 may be updated according to the following equation:

[0042]

number

[0043] where

number

number

number

number

[0044] In this application, the total number of filters is approximately equal to the number of reference sensors (M) multiplied by the number of speakers (N). Each reference sensor signal is filtered N times, and then each speaker signal is obtained as a total of M signals (each sensor signal is filtered by a corresponding filter).

[0045] The divergence detector 300 receives the error sensor signal 120 and the noise cancellation signal 118, as described in more detail below, and uses those inputs to determine whether the road noise cancellation system 100 is likely diverging or is likely unstable. In response to that countermeasure, the road noise cancellation system 100 may take corrective action to mitigate the divergence or instability. The divergence detector 300 may detect divergence and / or instability by monitoring the power of the components of the error sensor signal 120 that should be minimized by the adaptive system. For example, in the context of the road noise cancellation system 100, the power of the components of the error signal 120 that are correlated with the road noise should remain small. If the power of the components of the error signal 120 that are correlated with the road noise starts to increase, the adaptive filter W adapt It may be determined that the filter 126 is diverging.

[0046] As described above, in the example road noise cancellation system 100, the reference sensor 106 may be positioned to detect vibrations in the vehicle structure that are perceived as road noise by the passengers, and the error sensor 108 may be positioned to detect all noises in the vehicle cabin or a subset of noises in the vehicle cabin (e.g., noises that fall within a particular cancellation zone and within a particular frequency range). In this example, the error sensor 108 detects additional noises in the vehicle cabin that are not the result of road noise, e.g., music played in the vehicle cabin, passengers talking in the vehicle cabin, vibrations in the vehicle structure, such as wind passing through the vehicle, etc. Thus, y(n) can be expressed as a sum of its components as follows:

[0047]

number

[0048] Here, for the purposes of this disclosure, y a (n) is the component of the error sensor signal that correlates with road noise, and y resi (n) is a residual component that is not correlated with road noise.

[0049] Component y of the error sensor signal 120 that correlates with road noise a (n) can be estimated in any number of ways. However, it is particularly efficient to estimate this value by correlating the error sensor signal 120 with the noise cancellation signal 118. Since the noise cancellation signal 118 is already configured to cancel noise within the vehicle cabin and is therefore an estimate of the phase-shifted road noise component, the component y of the error sensor signal 120 that is correlated with the road noise can be estimated by the noise cancellation signal 118. a (n) is highly correlated with the noise cancellation signal 118. Therefore, the divergence detector detects the component y of the error sensor signal 120 that is correlated with the road noise by correlating the error sensor signal 120 with the noise cancellation signal 118. a In an alternative example, rather than correlating the error sensor signal 120 with the noise cancellation signal 118, the error sensor signal 120 may be correlated with the reference sensor signal 114 to estimate the component y of the error sensor signal 120 that is correlated with the road noise. a (n) may be estimated. For purposes of this disclosure, the estimated component of the error sensor signal 120 that is correlated with road noise is referred to as the “error signal component.” It will be appreciated that the error signal component may be determined in any number of possible ways.

[0050] Once the error signal component is estimated, at least one of several methods can be used to detect the occurrence of divergence or instability. One such method is to monitor the power of the error signal component over time to determine whether the power increases or decreases. Again, as explained above, the power of the noise targeted by the noise cancellation system should generally decrease or remain relatively constant over time. If the power of the error signal component begins to increase, this is evidence that the adaptive filter has diverged. Thus, the time gradient of the error signal component, or some metric related to this time gradient, can be monitored over time to determine whether the adaptive filter has diverged.

[0051] However, monitoring the time gradient in this manner may miss a rapidly growing divergence. Such a divergence may quickly saturate the adaptive filter, so that the time gradient power of the error sensor component is positive for a short period of time before becoming zero. Once the adaptive filter saturates, the time gradient remains constant, so the first method for detecting divergence may not be able to record the divergence. Therefore, the second method for detecting divergence may be used as a fail-safe.

[0052] In one example, the second method can determine the relative power of the error signal components across multiple frequencies. Stated another way, in the case of divergence, the power of the error signal components in at least one frequency bin is much greater than the power in at least one other frequency bin. In this case, divergence can be detected by monitoring the relative magnitude of the power in each frequency bin with respect to one or more other frequency bins. For example, each frequency bin of the error signal components can be individually compared with one or more other frequency bins to see if each frequency bin exceeds the power of the other frequency bins by some predetermined value. This relative power can be monitored for a period of time before signaling that divergence has occurred.

[0053] If divergence is detected according to at least one of the above methods, at least one action can be taken to mitigate the effects of the divergence and attempt to converge the adaptive filter back to a stable state. One such method is to transition the coefficients of the adaptive filter to a previously stored set of coefficients. The previously stored set of coefficients can be a recently stored set of coefficients or can be a default set of coefficients. Since the previously stored coefficients are likely not diverging, restoring this set of coefficients is most likely to resolve the divergence. However, in some cases where the divergence occurs within a short time of storing the set of coefficients, it is likely that the most recently stored coefficients are corrupted, so a different set of coefficients (e.g., a default set of coefficients) can be retrieved and implemented rather than the most recent set of stored coefficients. In most cases, the different set of coefficients is a default set of coefficients, such as a factory setting, but other sets of coefficients can be used, such as coefficients stored during a vehicle shutdown or startup, or in some cases, coefficients stored at some point before the previously stored coefficients.

[0054] In addition to restoring the coefficients, the rate of adaptation can be slowed down to reduce the risk of a second divergence that may occur if the conditions that caused the first divergence are still valid. Indeed, in one example, the rate of adaptation can be slowed down to the point where the adaptive filter becomes a fixed filter. However, to avoid slowing down the adaptation in case of a misjudged divergence (e.g., if the second method detects a spurious divergence due to a tonal sound of the kind often found in classical music), the frequency bin in which the divergence was detected can be monitored after the transition. If the power of the frequency bin decreases, it can be assumed that the detected divergence was a real divergence, and the rate of adaptation can be slowed down accordingly. However, if the power of the frequency bin does not decrease, it can be assumed that the detected divergence was a spurious divergence, and the same rate of adaptation can be maintained.

[0055] These and other methods of detecting and mitigating divergence are discussed in more detail below in conjunction with Figures 3A-3G.

[0056] Again, the noise cancellation system 100 of FIGS. 1 and 2 is provided merely as one example of such a system. This system, variations of this system, and other suitable noise cancellation systems may be used within the scope of this disclosure. For example, while the system of FIGS. 1-2 has been described with reference to a least mean squares (LMS / NLMS) filter, other examples may implement different types of filters, such as recursive least squares (RLS) filter implementations. Similarly, while a noise cancellation system with feedback has been described, in alternative examples, such a system may employ a feedforward topology. Additionally, while a vehicle-implemented noise cancellation system for canceling road noise has been described, any suitable noise cancellation system may be used.

[0057] 3A-3G depict a flowchart of a method 300 for detecting divergence in an adaptive system, such as the noise cancellation system 100. As described above, the method may be implemented by a computing device, such as the controller 112. Generally, the steps of the computer-implemented method are stored in a non-transitory storage medium and executed by a processor of the computing device. However, at least some of the steps may be executed in hardware rather than by software.

[0058] 3A, a noise cancellation signal configured to cancel noise within a predetermined volume is received at step 302. For example, the noise cancellation signal may be configured to cancel noise within at least one cancellation zone within a vehicle cabin (as described in the example above in connection with FIG. 1). In another example, if the noise cancellation system is employed in a pair of noise canceling headphones, the noise cancellation signal may be configured to cancel a predefined volume of noise generated by the ear cups of the headphones positioned around a user's ears.

[0059] In step 304, an error signal representative of residual noise within the predefined volume is received. The error signal may be an error signal received from an error sensor, such as the error sensor 108 that generates the error sensor signal 120. Alternatively, the error signal may be received from any error sensor configured to detect residual (i.e., non-canceled) noise within the volume, such as an error signal from an error microphone located within a pair of noise-canceling headphones. Furthermore, more than one error signal may be received. For example, multiple error sensors may be located within the vehicle cabin. These error signals may be used individually (e.g., the method steps described below may be repeated for each received error signal), or the error signals may be combined in some manner to generate a composite error signal (which for purposes of this disclosure will still be considered an "error signal"). In one example, the error signals may be combined by averaging. However, it is contemplated that other methods of combining multiple error signals may be used. In another example, an error signal may be selected from the multiple error signals for a given iteration of the method 300. For example, a maximum power value for a given frequency may be selected from multiple error signals for a given execution of method 300, as described below.

[0060] In step 306, the power of the error signal at the first frequency that correlates with the noise-canceled signal is determined. As explained above, this is an efficient way of determining the error signal component, which is an estimate of the component of the error signal that correlates with the noise that is reduced by the noise-canceling system. The correlation can be achieved by any suitable method, such as inputting the error signal to a least mean square algorithm that uses the noise-canceled signal as a reference signal. To determine the power of the error signal component at the first frequency, the correlation signal can be input to a frequency transformation algorithm that provides the absolute value of the error signal component as a function of frequency. Any suitable frequency transformation algorithm can be used, such as a discrete Fourier transform, a fast Fourier transform, a discrete cosine transform, etc. Of course, using a frequency transformation algorithm such as those identified above will likely provide the power of the error signal component at more than one frequency, one of which can be selected as the "first frequency" (i.e., the frequency under test) for the remaining steps of method 300. It should be understood that the remaining frequencies (i.e., the frequencies not selected as the "first frequency") can be selected as the "first frequency" in a simultaneous or iterative loop of method 300. Stated differently, method 300 can be repeated for each frequency or for a subset of the frequencies identified from the frequency conversion algorithm. As mentioned above, if multiple error signals are received from multiple error sensors, the power of the error sensor component can be identified for each error signal, and the maximum power value at the first frequency can be selected as the power at the first frequency for purposes of the remaining steps of method 300.

[0061] In step 308, the power of the error signal component at the first frequency can be smoothed by filtering the power with a low pass filter. Mathematically, the power spectrum of the signal is determined according to the expected value of the frequency transformation of the signal. A practical way to determine the expected value is to use a low pass filter. This step typically assumes that at least one historical value of the power of the error signal component at the first frequency (i.e., the frequency from the previous sample) can be input to the low pass filter, since the filter smoothes the power of the error signal component with respect to the historical values ​​according to a mathematical function. In alternative examples, other smoothing techniques can be used to determine the expected value, such as using an exponential moving average over a set of buffered historical values. It should be understood that in various alternative examples, smoothing can be omitted and unsmoothed values ​​can be used in the following steps. The smoothed output of step 308 can be input to at least two separate methods of detecting divergence, which are represented as branches A and B in FIG. 3.

[0062] Referring first to branch A, in step 310, the time gradient of the power of the error signal component is determined. In other words, the time gradient is the change in the power of the error signal component (which may be a smoothed error signal component) from a previously calculated power of the error signal component.

[0063] In step 312, a metric based on the time gradient of the power of the error signal components over a period of time can be compared to a threshold. In one example, the metric can be determined according to sub-steps 314 and / or 316. In step 314, each time gradient is characterized by a value of -1, 0, or 1 according to whether the time gradient is positive, no change, or negative, respectively. Thus, step 314 ignores the magnitude of the change between successive samples, leaving only the direction of the time gradient. Thus, large changes are treated similarly to small changes. This further operates to smooth out power spikes due to rapid transitions in the error signal. In step 316, the characterized time gradient is smoothed with respect to at least one historical value using a low pass filter, the cutoff frequency of the low pass filter being selected according to the frequency of the "first frequency". For example, multiple low pass filters, each with a separate cutoff frequency, can be used for separate bands of frequency values. The low pass filter of the multiple filters used in step 316 can be determined according to the value of the first frequency. Smoothing the time gradient characterized with respect to the historical values ​​helps to mitigate power spikes at the first frequency that may be anomalous transitions rather than evidence of divergence, while still detecting spikes that persist for more than one sample.

[0064] The result of steps 314 and 316 is a metric whose value represents the trend of the time gradient over a period of time. If the value of the metric is greater than 0, the power of the error signal component at the first frequency is trending upward (i.e., generally increasing). On the other hand, if the value of the metric is less than 0, the power of the error signal component at the first frequency is trending downward (i.e., generally decreasing). The value of this metric can be compared to a threshold. Thus, when the power of the error signal component is trending upward over a period of time, the value of the metric exceeds the threshold, which represents a detected divergence.

[0065] It should be appreciated that in alternative examples, a different metric based on the value of the time gradient of the error sensor component over a period of time can be used. For example, rather than smoothing the characterized time gradient using a low pass filter, other smoothing methods such as an exponential moving average of the buffered history values ​​of the characterized time gradient can be used. However, monitoring trends at lower frequencies requires a larger buffer of values ​​to match the higher frequencies, which is memory intensive, so applying a low pass filter to the values ​​is more efficient. In another example, the time gradient does not need to be characterized by values ​​such as -1, 0, or 1. Instead, the magnitude of the time gradient can be directly smoothed. However, the inability to characterize the values ​​can make the divergence detector more susceptible to false positives due to sudden transitions in the power of the error signal component.

[0066] Turning now to branch B, a second method for detecting divergence is shown. As explained above, monitoring the time gradient in the manner described in connection with branch A may miss rapidly increasing divergences. The reason is that such divergences may rapidly saturate the adaptive filter and thus appear to be of constant power. However, such rapid divergences are likely to saturate the adaptive filter at some frequencies but not others. Branch B therefore monitors the relative power of a first frequency bin relative to the power of at least a second frequency bin to determine when the adaptive filter has rapidly diverged.

[0067] In step 318, the power of the error signal component at at least the second frequency is determined. This step would likely occur simultaneously with step 306 when the error signal component is input to the frequency conversion algorithm, but is included in FIG. 3D as a separate step for completeness and clarity. (It is contemplated, however, that values ​​of the power of the error signal component at the first frequency and the second frequency may be determined at separate times.)

[0068] In step 320, a second metric based on a comparison of the power of the error signal component at the first frequency to the power of the error signal component at the second frequency can be compared to a second threshold. The second metric can be provided by sub-steps 322 and / or 324 in one example. In step 322, the relative power of the error signal component at the first frequency relative to the error signal component at least at the second frequency is characterized by a value of 0 or 1 depending on whether the power of the error signal component at the first frequency exceeds the power of the error signal component at least at the second frequency by a threshold (e.g., 0.15). Thus, the relative power is characterized by 1 if the power of the error signal component at the first frequency exceeds the power of the error signal component at least at the second frequency by a value greater than the threshold, and by 0 if the power of the error signal component at the first frequency does not exceed the power of the error signal component at least at the second frequency.

[0069] Generally speaking, the "relative power" may be given by any suitable comparison of the power of the respective frequency bins. For example, the relative power may be given by the ratio of the power of the first frequency bin to the sum of the power of the first and second frequency bins, as follows:

[0070]

number

[0071] Here, p relative where p1 is the relative power between the first and second frequency bins, p2 is the power of the first frequency bin, and p3 is the power of the second frequency bin. Alternatively, the relative power may be given by a simple difference between the power of the first and second frequency bins.

[0072] The power of the error signal component at a first frequency can be compared in various ways to the power of the error signal component at two or more other frequency values. For example, the power of the error signal component at a first frequency can be compared individually to the error signal components at a plurality of other frequencies (e.g., adjacent frequency values ​​or a set of representative frequencies). If the power of the error signal component at a first frequency exceeds the power of the error signal component at any other compared frequency by a predefined threshold, the relative power is characterized as 1. Alternatively, the power at the plurality of frequency values ​​can be averaged or otherwise combined and compared to the power at the first frequency value. If the power at a first frequency exceeds the combined power of the plurality of other frequency values ​​by a predefined threshold, the relative power is characterized as 1 since the power at the first frequency necessarily exceeds the power at least at the second frequency.

[0073] Similar to step 316, in step 324, the characterized relative power of step 322 is smoothed with at least one historical value of the characterized relative power by a low pass filter, the cutoff frequency of the low pass filter being determined by the value of the first frequency. The net result of steps 322 and 324 is a second metric, the value of which represents a trend over time of the relative power between the error signal component at the first frequency and the error signal component at least at the second frequency. When the power of the error signal component at the first frequency repeatedly exceeds a threshold value over multiple samples, the value of the second metric rises above 0. The value of the second metric can be compared to a threshold value (e.g., 0.25) and represents the detected divergence when the threshold is exceeded.

[0074] It should be appreciated that in alternative examples, a different metric based on the relative power over a period of time can be used. For example, rather than smoothing the characterized relative power using a low pass filter, other smoothing methods can be used, such as an exponential moving average of buffered historical values ​​of the power of the error signal components. In another example, the relative power does not need to be characterized with a value such as 0 or 1. Instead, the relative power value can be directly smoothed and compared to a threshold. However, the inability to characterize the value again makes the divergence detector more likely to be susceptible to false positives due to rapid transitions in the power of the error signal components.

[0075] Additionally, to the extent steps 314 and 322 refer to characterizing values ​​with values ​​of -1, 0, or 1, or values ​​of 0 or 1, these are provided merely as example values ​​that may be used. Those of skill in the art, in conjunction with a review of this disclosure, will understand that other values ​​may be used while maintaining the same concepts of characterizing the time gradient or relative power.

[0076] Both branches A and B proceed to step 326 and initiate actions to correct the divergence detected by the previous branch. It should be understood that branches A and B are merely examples of methods for detecting divergence, and the mitigation actions described herein may be used in conjunction with other methods of detecting divergence. Indeed, in some examples, only one of branches A or B may be implemented. Alternatively, one of branches A or B may be used in conjunction with another method of detecting divergence. In yet other examples, a different method of detecting divergence may be used without using one of the methods described in branches A or B.

[0077] In step 326, when divergence is detected by either branch A or branch B (or from another method of detecting divergence), the coefficients of the adaptive filter that likely caused the detected divergence are transitioned to a second set of previously stored coefficients. In one example, the transition may occur over multiple samples so that the user is not aware of the transition. However, this is not required, and in one example, the transition may occur before the next sample is received. The previously stored coefficients may be a default set of coefficients and may be stored during operation of the adaptive filter prior to the divergence. For example, the coefficients may be stored for a predetermined or variable time interval during operation of the adaptive filter prior to the divergence. When divergence is detected, the most recently stored set of coefficients may be retrieved and transitioned to that set. In most cases of divergence, this will prevent the divergence from continuing and reset the coefficients to a stable, converged set of coefficients.

[0078] In addition to the transition to the previously stored set of coefficients, in step 328, the adaptation speed of the adaptive filter can be slowed down to reduce the risk of a second divergence that may occur if the condition that caused the first divergence is still valid. Indeed, in one example, the adaptation speed can be slowed down to the point where the adaptive filter becomes a fixed filter. However, in some cases, the detected divergence may be a false positive (i.e., not indicative of a true divergence). This may occur especially when tonal sounds are played through speakers in the vehicle. This often occurs, for example, when classical music, which often features tonal sounds, is played in the vehicle cabin. Such tonal sounds tend to excite some frequencies in the error signal, and thus divergence appears to have occurred for the method described in connection with branch B. To avoid unnecessarily slowing down the adaptation measure, the first frequency (where divergence was detected) can be monitored for a period of time after or during the transition to the second coefficient to see if the power at the first frequency decreases. If the power at the first frequency decreases after or during the transition to the second set of coefficients, it can be assumed that the divergence that occurred was a true divergence (i.e., not a false positive) and the adaptation speed can be slowed down. However, if the power at the first frequency does not decrease after or during the transition to the second set of coefficients, it can be assumed that the divergence was a false positive and the same adaptation speed can be maintained.

[0079] To determine whether the power of the first frequency (i.e., the frequency under test that triggered the divergence in this step) decreases after or during the transition, the time gradient of the first frequency can be monitored during or after the transition is completed. This is shown as sub-steps 332 and 334, and mirrors steps 310 and 312 described above. Generally speaking, a metric based on the value of the time gradient of the error signal component at the first frequency can be compared to a threshold to determine whether the power at this frequency is decreasing over time. The threshold, in this case, detects when the power of the first frequency is decreasing and thus the threshold is negative (e.g., -0.8) to detect when the smoothed characterized time gradient is trending downward. (However, it should be understood that a negative time gradient value can simply be converted to a positive value, e.g., by multiplying by -1, and thus compared to a positive threshold.) If the threshold is exceeded, it can be determined that the power has decreased after or during the transition and thus a true divergence has likely occurred, and the adaptation speed can be slowed down. However, if the threshold is not exceeded after a set period of time, it is likely a false positive and the same adaptation speed is maintained.

[0080] Step 330 of FIG. 3F represents an alternative to step 326 that is performed if divergence is detected within a predetermined time since storing the last set of previously stored coefficients. For example, if coefficients are stored at intervals during operation of the adaptive system, a timer can be set to determine the amount of time that has elapsed since the set of coefficients was stored. When divergence occurs, the timer can be compared to the predetermined amount of time. If divergence occurs within the predetermined time since the last set of coefficients was stored, it is likely that the last set of stored coefficients is corrupted. Thus, in step 330, the adaptive filter can be transitioned to a third set of coefficients. The third set of coefficients can be default coefficients or coefficients that were stored prior to storing the second set of coefficients and are likely to be stable and converged.

[0081] It will be appreciated that step 330 can be implemented in instances where step 326 restores the most recently stored set of coefficients. If step 326 instead restores a default set of coefficients, there is no need to check whether the stored coefficients are likely to be sufficiently stable.

[0082] The method of correcting divergence described above is just one example of such a method that can be used in conjunction with the methods of detecting divergence described in this disclosure. In various examples, corrective actions that can be taken in conjunction with or instead of the described corrective actions include turning off the adaptive system or targeting specific frequencies of the diverging adaptive filter by filtering those frequencies to reduce the gain of those frequencies, reducing the adaptive filter coefficients for those frequencies, or limiting the adaptation corresponding to those frequencies.

[0083] As explained above, the steps of method 300 can be repeated for multiple frequency values ​​(the value of the "first frequency" being changed at each iteration). Additionally, the steps of method 300 can be repeated over time as new samples are received from the error sensor to continually monitor divergence. Thus, method 300 acts as a loop that can detect divergence during operation of the adaptive filter.

[0084] The functionality or portions thereof and various modifications thereof (hereinafter "functionality") described herein may be implemented, at least in part, via a computer program product (e.g., a computer program tangibly embodied in an information carrier, such as one or more non-transitory machine-readable media or storage devices, for execution by or to control the operation of one or more data processing apparatus, e.g., a programmable processor, computer, multiple computers, and / or programmable logic components).

[0085] The computer program may be written in any form of programming language, including compiled or interpreted languages, and it may be arranged in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment. The computer program may be arranged to be executed on one computer or on multiple computers at one site, or may be distributed across multiple sites and interconnected by a network.

[0086] The operations associated with implementing all or a portion of the functionality may be performed by one or more programmable processors executing one or more computer programs to perform the functions of the calibration process. All or a portion of the functionality may be implemented as special purpose logic circuitry, such as an FPGA and / or an ASIC (Application Specific Integrated Circuit).

[0087] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory, a random access memory, or both. Elements of a computer include a processor for executing instructions and one or more memory devices for storing instructions and data.

[0088] While several embodiments of the invention have been described and illustrated herein, those skilled in the art will readily envision various other means and / or structures for performing the functions and / or obtaining the results and / or advantages of one or more of the advantages described herein, and each of such variations and / or modifications are deemed to be within the scope of the embodiments of the invention described herein. More generally, those skilled in the art will readily appreciate that all of the parameters, dimensions, materials, and configurations described herein are exemplary, and that the actual parameters, dimensions, materials, and / or configurations will depend on the specific application or applications for which the teachings of the invention are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific embodiments of the invention described herein. Thus, it should be understood that the foregoing embodiments have been presented by way of example only, and that, within the scope of the appended claims and their equivalents, embodiments of the invention may be practiced otherwise than as specifically described and claimed. The inventive embodiments of the present disclosure relate to each individual feature, system, article, material, and / or method described herein. Furthermore, any combination of two or more such features, systems, articles, materials and / or methods, if such features, systems, articles, materials and / or methods are not mutually inconsistent, is included within the inventive scope of the present disclosure. [Explanation of symbols]

[0089] 108 Error Sensor 110 Actuator 112 Controller 114 Noise Signal 120 Error sensor signal 126 W adapt filter 128 Adaptive Processing Module

Claims

1. A non-transitory storage medium storing program code for detecting divergence or instability in a noise cancellation system, the program code being executed by a processor, determining a power of a component of an error signal at a first frequency, said component being correlated with a noise cancellation signal, said noise cancellation signal being configured to cancel noise in a predetermined volume when generated by an adaptive filter and converted to an acoustic signal, said error signal being indicative of a magnitude of residual noise in said predetermined volume; determining a time gradient of the power of the component of the error signal; comparing a metric to a threshold, the metric having a value representing whether the time gradient of the power of the component of the error signal over a period of time is positive, unchanged, or negative; and transitioning a first set of coefficients of the adaptive filter to a second set of coefficients of the adaptive filter upon determining that the metric exceeds the threshold.

2. 2. The non-transitory storage medium of claim 1, wherein the program code further comprises slowing down an adaptation rate of the adaptive filter if the power of a correlated component begins to decrease as a result of transitioning the first set of coefficients to the second set of coefficients.

3. 2. The non-transitory storage medium of claim 1 , wherein the program code further comprises transitioning to a third set of coefficients for the adaptive filter when the program code determines that the metric exceeds the threshold within a second period of time for storing a second set of coefficients.

4. A non-transitory storage medium storing program code for detecting divergence or instability in a noise cancellation system, the program code being executed by a processor, determining a power of a component of an error signal at a first frequency, said component being correlated with a noise cancellation signal, said noise cancellation signal being configured to cancel noise in a predetermined volume when generated by an adaptive filter and converted to an acoustic signal, said error signal being indicative of a magnitude of residual noise in said predetermined volume; determining a time gradient of the power of the component of the error signal; comparing a metric to a threshold, the metric having a value representing whether the time gradient of the power of the component of the error signal over a period of time is positive, unchanged, or negative; The non-transitory storage medium, wherein the metric is a filtered representation of the time gradient over the period of time, the representation of the time gradient being filtered using a low pass filter.

5. The non-transitory storage medium of claim 4 , wherein a cutoff frequency of the low pass filter is selected according to the first frequency.

6. A non-transitory storage medium storing program code for detecting divergence or instability in a noise cancellation system, the program code being executed by a processor, the non-transitory storage medium comprising: determining a power of a component of an error signal at a first frequency, said component being correlated with a noise cancellation signal, said noise cancellation signal being configured to cancel noise in a predetermined volume when generated by an adaptive filter and converted to an acoustic signal, said error signal being indicative of a magnitude of residual noise in said predetermined volume; determining a time gradient of the power of the component of the error signal; comparing a metric to a threshold, the metric having a value representing whether the time gradient of the power of the component of the error signal over a period of time is positive, unchanged, or negative; comparing a second metric to a second threshold, the second metric being based on a comparison of the power of the component of the error signal at the first frequency to the power of the component of the error signal at at least a second frequency.

7. 7. The non-transitory storage medium of claim 6, wherein the program code further comprises transitioning a first set of coefficients of the adaptive filter to a second set of coefficients of the adaptive filter when the program code determines that the metric exceeds the threshold or the second metric exceeds the second threshold.

8. 8. The non-transitory storage medium of claim 7, wherein the program code further comprises slowing down an adaptation rate of the adaptive filter if the power of a correlated component begins to decrease as a result of transitioning the first set of coefficients to the second set of coefficients.

9. 7. The non-transitory storage medium of claim 6, wherein the second metric is a filtered representation of a relative power of the component of the error signal at the first frequency and the component of the error signal at the second frequency, the representation of the relative power being filtered with a low pass filter.

10. A method for detecting divergence in a noise cancellation system, comprising: determining a power of a component of an error signal at a first frequency, said component being correlated with a noise cancellation signal, said noise cancellation signal being generated by an adaptive filter and configured to cancel noise in a predetermined volume when converted to an acoustic signal, said error signal being indicative of a magnitude of residual noise in said predetermined volume; determining a time gradient of the power of the component of the error signal; comparing a metric to a threshold, the metric having a value representing whether the time gradient of the power of the component of the error signal over a period of time is positive, unchanged, or negative; transitioning a first set of coefficients of the adaptive filter to a second set of coefficients of the adaptive filter upon determining that the metric exceeds the threshold.

11. 11. The method of claim 10, further comprising the step of slowing down an adaptation rate of the adaptive filter if a power of a correlated component begins to decrease as a result of transitioning the first set of coefficients to the second set of coefficients.

12. 11. The method of claim 10, further comprising transitioning to a third set of coefficients for the adaptive filter upon determining that the metric exceeds the threshold within a second period of time for storing a second set of coefficients.

13. A method for detecting divergence in a noise cancellation system, comprising: determining a power of a component of an error signal at a first frequency, said component being correlated with a noise cancellation signal, said noise cancellation signal being generated by an adaptive filter and configured to cancel noise in a predetermined volume when converted to an acoustic signal, said error signal being indicative of a magnitude of residual noise in said predetermined volume; determining a time gradient of the power of the component of the error signal; comparing a metric to a threshold, the metric having a value representing whether the time gradient of the power of the component of the error signal over a period of time is positive, unchanged, or negative; A method wherein the metric is a filtered representation of the time gradient over the period of time, the representation of the time gradient being filtered with a low pass filter.

14. The method of claim 13 , wherein a cutoff frequency of the low pass filter is selected in response to the first frequency.

15. A method for detecting divergence in a noise cancellation system, comprising: determining a power of a component of an error signal at a first frequency, said component being correlated with a noise cancellation signal, said noise cancellation signal being generated by an adaptive filter and configured to cancel noise in a predetermined volume when converted to an acoustic signal, said error signal being indicative of a magnitude of residual noise in said predetermined volume; determining a time gradient of the power of the component of the error signal; comparing a metric to a threshold, the metric having a value representing whether the time gradient of the power of the component of the error signal over a period of time is positive, unchanged, or negative; comparing a second metric to a second threshold, the second metric being based on a comparison of the power of the component of the error signal at the first frequency to the power of the component of the error signal at at least a second frequency.

16. 16. The method of claim 15, further comprising transitioning a first set of coefficients of the adaptive filter to a second set of coefficients of the adaptive filter upon determining that the metric exceeds the threshold or the second metric exceeds the second threshold.

17. 17. The method of claim 16, further comprising the step of slowing down an adaptation rate of the adaptive filter if the power of a correlated component begins to decrease as a result of transitioning the first set of coefficients to the second set of coefficients.

18. 16. The method of claim 15, wherein the second metric is a filtered representation of the relative power of the component of the error signal at the first frequency and the component of the error signal at the second frequency, the representation of the relative power being filtered using a low pass filter.

Citation Information

Patent Citations

  • Passive noise eliminating device

    JP2002311960A

  • Adaptive modelling of secondary paths in active noise control systems.

    JP2019511878A

  • Systems and methods for detecting divergence in an adaptive system

    US10586524B1