Digital filtering method, corresponding circuit and device
10892740 ยท 2021-01-12
Assignee
Inventors
- Giuseppe Maiocchi (Villa Guardia, IT)
- Ezio Galbiati (Agnadello, IT)
- Michele Boscolo Berto (Sesto San Giovanni, IT)
Cpc classification
H03H17/0248
ELECTRICITY
International classification
Abstract
A method includes receiving an input digital signal and applying the input digital signal to digital filter processing with a corner frequency to produce a filtered output digital signal. The digital filter processing includes a set of multiplication operations using a set of filter multiplication coefficients. The set of multiplication operations is performed by alternately using a first set of approximate multiplication coefficients and a second set of approximate multiplication coefficients different from the first set of approximate multiplication coefficients. The approximate multiplication coefficients in the first set of approximate multiplication coefficients and the second set of approximate multiplication coefficients approximate multiplication coefficients in the set of filter multiplication coefficients as a function of negative power-of-two values. The alternating of multiplication operations results in digital filter processing with average corner frequency approximating the corner frequency.
Claims
1. A method comprising: receiving an input digital signal comprising a sequence of samples; and filtering the input digital signal by performing a set of multiplication operations by alternately using a first set of multiplication coefficients and a second set of multiplication coefficients different from the first set of multiplication coefficients, wherein each multiplication coefficient in the first set of multiplication coefficients and the second set of multiplication coefficients is a function of negative power-of-two values and the multiplication operations are performed by shifting, wherein the first and second sets of multiplication coefficients respectively comprise first and second sets of approximate multiplication coefficients that are selected to approximate a set of filter multiplication coefficients that, when applied to the input digital signal, will produce a filtered output digital signal with a corner frequency, and wherein the filtering produces a filtered output digital signal with an approximate corner frequency that approximates the corner frequency, wherein each of the approximate multiplication coefficients of the first and second sets are different from respective filter multiplication coefficients of the set of filter multiplication coefficients, and wherein the approximate corner frequency is different from the corner frequency.
2. The method of claim 1, wherein the multiplication coefficients in the first set of multiplication coefficients and the second set of multiplication coefficients comprise coefficients that approximate the multiplication coefficients in the set of filter multiplication coefficients as a difference between a unitary value and a negative power-of-two value.
3. The method of claim 1, wherein the sequence of samples of the input digital signal are clocked at a clock frequency, the method comprising alternating multiplication operations with the first set of multiplication coefficients and the second set of multiplication coefficients synchronously with the clock frequency.
4. The method of claim 1, wherein the sequence of samples of the input digital signal are clocked by a sequence of clock pulses at a clock frequency, the method comprising switching between multiplication operations with the first set of multiplication coefficients and multiplication operations with the second set of multiplication coefficients at each pulse in the sequence of clock pulses.
5. A method comprising: receiving an input digital signal comprising a sequence of samples; applying the input digital signal to digital filter processing with a corner frequency to produce a filtered output digital signal, the digital filter processing comprising a set of multiplication operations using a set of filter multiplication coefficients; performing the set of multiplication operations by alternately using a first set of approximate multiplication coefficients and a second set of approximate multiplication coefficients different from the first set of approximate multiplication coefficients; wherein the approximate multiplication coefficients in the first set of approximate multiplication coefficients and the second set of approximate multiplication coefficients in the set of filter multiplication coefficients as a function of negative power-of-two values; and wherein performing the set of multiplication operations results in digital filter processing with average corner frequency approximating the corner frequency, wherein each of the approximate multiplication coefficients of the first and second sets are different from respective filter multiplication coefficients of the set of filter multiplication coefficients, and wherein the average corner frequency approximating the corner frequency is different from the corner frequency.
6. The method of claim 5, wherein the sequence of samples of the input digital signal are clocked at a clock frequency, the method comprising alternating multiplication operations with the first set of approximate multiplication coefficients and the second set of approximate multiplication coefficients synchronously with the clock frequency.
7. The method of claim 6, wherein the sequence of samples of the input digital signal are clocked by a sequence of clock pulses at the clock frequency, the method comprising switching between multiplication operations with the first set of approximate multiplication coefficients and multiplication operations with the second set of approximate multiplication coefficients at each pulse in the sequence of clock pulses.
8. The method of claim 5, wherein the approximate multiplication coefficients in the first set of approximate multiplication coefficients and the second set of approximate multiplication coefficients comprise coefficients that approximate the filter multiplication coefficients in the set of filter multiplication coefficients as a difference between a unitary value and a negative power-of-two value.
9. The method of claim 5, comprising coupling a first approximate coefficient in the first set of approximate multiplication coefficients to a coefficient in the set of filter multiplication coefficients, the first approximate coefficient selected out of a plurality of candidate first approximate coefficients.
10. The method of claim 9, further comprising selecting the first approximate coefficient as a function of a difference between the corner frequency and the average corner frequency approximating the corner frequency.
11. The method of claim 5, comprising coupling a second approximate coefficient in the second set of approximate multiplication coefficients to a coefficient in the set of filter multiplication coefficients, the second approximate coefficient selected out of a plurality of candidate second approximate coefficients.
12. The method of claim 11, further comprising selecting the second approximate coefficient as a function of a difference between the corner frequency and the average corner frequency approximating the corner frequency.
13. The method of claim 5, comprising coupling a first approximate coefficient in the first set of approximate multiplication coefficients to a coefficient in the set of filter multiplication coefficients and coupling a second approximate coefficient in the second set of approximate multiplication coefficients to another coefficient in the set of filter multiplication coefficients, the first approximate coefficient selected out of a plurality of candidate first approximate coefficients and second approximate coefficient selected out of a plurality of candidate second approximate coefficients.
14. A circuit, comprising: an input node configured to receive an input digital signal comprising a sequence of samples; a digital filter processor coupled to the input node to receive the input digital signal, the digital filter processor comprising a set of bit shifting circuit blocks configured to perform a set of multiplication operations and a plurality of switching circuit blocks; wherein the multiplication operations are performed by alternately using a first set of approximate multiplication coefficients and a second set of approximate multiplication coefficients different than the first set of approximate multiplication coefficients; wherein the approximate multiplication coefficients in the first set of approximate multiplication coefficients and the second set of approximate multiplication coefficients approximate filter multiplication coefficients in a set of filter multiplication coefficients as a function of negative power-of-two values, wherein each of the approximate multiplication coefficients of the first and second sets are different from respective filter multiplication coefficients of the set of filter multiplication coefficients; wherein the filter multiplication coefficients define a corner frequency and the approximate multiplication coefficients define an approximate corner frequency that approximates the corner frequency, the approximate corner frequency being different from the corner frequency; wherein the bit shifting circuit blocks include bit shifting circuit elements configured to performed the multiplication operations by bit shifting; and wherein the switching circuit blocks are provided active with the bit shifting circuit blocks to implement alternating multiplication operations with the first set of approximate multiplication coefficients and the second set of approximate multiplication coefficients.
15. A device, comprising: the circuit according to claim 14, a source circuit of the input digital signal comprising the sequence of samples, the source circuit coupled to the input node of the circuit; and a user circuit coupled to an output node of the circuit to receive a filtered output digital signal.
16. The circuit of claim 14, wherein a first bit shifting circuit element of a first bit shifting circuit block of the set of bit shifting circuit blocks has an output coupled to a first input of a switch circuit of a first switching circuit block of the plurality of switching circuit blocks, wherein a second bit shifting circuit element of the first bit shifting circuit block has an output coupled to a second input of the switch circuit of the first switching circuit block, and wherein an input of the first bit shifting circuit element is directly connected to an input of the second bit shifting circuit element.
17. A method comprising: receiving an input digital signal comprising a sequence of samples; determining a set of filter multiplication coefficients that can be used for filtering the input digital signal; determining a first set of approximate multiplication coefficients and a second set of approximate multiplication coefficients based on the filter multiplication coefficients, the first and second sets of approximate multiplication coefficients having negative power-of-two values; and performing a set of multiplication operations by alternately using the first set of approximate multiplication coefficients and the second set of approximate multiplication coefficients, wherein the set of filter multiplication coefficients define a digital filter with a corner frequency and wherein performing the set of multiplication operations result in digital filter processing with average corner frequency approximating but different than the corner frequency.
18. The method of claim 17, wherein the multiplication operations are performed using shifting operations.
19. The method of claim 17, wherein the input digital signal is received at a clock frequency and wherein performing the set of multiplication operations comprises alternating multiplication operations with the first set of approximate multiplication coefficients and the second set of approximate multiplication coefficients synchronously with the clock frequency.
20. The method of claim 17, wherein the input digital signal is received synchronously with a sequence of clock pulses at a clock frequency and wherein performing the set of multiplication operations comprises switching between multiplication operations with the first set of approximate multiplication coefficients and multiplication operations with the second set of approximate multiplication coefficients at each pulse in the sequence of clock pulses.
21. The method of claim 17, wherein determining the first set of approximate multiplication coefficients comprises selecting approximate multiplication coefficients from a predetermined set of multiplication coefficients, wherein determining the second set of approximate multiplication coefficients comprises selecting approximate multiplication coefficients from the predetermined set of multiplication coefficients, and wherein determining the first and second sets of approximate multiplication coefficients comprises selecting the approximate multiplication coefficients from the predetermined set of multiplication coefficients so that the average corner frequency is closest to the corner frequency.
22. The method of claim 17, wherein the digital filter is a high-pass digital filter.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) One or more embodiments will now be described, by way of example only, with reference to the annexed figures, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
(8) In the ensuing description, one or more specific details are illustrated, aimed at providing an in-depth understanding of examples of embodiments of this description. The embodiments may be obtained without one or more of the specific details, or with other methods, components, materials, etc. In other cases, known structures, materials, or operations are not illustrated or described in detail so that certain aspects of embodiments will not be obscured.
(9) Reference to an embodiment or one embodiment in the framework of the present description is intended to indicate that a particular configuration, structure, or characteristic described in relation to the embodiment is comprised in at least one embodiment. Hence, phrases such as in an embodiment or in one embodiment that may be present in one or more points of the present description do not necessarily refer to one and the same embodiment. Moreover, particular conformations, structures, or characteristics may be combined in any adequate way in one or more embodiments.
(10) The references used herein are provided merely for convenience and hence do not define the extent of protection or the scope of the embodiments.
(11) In the following, a non-limiting example of realization of a low pass digital filter is provided, starting from its analog counterpart, the filter having unitary DC gain, cutoff frequency f.sub.c=50 kHz and sampling time T=50 ns. It will be appreciated that, even if in the present non-limiting example a specific analog H(s) resp. digital H(z) transfer function of the digital filter is disclosed, such transfer functions are presented herein purely for the sake of brevity and understanding. However, one or more embodiments may relate to a digital filter comprising a generic digital transfer function H(z) including one or more multiplication operations.
(12) One or more embodiments may thus relate to a digital filter, e.g. a low pass digital filter based on an analog filter having transfer function:
(13)
where b represent a cutoff frequency of the low-pass filter in rad/s, i.e. b=2f.sub.c (f.sub.c being the cutoff frequency in Hz).
(14) A resulting digital filter transfer function H(z), calculated employing the sampling time T, may have equation:
(15)
(16) By substituting the cutoff frequency and the sampling time with the numeral values f.sub.c=50 kHz and T=50 ns, a digital filter transfer function may thus be represented by equation:
(17)
(18) that may result, via calculations that are well known in the art, in the following digital low pass filter output evolution:
Y(n)=0.9884415*Y(n1)+X(n1)0.9884415*X(n1)
where n represents a discrete-time instant, X(n) represents a digital input signal of the digital filter, comprising a sequence of digitized samples, and Y(n) represents a digital output signal of the digital filter, comprising a sequence of digitized samples. In the present non-limiting example, therefore, two multiplication operations having coefficient c=0.9884415 may be present, with related drawbacks as previously discussed.
(19) It was observed that, by substituting the coefficient c with an approximated value comprising a difference between a unitary value and a negative power-of-two value, i.e., 12.sup.N, N being a positive integer, the multiplication operations could be implemented solely via shift and sum operations.
(20) For example, in the present case, the coefficient c may be approximated by:
0.9884415=12.sup.6=10.015625=0.984375,
(21) Here the difference between one and the sixth negative power-of-two may represent the closest approximation to the original multiplication coefficient c.
(22) According to the approximation, the filter output evolution may be represented by:
Y(n)=(12.sup.6)*Y(n1)+X(n1)(12.sup.6)*X(n1)
which becomes
Y(n)=Y(n1)2.sup.6*Y(n1)+2.sup.6*X(n1)
(23) The multiplication operations by the power-of-two values may be implemented via shifting operations, e.g. 2.sup.6*Y(n1) may be implemented by means of a shifting circuit block that right shifts the value of the output signal Y(n1) of 6 bits. Accordingly, the filter output evolution may be implemented by shift and sum operations:
Y(n)=Y(n1)[Y(n1)>>6]+[X(n1)>>6].
(24) It will be appreciated that the approximated cutoff frequencies are discrete, and, in some cases, the original desired cutoff frequency may not be achieved. However, a precise cutoff frequency is seldom necessary. For example, the present invention may relate to filters that may be employed for eliminating glitches from signals and/or for limiting a signal bandwidth which do not require precise frequencies.
(25) A negligible effect may occur even if the approximated cutoff frequency is different from the original non-approximated frequency. That is, glitches may be eliminated even if the cutoff frequency is for example 10 KHz, 10.5 KHz or 9.5 KHz, and a band pass filter may operate whether a bandwidth is limited to 10 KHz, 9.5 KHz or 10.5 KHz. One or more embodiments may have an advantage over prior art digital filters, wherein multiplier circuit blocks are exploited even if a precise desired frequency is not desired.
(26) While the present non-limiting example, for the sake of simplicity, represents the possibility of approximating one multiplication coefficient, the possibility exists to extend the method according to one or more embodiments to a transfer function of a digital filter having a plurality of multiplications with different coefficients.
(27) In one or more embodiments, the digital filter 10 may comprise the circuit blocks exemplified in
(28) In one or more embodiments, the digital filter 10 may comprise one or more circuit blocks, to filter the digital input signal X(n) and/or the digital output signal Y(n). The illustrated example includes a delaying circuit block 12, which may receive as an input a signal, e.g. X(n), and may provide as an output the signal delayed of a discrete-time instant, e.g. X(n1).
(29) A right shifting circuit block 14 may implement a right bit shifting operation (i.e., a multiplication of a signal by a negative power of two value 2.sup.N) as previously discussed. The circuit block 14 receives as an input a signal, e.g. X(n), and provides as an output the signal right shifted of N bits, e.g. [X(n)>>N].
(30) An adder 16 may receive as an input two or more signals, e.g. X(n) and Y(n), and provide as an output a sumwith signof the two or more input signals, e.g., X(n)+Y(n) or X(n)Y(n).
(31) In the embodiment exemplified in
(32) The adder 16 may implement a sumwith signbetween three operands. For example, it may sum the first operand, a second operand and a third negative operand.
(33) The second operand may comprise the output signal Y(n), being delayed (12).
(34) The third negative operand may comprise the output signal Y(n) processed, wherein the output signal may be delayed (12), right shifted (14) of 6 bits, and negated (16). The resulting third operand may thus comprise the processed output signal [Y(n1)>>N].
(35) The output signal Y(n) may then be obtained as the output of the adder 16, i.e., the sum with sign of the first, second and third operands.
(36) Accordingly, in one or more embodiments as exemplified in
(37) It was observed that the approximated coefficients C1=2.sup.N and C2=1C1=(12.sup.N) may cause the digital filter 10 to behave differently. For example, the digital filter 10 may have a cutoff frequency f.sub.c that may differ from the cutoff frequency f.sub.c of the original filter. For example, in the digital filter 10 previously discussed and exemplified in
(38) Accordingly, it was observed that approximating the multiplication coefficient with C1=2.sup.N and with a difference (C2=1C1) between the unitary value and a negative power of two C1, may limit the cutoff frequencies f.sub.c of the approximated digital filter to the values that are illustrated in
(39)
where T is the digital filter sampling time (in the present example 50 ns). Of course, the table can be continued with additional values of N.
(40)
(41) It was observed that, once the sampling time T is decided, only a discrete number of cutoff frequencies f.sub.c may be possible for the approximated (e.g., low pass) digital filter, due to the discrete possible negative power of two values C1. That is, by approximating the multiplication operations of the filter using power-of-two values (C1=2.sup.N), the resulting digital filter may have available cutoff frequencies lying in a discrete and restricted values domain. In many cases, the approximation may be acceptable. However it was observed that an improved solution may be possible.
(42) One or more embodiments may thus facilitate achieving a digital filter 20, that may be based on the digital filter 10 of
(43) According to the approximated digital filter 10 of
(44) In other words, the filtering process of the digital filter 20 may be alternatively based on the filtering circuit blocks of the first digital filter and the filtering circuit blocks of the second digital filter.
(45) In the non-limiting example of
N1=10,f.sub.c1=3110 Hz, and
N2=9,f.sub.c2=6223 Hz.
(46) Accordingly, if the output of the switches 18 comprised in the shifting circuit blocks switch (e.g., at every clock pulse rising edge) seamlessly between the output of the first shifting circuit block 14.sub.1 implementing a right shift of N.sub.1 bits and the output of the second shifting circuit block 14.sub.2 implementing a right shift of N.sub.2 bits, the cutoff frequency f.sub.c of the digital filter 20 may result in the average between the first filter cutoff frequency f.sub.c1 and the second filter cutoff frequency f.sub.c2, that is about f.sub.c=.sub.4666 Hz.
(47) According to one or more embodiments, the right shifting circuit blocks of the digital filter 20 may thus include a set of switches 18 cooperating with a set of first shifting circuit blocks 14.sub.1 and a set of second shifting circuit blocks 14.sub.2. The shifting circuit blocks of the digital filter 20 may receive as input a first signal and provide as an output a second signal. The first shifting circuit block 14.sub.1 may right shift the first signal of N.sub.1 bits, and the second shifting circuit block 14.sub.2 may right shift the first signal of N.sub.2 bit, respectively.
(48) The signals output from the first and second shifting circuit block, 14.sub.1 and 14.sub.2, may be input to the switch 18 that may in turn transmit, as an output, one of these signals depending on clock pulses of a clock signal CLK, with the clock signal CLK that may have clock period T.sub.C corresponding to the digital processing rate, that is the clock period T.sub.C may substantially correspond to the sampling time T.sub.C=T.
(49) Accordingly, a shifting circuit block of the digital filter 20 may be implemented by a shifting circuit block of the set of first shifting circuit blocks 14.sub.1, a shifting circuit block of the set of second shifting circuit blocks 14.sub.2 and a switch of the set of switches 18.
(50) The switches 18 may be driven by the clock signal CLK, that may switch the output of the switches 18 for example at each clock pulse, e.g., at the rising edge of the clock pulse. Accordingly, the filtering may comprise alternating between right shifting the signals of N.sub.1 or N.sub.2 bits.
(51) Thus, in one or more embodiments, a wider range of cutoff frequency may be possible. In case of the low pass digital filter 20 exemplified in
(52) It will be appreciated that the diagonal of the table may comprise values representing a digital filter 20 comprising first shifting circuit blocks 14.sub.1 and second shifting circuit blocks 14.sub.2 having same number of bits, i.e. N1=N2, resulting therefore in the cutoff frequencies f.sub.c illustrated in
(53)
(54) In the non-limiting example of
N1=10,f.sub.c1=3110 Hz, and
N2=9,f.sub.c2=6223 Hz.
(55) Conversely, the reference digital filter may have a non-approximated cutoff frequency fc=4666 Hz, with the reference digital filter including multiplier circuit blocks.
(56) Accordingly, the output signal Y.sub.4 may comprise a sequence of steps that may alternate depending on clock pulses T.sub.C of the clock signal CLK, between a first step G1, which represents the output signal Y.sub.4 when the output of the switches 18 of the digital filter 20 is the output of the first shifting blocks 14.sub.1, and a second step G2, which represents the output signal Y.sub.4 when the output of the switches 18 of the digital filter 20 is the output of the second shifting blocks 14.sub.2.
(57) The second step G2, which may represent the output signal Y.sub.4 when the digital filter 20 is based on the digital filter 10 having cutoff frequency f.sub.c1=3110 Hz, may have a smaller value with respect to the first step G1, that may represent the output signal Y.sub.4 when the digital filter 20 is based on the digital filter 10 having cutoff frequency f.sub.c2=6223 Hz.
(58) Conversely, the output signal Y.sub.ref of the reference digital filter may comprise a sequence of steps, having same amplitude G.sub.ref.
(59) In one or more embodiments, however, the resulting cutoff frequencies of the reference digital filter and the approximated digital filter 20 may coincide, insofar as the step amplitude G.sub.ref of the reference digital filter may substantially correspond to an average between the amplitude of the first step G1 and the amplitude of the second step G2.
(60) It will be appreciated that, herein, the switches 18 are exemplified as alternating output every clock cycle, however the possibility exists of switching output at different time intervals.
(61) The approximation according to one or more embodiments may be applied to different types of digital filters including one or more multiplication operations. For example, a high pass filter 30 according to one or more embodiments may be exemplified in
(62) A high pass digital filter 30 may be based on an analog filter having transfer function:
(63)
where a and b are coefficients that may be different from each other. A resulting digital filter transfer function H(z), calculated employing the sampling time T, may have equation:
(64)
where a is a high pass cutoff frequency in rad/s, b is a low pass cutoff frequency in rad/s, which is higher than the high pass cutoff frequency a (b>>a) and permits the realization of the high pass digital filter 30, and b/a is a gain of the high pass digital filter 30.
(65) Via calculations that are well known in the art, the following high pass digital filter 30 output evolution may result:
(66)
where n represents a discrete-time instant, X(n) represents a digital input signal of the digital filter 30 and Y(n) represents a digital output signal of the digital filter 30.
(67) In the present non-limiting example, therefore, two multiplication coefficients may be present, different from the unitary value, i.e. e.sup.bT and
(68)
(69) In one or more embodiments, the multiplication coefficient b/a may be approximated as a power-of-two value. For example, one or more embodiments may comprise selecting a desired high pass border frequency a and selecting a desired low pass border frequency b, so that the low pass border frequency is higher than the high pass border frequency and so that the low pass border frequency b may comprise a multiplication between the cutoff frequency a and a power-of-two value with exponent M (M being a positive integer), i.e. b=2.sup.M*a.
(70) The method may further include approximating the desired low pass border frequency b with a cutoff frequency, for example, an approximated cutoff frequency f.sub.c as listed in
(71) The approximated frequency b may be substituted in the multiplication coefficients, thereby obtaining: e.sup.bT=e.sup.bT, which may be approximated as previously described, and
(72)
(73) For example, for the high pass digital filter 30 of
(74) The frequency b may be approximated (b=2.sup.M*a) as a multiplication between the high pass frequency a and a power-of-two value having exponent M, being a positive integer. The exponent M may be selected so that the frequency b may be close to a cutoff frequency listed in the table of
(75) The closest frequency listed in
(76) The output evolution of the high pass digital filter 30 may thus include:
Y(n)=e.sup.bT*Y(n1)+8*X(n)+[18e.sup.bT]*X(n1)
(77) Where the exponential coefficient e.sup.bT may be approximated as previously discussed. In the present non-limiting example, the chosen exponent values may comprise N.sub.1=7 and N.sub.2=8.
(78) Accordingly, the output evolution may be rewritten as:
Y(n)=(12.sup.N.sup.
where N.sub.i may comprise value N.sub.1 or N.sub.2 depending on clock pulses of a clock signal CLK.
(79) In one or more embodiments, the high pass digital filter 30 may be realized according to one or more embodiments as exemplified in
(80) The shifting circuit blocks in
(81) In the present non-limiting example, a left shifting circuit block designated with reference number 14 may left shift a received signal of 3 bits, thereby resulting in a multiplication of the received signal by a positive power-of-two value having exponent M=.sub.3.
(82) Also, the right shifting circuit blocks may be implemented via a first 14.sub.1 and second 14.sub.2 right shifting circuit block plus a switch 18. The right shifting circuit blocks may receive a signal which may be right shifted by the first 14.sub.1 and second 14.sub.2 right shifting circuit blocks of N.sub.1=7 and N.sub.2=8 bits, thereby implementing multiplications by negative power-of-two values having exponent N.sub.1 and N.sub.2, respectively. The switch 18 may receive as an input the signals right shifted of N.sub.1 and N.sub.2 bits, and may provide as an output one of these signals depending on clock pulses of the clock signal CLK. For example, the output of the switch 18 may change at each clock pulse of the clock signal CLK.
(83) Thus, in the non-limiting example of
(84) The first operand, input to the adder 16, may comprise the output signal, delayed 12 of a time instant, i.e., Y(n1).
(85) The second operand input to the adder 16 may comprise the output signal, delayed 12 of a time instant, passed through a right shifting circuit block 14.sub.1, 14.sub.2, 18 as previously described and negated, i.e., the integer that may be closest to [Y(n)>>N.sub.i], wherein i may be 1 or 2, depending on the clock pulses of the clock signal CLK.
(86) The third operand, input to the adder 16, may comprise the input signal passed through a left shifting circuit block 14 as previously described and delayed 12 of a time instant, i.e., [X(n1)<<3].
(87) The fourth operand, input to the adder 16, may comprise the input signal passed through a left shifting circuit block 14 as previously described, i.e., [X(n)<<.sub.3].
(88) The fifth operand, input to the adder 16, may comprise the input signal passed through a right shifting circuit block 14.sub.1, 14.sub.2, 18 as previously described, delayed 12 of a time instant, i.e., [X(n1)>>N.sub.i], wherein i may be 1 or 2, depending on the clock pulses of the clock signal CLK.
(89) One or more embodiments may thus relate to a method, comprising receiving an input digital signal (e.g., X(n)) comprising a sequence of (e.g. digitized) samples and applying to the input digital signal digital filter (e.g., low pass 10, 20 or high pass 30) processing with at least one (e.g. lower and/or upper) corner frequency (e.g. f.sub.c, a, b) to produce a filtered output digital signal (e.g. Y(n)). The digital filter processing comprises a set of multiplication operations by a set of filter multiplication coefficients (e.g. e.sup.bT, b/a). The set of multiplication operations is performed by using alternatively a first set of approximate multiplication coefficients (e.g., C2 with exponent N.sub.1) and a second set of approximate multiplication coefficients (e.g., C2 with exponent N.sub.2) different from the first set of approximate multiplication coefficients.
(90) In one or more embodiments the approximate coefficients in the first set of approximate coefficients and the second set of approximate coefficients may approximate the multiplication coefficients in the set of filter multiplication coefficients as a function of negative power-of-two values (e.g., C1), and the alternation of multiplications with the first set of approximate coefficients and multiplications with the second set of approximate coefficients may result in digital filter processing with an average corner frequency (e.g., f.sub.c) approximating the at least one corner frequency.
(91) In one or more embodiments, the input digital signal may comprise a sequence of samples clocked at a clock frequency (e.g., CLK), and the method may comprise alternating multiplication operations with the first set of approximate coefficients and the second set of approximate coefficients synchronously with the clock frequency.
(92) In one or more embodiments, the input digital signal may comprise a sequence of samples clocked by a sequence of clock pulses at the clock frequency, and the method may comprise switching between multiplication operations with the first set of approximate coefficients and multiplication operations with the second set of approximate coefficients at each pulse in the sequence of clock pulses.
(93) In one or more embodiments, the approximate coefficients in the first set of approximate coefficients and the second set of approximate coefficients may comprise coefficients which may approximate the multiplication coefficients in the set of filter multiplication coefficients as the difference between a unitary value and a negative power-of-two value.
(94) One or more embodiments may comprise coupling to at least one coefficient in the set of filter coefficients: a first approximate coefficient in the first set of approximate coefficients, selected out of a plurality of candidate first approximate coefficients, and/or a second approximate coefficient in the second set of approximate coefficients selected out of a plurality of candidate second approximate coefficients.
(95) One or more embodiments may comprise selecting the first approximate coefficient in the first set of approximate coefficients and/or the second approximate coefficient in the second set of approximate coefficients, as a function of the difference between the at least one corner frequency and the average corner frequency approximating the at least one corner frequency.
(96) One or more embodiments may relate to a circuit that may comprise an input node configured for receiving an input digital signal (e.g. X(n)) comprising a sequence of samples. A filter processor (e.g., 10, 20, 30) is configured for applying to the input digital signal digital filter processing with at least one corner frequency to produce a filtered output digital signal (e.g. Y(n)) at an output node.
(97) In one or more embodiment, the digital filter processor may comprise a set of multiplication circuit blocks configured for performing multiplication operations by a set of filter multiplication coefficients. The multiplication circuit blocks may comprise bit shifting circuit blocks (e.g. 14, 14, 14.sub.1, 14.sub.2) configured for performing the set of multiplication operations by using alternatively a first set of approximate multiplication coefficients and a second set of approximate multiplication coefficients different from the first set of approximate multiplication coefficients. The approximate coefficients in the first set of approximate coefficients and the second set of approximate coefficients may approximate the multiplication coefficients in the set of filter multiplication coefficients as a function of negative power-of-two values (e.g. C1. The multiplication circuit blocks may include bit shifting circuit elements (e.g. 14, 14, 14.sub.1, 14.sub.2) performing the multiplication operations by means of bit shifting. Switching circuit blocks (e.g. 18) may be provided active on the multiplication circuit to produce alternation of multiplications with the first set of approximate coefficients and multiplications with the second set of approximate coefficients.
(98) One or more embodiments may relate to a device, which may comprise a circuit according to one or more embodiments, a source circuit of a digital signal (e.g. X(n)) comprising a sequence of samples, the source circuit coupled to the input node of the circuit to apply the input digital signal thereto, and a user circuit coupled to the output node of the circuit to receive therefrom the filtered output digital signal (e.g. Y(n)).
(99) Without prejudice to the underlying principles, the details and embodiments may vary, even significantly, with respect to what has been disclosed by way of example only, without departing from the extent of protection. The extent of protection is defined by the annexed claims.