Noise reduction signal saturation control
The noise removal system addresses the challenge of command signal saturation by using an amplifier with a scaling gain mechanism to apply a linear reduction to the denoising signal when it exceeds a threshold, ensuring effective noise removal without saturation.
Patent Information
- Application Number
- JP2021558815
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-04-01
- Filing Date
- 2020-03-31
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2040-03-31
AI Technical Summary
Existing noise removal systems face challenges in controlling the saturation of command signals, leading to potential non-linearity and degradation of noise removal performance.
The implementation of a noise removal system that includes a denoising filter and an amplifier with a scaling gain mechanism. The amplifier applies a first scaling gain less than unity to the denoising signal when it exceeds a threshold, ensuring linear reduction and preventing saturation.
This approach effectively suppresses the output level of command signals, preventing saturation and maintaining the linearity of the noise removal process, thereby enhancing the overall performance of the noise removal system.
Smart Images

Figure 0007674259000010 
Figure 0007674259000011 
Figure 0007674259000012
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Patent Application No. 62 / 827,503, entitled “Command Signal Saturation Control,” filed April 1, 2019, which is incorporated by reference in its entirety. [Background technology]
[0002] The present disclosure generally relates to a system for controlling saturation of a noise reduction signal. Summary of the Invention [Means for solving the problem]
[0003] All embodiments and features mentioned below can be combined in any manner that is technically possible.
[0004] According to one aspect, a noise reduction system includes a noise reduction filter in communication with at least one speaker, the noise reduction filter generating a noise reduction signal when activated by the at least one speaker that removes noise in at least one reduction zone, and an amplifier disposed between the noise reduction filter and the speaker, the amplifier applying a first scaling gain to the noise reduction signal and outputting a scaled noise reduction signal, where when the first scaling gain is less than unity, the scaled noise reduction signal is a linear reduction of the noise reduction signal, and where the first scaling gain is set to less than unity in response to a signal representing the noise reduction signal exceeding a threshold.
[0005] In one embodiment, the signal representative of the denoised signal is the denoised signal.
[0006] In one embodiment, the signal representing the denoised signal is the denoised signal scaled to the previous sample.
[0007] In one embodiment, the first scaling gain is determined, at least in part, according to the amount by which the signal representing the denoised signal exceeds a threshold.
[0008] In one embodiment, the amplifier applies a second scaling gain during the next sample, the second scaling gain being determined at least in part according to the predetermined ramp-up time and according to the value of the first scaling gain, the second scaling gain having a higher value than the first scaling gain.
[0009] In one embodiment, the amplifier applies a second scaling gain during the next sample, the second scaling gain being determined at least in part according to the value of the counter and according to the value of the first scaling gain.
[0010] In one embodiment, the counter is incremented for each sample the denoising signal exceeds the threshold and decremented for each sample the denoising signal does not exceed the threshold, and a difference between the value of the second scaling gain and the value of the first scaling gain is inversely proportional to the value of the counter.
[0011] In one embodiment, the amplifier applies a second scaling gain during the next sample, where the second scaling gain is set equal to the first scaling gain summed with a predetermined value.
[0012] In one embodiment, the adaptation of the denoising filter is frozen during each sample during which the amplifier applies a gain less than approximately unity.
[0013] In one embodiment, the coefficients of the denoising filter are shifted towards a target set of coefficients during the next sample.
[0014] According to another aspect, a non-transitory storage medium comprises program code that, when executed by a processor, includes generating, by a noise reduction filter, a noise reduction signal that, when activated by at least one speaker, removes noise in at least one reduction zone; setting a first scaling gain of an amplifier disposed between the noise reduction filter and the speaker to less than unity in response to a signal representing the noise reduction signal exceeding a threshold; and applying, by the amplifier, the first scaling gain to the noise reduction signal such that the scaled noise reduction signal is a linear reduction of the noise reduction signal.
[0015] In one embodiment, the signal representative of the denoised signal is the denoised signal.
[0016] In one embodiment, the signal representing the denoised signal is the denoised signal scaled to the previous sample.
[0017] In one embodiment, the first scaling gain is determined, at least in part, according to the amount by which the signal representing the denoised signal exceeds a threshold.
[0018] In one embodiment, the non-transitory storage medium further stores program code that, when executed by the processor, performs the steps of setting the amplifier to a second scaling gain, where the second scaling gain is determined at least in part according to a predetermined ramp-up time and according to a value of the first scaling gain, the second scaling gain having a higher value than the first scaling gain, and applying the second scaling gain during a next sample.
[0019] In one embodiment, the non-transitory storage medium further stores program code that, when executed by the processor, performs the steps of setting the amplifier to a second scaling gain, where the second scaling gain is determined at least in part according to the value of the counter and according to the value of the first scaling gain, and applying the second scaling gain during a next sample.
[0020] In one embodiment, the counter is incremented for each sample the denoising signal exceeds the threshold and decremented for each sample the denoising signal does not exceed the threshold, and a difference between the value of the second scaling gain and the value of the first scaling gain is inversely proportional to the value of the counter.
[0021] In one embodiment, the non-transitory storage medium further stores program code that, when executed by the processor, performs the steps of setting the amplifier to a second scaling gain, the second scaling gain equal to the first scaling gain summed with a predetermined value, and applying the second scaling gain during a next sample.
[0022] In one embodiment, the adaptation of the denoising filter is frozen during each sample during which the amplifier applies a gain less than approximately unity.
[0023] In one embodiment, the non-transitory storage medium further stores program code that, when executed by the processor, performs the steps of shifting coefficients of the denoising filter towards a target set of coefficients during a next sample.
[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. [Brief description of the drawings]
[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. [Figure 1] 4 illustrates a block diagram of the operation of a limiter, according to one embodiment. [Diagram 2] 1 illustrates a vehicle-implemented noise reduction system according to one embodiment. [Diagram 3] 1 illustrates a block diagram of a noise reduction system with saturation control, according to one embodiment. [Figure 4] 4 illustrates a block diagram of a saturation control module according to one embodiment. [Figure 5A] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 5B] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 5C] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 5D] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 5E] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 5F] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 6] 4 illustrates a block diagram of the operation of a saturation control module, according to one embodiment. [Figure 7] 4 illustrates a block diagram of a saturation control module according to one embodiment. [Figure 8A] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 8B] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 8C] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 8D]1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 9A] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 9B] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. [Figure 9C] 1 illustrates a flowchart of a method for saturation control, according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0026] In typical adaptive algorithm filter implementations, such as for noise control systems that function to generate anti-noise signals, there is no inherent constraint on the level of the output signal (e.g., the anti-noise signal). As a result, in order to minimize the error signal (e.g., the resulting noise detected, e.g., in a controlled zone, after application of the anti-noise signal), the system may end up commanding a very large signal from a transducer, such as a loudspeaker.
[0027] An excessively large command signal (alternatively referred to in this disclosure as a noise canceling or anti-noise signal) may result for a variety of reasons. For example, divergence of the adaptive algorithm may lead to an uncontrollable output, errors in the secondary path estimation may cause the adaptive algorithm to command a large signal to compensate for the error, and / or a large reference signal may result in a large output signal even when the control coefficients are well behaved. In various embodiments, there may be additional or other causes of a saturated (e.g., large amplitude) command signal.
[0028] Controlling the saturation of such command signals may be necessary to constrain an output level, such as an anti-noise signal level (e.g., in a noise reduction system such as a road noise reduction system), and in various embodiments may adjust adaptive filter coefficients accordingly.
[0029] Attempts to limit the command signal with a limiter may result in nonlinearities in the command signal that degrade or impair the performance of the noise reduction system, and may add noise to the system. One example of such nonlinearities can be seen in FIG. 1. As shown, a sine wave signal is input to limiter 100. The amplitude of the input sine wave signal is greater than a threshold applied by limiter 100. Thus, limiter 100 outputs a sine wave with the peaks of each half period clipped in a nonlinear manner. Such limiters, placed at the output of the noise reduction filter and which, while useful for preventing saturation, produce these undesirable nonlinearities.
[0030] While the inventive aspects described herein may be implemented in connection with any noise reduction system, a vehicle-implemented noise reduction system for removing road noise will be briefly described for illustrative purposes in connection with FIGS. 2-3. FIG. 2 is a schematic diagram of an exemplary noise reduction system 200. The noise reduction system 200 may be configured to destructively interfere with undesirable sounds within at least one reduction zone 202 within a predefined volume 204, such as the vehicle cabin. At a high level, one embodiment of the noise reduction system 200 may include a reference sensor 206, an error sensor 208, an actuator 210, and a controller 212.
[0031] In one embodiment, the reference sensor 206 is configured to generate a noise signal 214 representative of an undesirable sound, or a source of undesirable sound, within the predefined volume 204. For example, as shown in Figure 2, the reference sensor 206 can be one or more accelerometers mounted and configured to detect vibrations transmitted through the vehicle structure 216. Since the vibrations transmitted through the vehicle structure 216 are converted by the structure into undesirable sound within the vehicle cabin (perceived as road noise), the accelerometers mounted on the structure provide a signal representative of the undesirable sound.
[0032] The actuators 210 can be, for example, speakers distributed at discrete locations around the perimeter of a 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 an alternative embodiment, the speakers can be located within a headrest or elsewhere in the vehicle cabin.
[0033] The noise reduction signal 218 may be generated by the controller 212 and provided to one or more speakers within the predefined volume, which convert the noise reduction signal 218 into acoustic energy (i.e., sound waves). The acoustic energy generated as a result of the noise reduction signal 218 is approximately 180° out of phase with the undesired sounds within the elimination zone 202 and therefore destructively interferes with the undesired sounds. The combination of the sound waves generated from the noise reduction signal 218 and the undesired sounds within the predefined volume results in the elimination of the noise as perceived by a listener within the elimination zone.
[0034] Because noise reduction may not be equal throughout a predefined volume, the noise reduction system 200 is configured to produce maximum noise reduction within one or more predefined reduction zones 202 having a predefined volume. The noise reduction within the reduction zones may achieve a reduction in undesirable sounds of about 3 dB or more (although in various embodiments, different amounts of noise reduction may occur). Additionally, the noise reduction may remove sounds in a frequency range, such as frequencies below about 350 Hz (although other ranges are possible).
[0035] An error sensor 208 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 218 and undesirable sounds within the cancellation zone. The error sensor signal 220 is provided as feedback to the controller 212, the error sensor signal 220 being representative of the residual noise not cancelled by the noise cancellation signal. The error sensor 208 can be, for example, at least one microphone mounted within the vehicle interior (e.g., on the roof, headrest, pillar, or other location within the interior).
[0036] It should be noted that the elimination zone may be located remotely from the error sensor 108. In this case, the error sensor signal 220 may be filtered and represent an estimate of the residual noise in the elimination zone, which may be viewed as a projection of the error signal 220, e.g., projecting the error sensor 208 onto the elimination zone, as if the error sensor 208 were located within the elimination zone. In either case, the error signal is understood to represent the unwanted residual noise in the elimination zone.
[0037] In one embodiment, the controller 212 can include a non-transitory storage medium 222 and a processor 224. In one embodiment, the non-transitory storage medium 222 can store program code that, when executed by the processor 124, implements various filters and algorithms described below. The controller 212 can be implemented in hardware and / or software. For example, the controller can be implemented by a SHARC (super harvard architecture single-chip computer) floating point DSP (digital signal processing) processor, although it should be understood that the controller 212 can be implemented by any other processor, field programmable gate array (FPGA), application specific integrated circuit (ASIC), or other suitable hardware.
[0038] 3, a block diagram of one embodiment of a noise reduction system 100 is shown that includes multiple filters implemented by a controller 212. As shown, the controller adapt A control system may be defined that includes a filter 226 and an adaptive processing module 228 as well as a saturation control module 232 .
[0039] W adapt The filter 226 is configured to receive the noise signal 214 of the reference sensor 206 and generate a noise-reduced signal 218. The noise-reduced signal 218 is input to the actuator 210 and converted into a noise-reduced audio signal that destructively interferes with the undesired sounds within the predefined reduction zone 202, as described above. adaptThe filter 226 may be implemented as any suitable linear filter, such as a multi-input multi-output (MIMO) finite impulse response (FIR) filter. adapt The filter 226 uses a set of coefficients that define the noise cancellation signal 218 and can be adjusted to accommodate changes in the behavior of the vehicle responsiveness to load 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 220 and the noise signal 214 and uses those inputs to generate a filter update signal 230. The filter update signal 230 is adapt The updated W adapt The noise cancellation signal 218 produced by the filter 226 minimizes the error sensor signal 220, thereby minimizing undesirable sounds within the cancellation zone.
[0041] W at step n adapt The coefficients of the filter 226 may be updated according to the following equation:
number
number
number
number
[0042] 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).
[0043] The denoising system 200 further includes a saturation control module 232 configured to linearly scale the denoising signal or move the coefficients of the denoising filter to known values in response to the signal representative of the denoising signal exceeding a threshold. Various embodiments of the saturation control module 232 are discussed in relation to Figures 4-9.
[0044] Again, the noise reduction system 200 of Figures 2 and 3 is provided as merely one example of such a system. This system, variations of this system, and other suitable noise reduction systems may be used within the scope of this disclosure. For example, while the system of Figures 2-3 has been described with reference to a least mean square (LMS) filter, other embodiments may implement different types of filters, such as implementations of recursive least squares (RLS) filters. Additionally, while a noise reduction system has been described as implemented in a vehicle to remove road noise, any suitable noise reduction system may be used.
[0045] At a high level, the saturation control module 232 includes an amplifier that applies a scaling gain of less than one to the de-noised signal in response to the signal representing the de-noised signal exceeding a threshold. If the scaling gain is less than one, the amplifier outputs a scaled de-noised signal that is a linearly reduced version of the de-noised signal. This linearly reduced de-noised signal output from the amplifier is set so as not to saturate the speaker and not to introduce undesirable non-linearities.
[0046] In some embodiments, the value of the scaling gain is determined according to the amount by which the signal representative of the de-noised signal exceeds the threshold. In other embodiments, the scaling gain can be set to a predetermined value according to the signal representative of the de-noised signal exceeding the threshold. The signal representative of the de-noised signal from which the amplitude of the de-noised signal can be ascertained is any signal including the de-noised signal itself. In other embodiments, the signal representative of the de-noised signal is the scaled de-noised signal output from the amplifier. The scaling gain can be set according to the signal representative of the de-noised signal exceeding the threshold during a previous sample.
[0047] References to samples in this disclosure refer to denoising signal samples (i.e., output samples of the denoising filter) and are therefore used to define the units of time over which the saturation control module 232 or the denoising filter operates.
[0048] After the amplifier applies a scaling gain less than unity, the saturation control module 232 can be further configured to ramp up the scaling gain over one or more of the following samples (until the scaling gain is unity again) to avoid a rapid and noticeable change in the power of the noise-reduced signal transduced by the speaker. This can occur over a predetermined period of time, or over a variable period of time determined by the frequency at which the signal representing the noise-reduced signal exceeds the threshold. (Frequent exceeding of the threshold indicates an error in the divergence factor or secondary path, or indicates operating in a state that causes the reference sensor to report a large value, and therefore the scaling gain should be ramped up more slowly to avoid exceeding the threshold multiple times in a short period of time.) In another embodiment, a predetermined increase can be added to the scaling gain for each sample as the signal representing the noise-reduced signal exceeds the threshold until the scaling gain is unity again.
[0049] The saturation control module 232 may be implemented by a controller (e.g., the controller 212). The controller includes a processor and a non-transitory storage medium comprising program code that, when executed by the processor, performs the functions of the saturation control module 232. In alternative embodiments, the saturation control module may be implemented as hardware or a combination of hardware, firmware, and / or software. The functions of the saturation control module 232, whether programmatically or otherwise implemented, are described in more detail in conjunction with the flow charts of FIGS. 5, 8, and 9.
[0050] 4 shows a first embodiment of the saturation command module 232. The amplifier 400 receives the denoised signal and applies (and therefore outputs) a scaling gain G when the scaling gain G is less than unity, i.e., less than a scaled denoised signal, which is a linearly scaled version of the denoised signal. The embodiment of FIG. 4 further includes a limiter 402 at the output 400 of the amplifier to receive the scaled denoised signal. In this embodiment, a signal representative of the denoised signal is the scaled denoised signal output from the amplifier 400 and received at the limiter 402. In case the threshold of the limiter 402 is reached for a given sample, the scaling gain of the amplifier 400 (previously set to 1) is set by the gain adjustment module 404 for the next sample according to the amount by which the scaled denoised signal has exceeded the threshold of the limiter 402. Thus, while limiter 402 may introduce nonlinearity for the first sample, the scaling gain of amplifier 400 linearly reduces the scaled denoised signal to prevent future samples from similarly reaching the threshold of limiter 402. (As noted above, it should be understood that the saturation control module, including the amplifier and limiter, operates on digital signals and may be programmatically implemented in software or firmware.)
[0051] Referring to FIG. 5A, a flow chart of steps for implementing the topology of the saturation control module 232 depicted in FIG. 4 is shown. In step 502, a de-noised signal sample is received at the amplifier 400, and in step 504, a previously calculated scaling gain is applied to the de-noised signal sample. At initialization of the de-noising system, the previously calculated scaling gain is set to unity. Alternatively, the previously calculated scaling gain is a scaling gain calculated in response to a previous sample. As noted above, if the scaling gain is less than one, the output scaled de-noised signal is a linearly scaled version of the de-noised signal. (If the scaling is equal to one, the scaled de-noised signal is comparable to the de-noised signal since the amplifier acts as a buffer.)
[0052] Referring to FIG. 5B, in step 506, the scaled denoised signal sample is compared to the limiter 402 threshold. If the limiter threshold is met, in step 508, the scaled denoised signal is limited by the limiter 402. FIG. 5D illustrates an exemplary operation of the limiter 402. In step 522, the scaled denoised signal is compared to the limiter 402 maximum threshold. If the scaled denoised signal does not exceed the maximum threshold, in step 524, the scaled denoised signal is interpolated from a quadratic curve. If the scaled denoised signal exceeds the maximum threshold, the signal is clipped to the maximum threshold. Note that the flowchart of FIG. 5D assumes that the signal has already been compared to the limiter threshold (in step 506). However, generally speaking, the limiter also performs step 506. The operation of the limiter is generally understood and will not be described further.
[0053] Returning to FIG. 5B, in step 510, a new scaling gain to be applied to the next sample is calculated by the gain adjustment module 404. The new scaling gain may be calculated according to the amount by which the scaled denoised signal exceeds the limiter threshold. However, this requires calculating the gain in the context of the scaling gain previously applied by the amplifier 400. In other words, the amount by which the amplifier output has already exceeded the limiter threshold is similar to the previously calculated scaling that has also already been applied. Thus, the new scaling gain may be calculated as the product of the scaling gains calculated according to the amount by which the scaled denoised signal exceeded the threshold and the previously calculated scaling gain. For example, if the new scaling gain is determined to be 0.8 based on the amplifier output, and the previously calculated scaling gain is 0.9, the scaling gain is calculated to be 0.72.
[0054] Alternatively, the new scaling gain can be calculated as a combination of the gains applied by the adjustments of the amplifier 400 and the limiter 402. Stated another way, the new gain can be calculated as the ratio of the limiter output to the de-noising signal. This can be thought of as the total gain applied by the saturation control module 232. The total gain applied by the saturation control module is based at least in part on the amount by which the scaled de-noising signal exceeds the limiter threshold, as that amount dictates the limiter adjustments that are taken into account in the calculation.
[0055] Any sample where the limiter threshold is met requires the denoising filter adaptation to be frozen. This is shown, for example, as step 512 in FIG. 5B. The denoising filter is frozen to avoid any non-linear speaker signal results being used to update the denoising filter. Similarly, if the amplifier 400 applies a gain less than one, the denoising filter must be frozen, otherwise the denoising filter will erroneously interpret an increased error signal as indicating a need to increase the magnitude of the denoising signal. This is represented in FIG. 5C, which includes decision block 514, providing two paths depending on whether the amplifier 400 has applied a gain less than approximately unity. (Approximate unity refers to a range of possible values where the denoising filter operates within acceptable boundaries. For purposes of this disclosure, approximately unity refers to any scaling gain of 0.95 or greater.)
[0056] If the previously calculated scaling gain is less than approximately unity, the scaling gain for the next sample (i.e., the new scaling gain) is calculated according to a predefined ramp-up time and the previously calculated scaling gain. This ramp-up time is designed to ensure that the saturation control module 232 does not apply unity gain to the next sample once a scaling gain less than unity has been applied to the denoised signal. If some condition were to start at the time unity gain is applied to the next sample causing saturation of the command signal, this would likely result in repeated application of unity gain and scaling until the condition causing saturation is resolved. Such a sudden change in gain would be unpleasant and confusing to the user.
[0057] Thus, the ramp-up time incrementally increases the gain from a previously calculated gain to unity over a number of samples. The size of the incremental change depends in part on the difference between the previously calculated gain and unity. If the previously calculated gain is far from unity (e.g., 0.5), then a larger step per sample is required to ramp the gain toward unity in a given ramp-up period. In contrast, if the previously calculated gain is closer to unity (e.g., 0.89), then a smaller increment is required to ramp the previously calculated gain toward unity in the same period. A ramp-up time that covers only a single sample would defeat the purpose of a ramp-up time, so the ramp-up time covers at least two samples.
[0058] Referring to another aspect of the decision block initiated by step 514, if the previously calculated gain is greater than about unity, the denoising filter is updated. After completion of either step 516 or 520, a new sample is received from the denoising filter in step 502 and the process repeats. Thus, method 500 operates as a loop, repeating for each new sample of the denoising filter.
[0059] The predetermined ramp-up time described in connection with step 518 represents one way of ramping up the signal after application of a scaling gain less than unity. The predetermined ramp-up time, as described above, results in an abrupt change when the scaling gain is away from unity. This is not always desirable since small scaling gains (i.e., those further from unity) typically represent some disturbance (e.g., divergence coefficient) of the noise reduction system and often cause further disturbances. Thus, when the gain of the amplifier is scaled by a small amount, it is often more desirable to take longer to ramp up the scaling gain. One way to do that is to add a predetermined increment to the scaling gain every subsequent sample. For example, an amount of 0.2 can be added to the previously determined scaling gain after application of a scaling gain less than approximately unity every sample. Thus, when the scaling gain is further from unity, it will take longer to ramp up to unity than when the scaling gain is closer to unity.
[0060] In another embodiment, the ramp-up time can itself vary depending on factors such as the number of saturated samples. This embodiment is shown in Figures 5E-5F. Figures 5E-5F broadly follow the steps of Figures 5A-5D, and are therefore described only where they differ from Figures 5A-5D. As shown in Figures 5E-5F, a counter is started and incremented (step 528) each time the threshold is met and decremented (step 530) each time the threshold is not met (these steps are shown in dashed lines to represent the addition to the embodiment shown in Figures 5A-5D). Once the new scaling gain is calculated in step 518', the ramp-up time is determined according to the counter value. A higher counter value means that more samples have exceeded the threshold, and therefore the saturation control 232 must ramp up more slowly. In contrast, a lower counter value results in a shorter ramp-up time, since fewer samples have exceeded the threshold.
[0061] In an alternative embodiment, a counter can determine whether the magnitude of the new scaling is increased or decreased relative to the previously calculated scaling gain. For example, the counter can determine the length of the ramp-up time as described above, but if the counter exceeds a threshold, the new scaling gain can be set to a lower value than the previously calculated scaling gain. This can be done preventatively and repeatedly for a short period of time as a result of the signal representing the denoised signal exceeding the threshold.
[0062] When applying a longer ramp-up time, the increment applied to the previously calculated scaling gain is less than the increment applied to the previously calculated scaling gain when applying a shorter ramp-up time. Thus, for each sample, the difference between the previously calculated scaling gain and the newly calculated scaling gain is inversely proportional to the value of the counter, with the largest increment being applied when the value of the counter is held at zero. Although the counter is a useful method for determining the frequency at which the amplifier output crosses the threshold, any other suitable method can be used.
[0063] Enforcing the ramp-up time may require the use of a counter or flag to represent how the saturation control module 232 is ramping up. For example, to return to unity within a given ramp-up time, a particular sized increment must be added for each sample. Thus, for the sample for which the ramp-up time is calculated, the increment size can be stored in memory, and a flag can be set indicating that the stored increment size will be used until unity gain is restored (or the limiter threshold is met again and the ramp-up is reset). This can alternatively be accomplished by a counter that counts a determined number of samples.
[0064] FIG. 6 illustrates a simplified example of the operation of the saturation control module 232 of FIG. 4. Thus, during the first half cycle, the gain of the amplifier 400 is set to 1 (i.e., unity gain), but the amplitude of the input signal exceeds the limiter threshold and is therefore clipped at the output. This is shown in the output as a flat peak in the first half cycle. The scaling gain of the amplifier is then set according to the amount by which the input signal exceeded the threshold. Thus, the output signal is linearly scaled after the first half cycle. However, since the output signal is linearly scaled, it is not clipped by the limiter and there is no nonlinearity in the signal. Thus, although the noise reduction signal is scaled, the speaker outputs a lower amplitude noise reduction signal, which still removes noise in the vehicle cabin (or in any situation in which a noise reduction system is deployed), but does not add noise to the cabin due to nonlinearity. FIG. 6 does not illustrate ramping the gain of the amplifier 400 over time after the signal exceeds the limiter threshold.
[0065] 7 illustrates an alternative embodiment of the saturation control module 232. In this embodiment, rather than using the scaled de-noising signal as a signal representative of the de-noising signal, the de-noising signal itself (i.e., the output of the de-noising filter) is used. Thus, in addition to an amplifier 700, the saturation control module 232' includes a threshold detection module 702 that compares the de-noising signal to a threshold. If the de-noising signal exceeds the threshold, the gain of the de-noising signal is set according to the amount of the de-noising signal that exceeds the threshold.
[0066] 8A-8D show a flow chart of a method illustrating the operation of the topology shown in FIG. 7. In step 802, a denoising signal is received from the denoising filter. In step 804, this is compared to a predefined threshold by threshold detection 702. Typically, this threshold is set below a value that would cause the denoising signal to saturate. If the denoising signal exceeds the threshold, the scaling amplifier gain 700 is adjusted according to the amount by which the denoising signal exceeds the threshold. As a result, the denoising signal is linearly scaled to a value that will not saturate.
[0067] This can be shown by the following:
number
number
[0068] At step 808, for each sample, adaptation of the denoising filter is frozen in response to the amplifier 700 applying a gain less than unity. As explained above, this prevents the denoising system from treating as valid any error signal resulting from the scaled denoised signal.
[0069] If a previously applied scaling gain (e.g., the gain applied by amplifier 500 to the immediately preceding denoised signal sample) is less than about unity, then the scaling gain of amplifier 700 is set according to a predefined ramp-up time and the previously applied scaling gain. As discussed in connection with FIG. 5C, this ramp-up time is designed to ensure that once a scaling gain less than unity has been applied to the denoised signal, the saturation control module 232' does not immediately apply unity gain to the next sample.
[0070] After the ramp-up time, the scaling gain of the amplifier is increased incrementally from the previously calculated gain to unity over several samples. The size of the incremental change depends in part on the difference between the previously calculated gain and unity. If the previously calculated gain is far from unity (e.g., 0.5), a larger step per sample is required to ramp the gain toward unity in a given ramp-up period. In contrast, if the previously calculated gain is closer to unity (e.g., 0.89), a smaller increment is required to ramp the previously calculated gain toward unity in the same period. The ramp-up time covers at least two samples, since a single sample ramp-up time (designed to extend the ramping process to unity over multiple samples) would defeat the purpose of the ramp-up time.
[0071] At step 816, the adaptation of the denoising filter is frozen since the scaling gain of the amplifier 700 is set to less than unity.
[0072] Referring to another aspect of the decision block initiated by step 812, if the previously calculated gain is greater than about unity, the denoising filter is updated. After completion of either step 812 or 816, a new sample is received from the denoising filter in step 802 and the process repeats. Thus, method 800 operates as a loop, repeating for each new sample of the denoising filter.
[0073] As with the embodiment of FIG. 5, the predetermined ramp-up time described in connection with step 814 represents one way to ramp up the signal after application of a scaling gain less than unity. The predetermined ramp-up time, as described above, results in an abrupt change when the scaling gain is away from unity. This is not always desirable since smaller scaling gains (i.e., those further from unity) typically represent some disturbance (e.g., divergence coefficient) of the noise reduction system and often cause further disturbances. Thus, when the gain of the amplifier is scaled by a small amount, it is often more desirable to take longer to ramp up the scaling gain. Thus, in an alternative embodiment, a predetermined increment is added to the scaling gain for each subsequent sample. For example, an amount of 0.2 can be added to the previously determined scaling gain after application of a scaling gain less than approximately unity for each sample. Thus, when the scaling gain is further from unity, it will take longer to ramp up to unity than when the scaling gain is closer to unity.
[0074] In another embodiment, the ramp-up time can vary itself depending on factors such as the number of saturated samples. This embodiment is shown in FIG. 8C-8D. FIG. 8C-8D broadly follows the steps of FIG. 8A-8B, so only the steps are described when they differ. As in the embodiment of FIG. 5E-5F, a counter is started and incremented (step 824) each time the threshold is met and decremented (step 822) each time the threshold is not met. Once the new scaling gain is calculated in step 834, the ramp-up time is determined according to the counter value. A higher counter value means that more samples have exceeded the threshold, and therefore the saturation control 232' must ramp up more slowly. In contrast, a lower counter value results in a shorter ramp-up time, since fewer samples have exceeded the threshold.
[0075] When applying a longer ramp-up time, the increment applied to the previously calculated scaling gain is less than the increment applied to the previously calculated scaling gain when applying a shorter ramp-up time. Thus, for each sample, the difference between the previously calculated scaling gain and the newly calculated scaling gain is inversely proportional to the value of the counter, with the largest increment being applied when the value of the counter is held at zero. Although the counter is a useful method for determining the frequency at which the amplifier output crosses the threshold, any other suitable method can be used.
[0076] Implementing the ramp-up time may require the use of a counter or flag to represent how the saturation control module 232' is ramping up. For example, to get back to unity within a given ramp-up time, a particular sized increment must be added for each sample. Thus, for the sample for which the ramp-up time is calculated, the increment size can be stored in memory, and a flag can be set indicating that the stored increment size will be used until unity gain is restored (or the limiter threshold is met again and the ramp-up is reset). This can alternatively be accomplished by a counter that counts a determined number of samples.
[0077] In an alternative embodiment, rather than just applying a scaling gain, the denoising filter begins to move coefficients towards a target set of coefficients when the denoising signal exceeds a threshold. One embodiment of this is shown in Figures 9A-9C. At step 902, a denoising signal is received. At step 904, the denoising signal sample is compared to a signal threshold. If the denoising signal sample exceeds the threshold, a scaling gain is applied according to the amount by which the denoising signal exceeds the threshold. As explained above, this can be accomplished according to equations (2) and (3).
[0078] In other embodiments, the output signals may be adjusted in a smoother manner. For example, as any of the output signals approaches a threshold, the output signal may be adjusted by a limiter that implements a smoother transition to a maximum value beyond which the adjusted output signal cannot go. Various limiters are known in the art and may include input-output curves with different slopes (e.g., with a bend or curvature therebetween) and / or various linear regions of the curve such that beyond a particular input value, all output values are at or approach a maximum (limit) value.
[0079] In addition to or instead of limiting such an output signal (e.g., anti-noise signal, command signal), various embodiments may adjust control coefficients (coefficients of a filter, such as an adaptive filter, that operates on the reference signal to generate the anti-noise signal / command signal). To reduce the command signal, a new set of target control coefficients W Target and calculate or select a new target control factor W Target This is shown in step 906, a decision block that queries whether the denoising filter is transitioning. This is to determine whether the filter has started to transition towards the target set of coefficients of the previous sample. If the transition did not begin in the previous sample, then in step 908 the target set of coefficients is set. In various embodiments, the new target control coefficients W may be set in various ways and based on the particular situation. Target For example, it may be desirable to select a new target control factor W Target may be selected based on the following and / or other methods.
[0080] KW(n): The target control factor may be a scaled version of the current control factor. This may be a preferred choice when saturation occurs due to a large reference signal. In some embodiments, the scaling factor K may be based on a fixed scaling factor, such as 0.95 or 0.9 or another predefined value. In other embodiments, the scaling factor K may be based on a sample-by-sample scaling factor G, as described above, where the scaling factor K may be based on a minimum value of the scaling factor G occurring over a period of time and / or a frame of samples. In other embodiments, the scaling factor K may be based on a ratio between a maximum allowed output level and another recently calculated output signal level.
[0081] W History: The target control coefficients may be a previously calculated good solution. In some embodiments, a previously calculated set of good control coefficients may provide enhanced performance, such as when divergence is detected or divergence is the cause of saturation. The control coefficients may be transitioned back to the last calculated good solution. Various embodiments may include a convergence and / or divergence detector. The convergence detector may indicate when a calculated set of control coefficients is a good set (e.g., from a converged system) that is stored for future retrieval, and the divergence detector may indicate whether saturation of the command was caused by divergence (e.g., may indicate a good choice to revert to a previously stored set of good control coefficients). Thus, the convergence detector may be used to evaluate the current solution and store it in history if it is considered a good solution, while the divergence detector may be used to detect divergence and initiate a transition to a known good solution (stored).
[0082] W0: The target control coefficients can be an initialization or a fixed solution. The transition results in a reset of the algorithm. In some embodiments, this can be used as a last resort if other solutions do not resolve the command signal saturation.
[0083] During the transition period, adaptation may be stopped and the control factor may undergo a transition to a target control factor in some embodiments according to the following:
number
[0084] The coefficients are shifted towards the target set of coefficients at step 912. To illustrate, at the Nth sample of the shift period, the output control unit coefficients can be expressed as:
number
[0085] W(n0) is the control factor at the start of the transition period. This formula can be used to select a suitable value for α. For example, if the transition period is defined as 1 second with a sampling rate of 2 kHz, α should be chosen to ensure that 99% of the target control factor is reached at the end of the transition period, e.g.
number
[0086] If the coefficients are in transition, the denoising filter adaptation must be frozen in response to the error signal and input from the reference sensor to ensure that the transition continues without interruption. Thus, in step 914, the denoising adaptation is frozen.
[0087] If the denoising filter is not in transition, adaptation can be resumed in step 918. During the adaptation period, a history counter can be updated in step 920 until a threshold is reached. When the threshold is reached, the adapted control coefficients can be considered good coefficients and W History can be updated with the current solution (current control coefficient values) and the history counters can be reset. This ensures that a certain duration of convergence (without saturation) has passed before storing the current solution in the history.
[0088] 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).
[0089] The computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed 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. A computer program can be deployed to be executed on one computer, or on multiple computers at one site, or distributed across multiple sites and interconnected by a network.
[0090] 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).
[0091] Processors suitable for executing a computer program also include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, 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.
[0092] Although several inventive embodiments have been described and illustrated herein, those skilled in the art may readily conceive of various other means and / or structures for performing the functions and / or obtaining the results and / or advantages of one or more of the embodiments described herein, and each of such modifications and / or variations may be considered to be within the scope of the inventive embodiments 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 particular application or applications for which the teachings of the present 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 inventive embodiments described herein. Thus, it is to 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, the inventive embodiments may be practiced otherwise than as specifically described and claimed. The inventive embodiments of the present disclosure are directed 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 is within the scope of the invention, provided that such features, systems, articles, materials, and / or methods are not mutually inconsistent. [Explanation of symbols]
[0093] 100 Limiter 200 Noise Reduction System 206 Reference Sensor 208 Error Sensor 210 Actuator 212 Controller
Claims
1. 1. A noise reduction system, comprising: a noise reduction filter in communication with the at least one speaker, the noise reduction filter, when activated by the at least one speaker, generating a noise reduction signal that removes noise within at least one reduction zone; an amplifier disposed between the noise reduction filter and the speaker, the amplifier applying a first scaling gain to the noise reduction signal and outputting a scaled noise reduction signal, the scaled noise reduction signal being a linear reduction of the noise reduction signal when the first scaling gain is less than unity, and the first scaling gain being set to less than unity in response to a signal representing the noise reduction signal exceeding a threshold; the amplifier applies a second scaling gain during a next sample, the second scaling gain being determined, at least in part, by a value of a counter, the value of the counter being incremented each time the sample of the denoised signal exceeds the threshold and being decremented each time the sample of the denoised signal does not exceed the threshold; the counter determines a size of an increment to be applied to the first scaling gain according to the value of the counter; the size of the increment varies based at least in part on a difference between the value of the first scaling gain and unity. Noise reduction system.
2. The noise reduction system of claim 1 , wherein the signal representative of the noise reduction signal is the noise reduction signal.
3. The denoising system of claim 1 , wherein the signal representative of the denoised signal is the scaled denoised signal in a previous sample.
4. The denoising system of claim 1 , wherein the first scaling gain is determined, at least in part, according to an amount by which the signal representing the denoised signal exceeds the threshold.
5. The noise reduction system of claim 1 , wherein the second scaling gain is determined at least in part according to a predetermined ramp-up time and has a higher value than the first scaling gain.
6. 2. The noise reduction system of claim 1, wherein the amplifier applies the second scaling gain during a next sample, the second scaling gain being set equal to the first scaling gain summed with a predetermined value.
7. The denoising system of claim 1 , wherein adaptation of the denoising filter is frozen during each sample during which the amplifier applies a gain less than approximately unity.
8. The denoising system of claim 1 , wherein the denoising filter coefficients are shifted towards a target set of coefficients during a next sample.
9. A non-transitory storage medium comprising program code, the program code, when executed by a processor, generating, by a noise reduction filter, a noise reduction signal that, when activated by the at least one speaker, reduces noise within at least one reduction zone; setting a first scaling gain of an amplifier disposed between the noise reduction filter and the speaker to less than unity in response to the signal representative of the noise reduction signal exceeding a threshold; applying, by the amplifier, the first scaling gain to the scaled de-noised signal such that the scaled de-noised signal is a linear reduction of the de-noised signal; the amplifier applies a second scaling gain during a next sample, the second scaling gain being determined, at least in part, by a value of a counter, the value of the counter being incremented each time a sample of the denoised signal exceeds the threshold and being decremented each time a sample of the denoised signal does not exceed the threshold; the counter determines a size of an increment to be applied to the first scaling gain according to the value of the counter; The size of the increments varies based at least in part on a difference between the value of the first scaling gain and unity.
10. The non-transitory storage medium of claim 9 , wherein the signal representative of the noise-reduced signal is the noise-reduced signal.
11. The non-transitory storage medium of claim 9 , wherein the signal representative of the de-noised signal is the scaled de-noised signal in a previous sample.
12. The non-transitory storage medium of claim 9 , wherein the first scaling gain is determined, at least in part, according to an amount by which the signal representing the denoised signal exceeds the threshold.
13. 10. The non-transitory storage medium of claim 9, further comprising: setting the amplifier to the second scaling gain, the second scaling gain having a higher value than the first scaling gain, at least in part according to a predetermined ramp-up time.
14. setting the amplifier to the second scaling gain, the second scaling gain being equal to the first scaling gain summed with a predetermined value; 10. The non-transitory storage medium of claim 9, further comprising: applying the second scaling gain during a next sample.
15. 10. The non-transitory storage medium of claim 9, wherein adaptation of the noise reduction filter is frozen during each sample during which the amplifier applies a gain less than approximately unity.
16. The non-transitory storage medium of claim 9 , further comprising shifting the denoising filter coefficients toward a target set of coefficients during a next sample.
Citation Information
Patent Citations
Active noise controller
JP1994186985A
Active noise reducing device
JP2001333490A
AGC circuit, AGC method, program and recording medium
JP2007181136A