The technical field of the present invention is that of recursive digital filters (with infinite impulse response or IIR) and their industrial applications. These filters are used in particular, but not exclusively, in the field of noise reduction, for making active sound protection devices. They can also be used in regulation systems employing negative feedback loops.
In this area, several designs have already been proposed. They are based on converting an input signal x(n) at a given moment in time, that comes from sampling at a given frequency, into an output signal y(n) deduced therefrom by a specific calculation procedure. The calculation procedure is defined by coefficients aj and bi of the function F(z) representing the filter transfer function in its general form in the complex plane
or the finite-difference equation which give the value of the output signal as a function of the input and output values for the previous samples n−i or n−j:
where K designates a coefficient enabling the filter gain to be regulated and Z is a complex number such that Z=exp(2πjf) where f is the reduced frequency, a unitless value between 0 and 1, defined by the actual frequency of the signal expressed in Hz divided by the sampling frequency also expressed in Hz, and where j is the complex number such that j2=−1.
The general form of recursive digital filters can then be represented by the schematic diagram in
These filters are generally implemented by a series of second-order filters (filters employing only the input and output values of the two previous samples), disposed in parallel (parallel form) or in a cascade (cascade form), with a transfer function which is then written as follows, for the parallel and cascade filters respectively:
where Fi(Z) represents the transfer function of each second-order recursive elementary filter.
Each cell (second-order recursive elementary filter) is thus defined only by the five coefficients a1, a2, b0, b1, and b2.
These filters, of whatever order, have the disadvantage of being implementable only after quantification of their coefficients into integers, namely with truncation of the decimals, which occurs only after the actual coefficients aj and bi have been multiplied by a scale factor. This scale factor increases the possible choice of integer coefficients used in the calculation, while the actual coefficients lie between −2 and 2, at most. This truncation brings about an error which translates into non-linearities of the filter, making it unsuitable for the desired filtering function. To minimize the effect of quantification of integer coefficients, the filter must be made of a succession of second-order filters in a cascade(cascade form). To this error, associated with the coefficients, is added the rounding error that occurs when integers are divided by the scale factor. This rounding error propagates from sample to sample as the calculations are made. It can become very large, hence non-negligible when the filter is operating in the low-frequency range. This error is made even greater if the result of integer divisions by the scale factor is considered to be the default integer value instead of the closest integer value to the result of actual division.
The goal of the invention is to remedy these drawbacks by proposing a calculation method that avoids propagation of rounding errors and which uses the closest integer to the result in integer divisions.
For this purpose, the invention proposes to complete the output signal calculation procedure by taking into account the remainders of integer divisions carried out when the output signal from previous samples is calculated. Further, the invention completes the output signal calculation procedure by a procedure replacing rounding to the default integer value when dividing by the scale factor by rounding to the closest integer of the actual-value result.
The invention will be described with reference to the figures in which:
The invention completes the output signal calculation procedure by taking into account the remainders of integer divisions carried out when the output signal from the previous samples is calculated. This calculation is done according to the following equation (here indicated in the particular case of a second-order cell):
instead of:
for a classical calculation of an implemented recursive digital filter in which Q( ) is the non-linear quantification operator when integers are divided and “scf” is the scale factor chosen.
These formulas of course need to be adapted by increasing the number of elements in the calculation (a1, a2, a3, . . . , b1, b2, b3, . . . , n−1, n−2, n−3, . . . ) if the filters to be made are multiple-order filters.
The invention also completes the output signal calculation procedure by a procedure replacing rounding to the default integer value when dividing by the scale factor by rounding to the closest integer of the actual-value result.
This being the case, it is possible to show that the error between the calculated value y(n) and the theoretical value th(n) that would be obtained without the rounding errors is independent of the errors committed in the previous iterations. Hence there is no more propagation phenomenon and thus no error amplification. The error, of rank n, is thus minimized and the filter obtained can carry out its filtering function whatever the amplitude of the input signal. The dynamics of the filter thus made may exceed 60 dB, i.e. the error remains negligible even if the amplitude of the input signal is between the maximum amplitude and the maximum amplitude minus 60 dB (maximum amplitude/1000).
Principally, the invention involves a rounding error non-propagation procedure, illustrated in
The calculation procedure defined in the invention also advantageously, but not necessarily, involves a procedure known as an improved division procedure, illustrated in
A particular embodiment of the invention is shown in
The value emerging from this calculation is then modified to obtain the output value y(n) by the procedure known as the improved division procedure, which comprises picking up the signal coming from the sum operator, dividing it by the scale factor, then multiplying it again by the scale factor to subtract it from the signal as picked up, then multiplying this result by two then dividing it by the scale factor, and finally adding it to the signal as picked up once the latter has been divided by the scale factor.
Implementation in a DSP type signal processor working with integers of a filter of the type described in the invention can be effected as follows:
An analogic/digital and digital/analog signal converter is used upstream and downstream of the signal processor, the signal processor preferably having preferably 16 bits or more so that that the error due to conversions is negligible compared to the signal amplitude.
To avoid an additional error by exceeding the dynamics of the DSP, an integer less than or equal to 2p−b−2 is chosen as the scale factor, where p designates the length of the DSP words and b designates the resolution of the converters (number of bits on which the converters code the signal).
It is preferable to use a scale factor and a gain coefficient K that are multiples of two in order to minimize calculation time. In this way, all dividing, which is slow in a DSP, can be replaced by register shifts which are much faster.
Finally, the larger the scale factor, the smaller the error due to quantification of the coefficients and the larger the number of filters that can be made. Hence it is preferable to use a DSP with a word length of 32 bits. This enables the value scf=232−16−2=214=16384 to be taken for the scale factor.
With a filter of this type, signal dynamics exceeding 60 dB can be effectively filtered.
One practical application of these filters is active noise protection, which requires a broad usable amplitude range whatever the filter implemented. The digital filter then used is an IIR type filter in its cascade form. Each filtering cell is implemented in the DSP using the calculation procedure according to the invention represented in
The invention can also be used for regulation, using negative feedback loops, because the low error propagation level can enable analog filtering procedures to be replaced by digital procedures.
This is a Continuation of application Ser. No. 09/966,260 filed Oct. 1, 2001 (now abandoned). The entire disclosure of the prior application is hereby incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3619586 | Hoff et al. | Nov 1971 | A |
4195350 | Moore | Mar 1980 | A |
4270026 | Shenoi et al. | May 1981 | A |
4727506 | Fling | Feb 1988 | A |
4972356 | Williams | Nov 1990 | A |
5089981 | Cabot | Feb 1992 | A |
5282155 | Jones | Jan 1994 | A |
5523962 | Yoshino et al. | Jun 1996 | A |
5590121 | Geigel et al. | Dec 1996 | A |
5694474 | Ngo et al. | Dec 1997 | A |
5757362 | Levine | May 1998 | A |
5798954 | Ishibata | Aug 1998 | A |
5999954 | Ludwig et al. | Dec 1999 | A |
5999955 | Davis, Jr. et al. | Dec 1999 | A |
6216145 | Zandi et al. | Apr 2001 | B1 |
6279020 | Dujardin et al. | Aug 2001 | B1 |
6300823 | Zhou et al. | Oct 2001 | B1 |
6363112 | Azadet et al. | Mar 2002 | B1 |
6509889 | Kamper et al. | Jan 2003 | B2 |
6826226 | Sahlin et al. | Nov 2004 | B1 |
6871207 | Nanda et al. | Mar 2005 | B1 |
6983012 | Shen | Jan 2006 | B1 |
20010032225 | Tal et al. | Oct 2001 | A1 |
Number | Date | Country |
---|---|---|
A 6-3243 | Jan 1994 | JP |
Number | Date | Country | |
---|---|---|---|
20060069708 A1 | Mar 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09966260 | Oct 2001 | US |
Child | 11281534 | US |