US20020078114A1 - Fir decimation filter and method - Google Patents
Fir decimation filter and method Download PDFInfo
- Publication number
- US20020078114A1 US20020078114A1 US09/737,150 US73715000A US2002078114A1 US 20020078114 A1 US20020078114 A1 US 20020078114A1 US 73715000 A US73715000 A US 73715000A US 2002078114 A1 US2002078114 A1 US 2002078114A1
- Authority
- US
- United States
- Prior art keywords
- output
- information
- shift register
- input
- circuitry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
- H03H17/0635—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
- H03H17/065—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer
- H03H17/0664—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer where the output-delivery frequency is lower than the input sampling frequency, i.e. decimation
Definitions
- the invention relates to use of FIR filters as decimation filters, and more particularly to a FIR decimation filter which allows a reduction in the amount of integrated circuit chip area required, and which also reduces power dissipation, especially for high-performance applications.
- FIG. 1 shows a conventional finite impulse response filter 2 .
- FIR filter 2 includes a suitable number of delay elements 4 , 6 , 8 . . . 14 connected sequentially, so that the input signal IN is applied to the input of delay element 4 , the output of which is connected to the input of delay element 6 .
- the output of delay element 6 is connected to the input of the next delay element 8 , and so forth.
- Each of the delay elements “corresponds” to another of the delay elements so as to accomplish a desired filtering operation.
- the first delay element 4 corresponds to the last delay element 14
- the second delay element 6 corresponds to the next-to-last delay element 12 , and so forth.
- One commonly used type of FIR filter is a linear phase filter.
- the coefficients of a linear phase filter have symmetric features, and because of the symmetric features, the corresponding data bits referred to can be advantageously paired prior to reduce the number of multiplications required.
- outputs of the corresponding delay elements are added together, and the resulting sum is multiplied by a coefficient.
- the outputs of corresponding delay elements 4 and 14 are added together by adder 16 , and the result is multiplied by a first coefficient al by means of a first multiplier 17 .
- the outputs of corresponding delay elements 6 and 12 are added by adder 18 , and the resulting sum is multiplied by a coefficient a2 by means of a multiplier 19 , and so forth.
- the results of the adding operations and coefficient multiplication operations then are all summed by an adder 22 to produce an output signal OUT.
- the delay elements typically are implemented by using D-type flip-flops, which when connected as described above, constitute a shift register in which the flip-flop outputs constitute tap points. At least one adder, such as adder 16 , and at least one multiplier, such as multiplier al, are required for each corresponding pair of flip-flops, if the adder and multiplier are operating at the same speed as the rate at which the incoming data is being clocked into the shift register.
- each D-type flip-flop in prior art FIG. 1 still needs to be individually accessed with corresponding control circuitry to accomplish the required pre-adding, and also needs to transfer its content to the next successive D-type flip-flop.
- the excessive wiring, complex routing, and corresponding control logic circuitry of the FIR filter shown in FIG. 1 result in excessive use of surface area on an integrated circuit chip.
- FIG. 2 shows another 16 tap FIR filter 30 , which is implemented as a “dual-loop shift register” that may be used in some analog-to-digital converters.
- the dual loop shift register 30 includes a first shift register chain 38 in which data bits Z 1 , 2 . . . 8 are stored, and a second shift register chain 36 in which data bits Z 9 , 10 . . . 16 are stored.
- the output of flip-flop Z 8 is provided as an output at end 34 of shift register chain 38 and also is connected to the input of flip-flop Z 16 .
- Bit Z 9 provided as an output at end 34 of shift register chain 36 .
- FIG. 2 The configuration illustrated in parts (a)-(d) of FIG. 2 is for a 16-bit oversampling analog-to-digital converter (ADC).
- ADC analog-to-digital converter
- FIR filter 30 implemented as a dual-loop shift register, data signals Zi, wherein the index I is equal to 0,1,2 . . . , are accessed only at the ends 32 and 34 of shift register chains 36 and 38 . Larger values of the index letter I correspond to the most recent values of the bits Zi of the incoming input data signal.
- the flow of data through FIR filter 30 is illustrated in the sequence shown in FIG. 2, the initial state of FIR filter 30 being shown in part (a) of FIG. 2. After one data shift or clock cycle, the data bits are located as shown in part (b) of FIG. 2.
- the 16-bit shift register is operationally configured as shown in part (c) of FIG. 2 .
- the output of the shift register chain 38 is connected to the input of shift register chain 36 again, as shown in part (d) of FIG. 2, to start a new cycle.
- This operation aligns the shifted data so that corresponding bits of data can be added in a fashion analogous to that for the FIR filter of prior art FIG. 1.
- the shift register configuration of FIG. 2 may require less surface area of an integrated circuit chip because it does not require routing of the output of each flip-flop of each shift register chain to the various adders as in the prior art FIR filter of FIG. 1, the FIR filter of FIG. 2 requires calculating mathematical functions by clocking the two shift register chains with a significantly higher speed than the data input rate.
- the shift register chain has to be operated at least about eight times faster than the incoming data rate. This high-speed clocking substantially increases power dissipation. Also, in some cases the clocking speed required for calculating the mathematical functions may be too high to be practical using available technology.
- U.S. Pat. No. 5,170,368 discloses a digital decimation filter in which shift registers are used to take incoming data. A bank of switches is deployed between the shift registers and the accumulator output to provide, in conjunction with appropriate control circuitry, selective access to the content of the various shift register flip-flops to accomplish the data processing.
- U.S. Pat. No. 5,838,725 discloses a floating point digital transversal filter in which shift registers are used to take incoming data. The filter output result is generated through a ROM lookup table.
- U.S. Pat. No. 4,817,025 discloses a digital filter in which shift registers are used to take incoming data. Every register output is used for calculation every clock cycle.
- the digital filter is used in an interpolation filter.
- U.S. Pat. No. 5,193,070 discloses a transversal filter circuit having circuits that include bidirectional shift registers for serial multiplication. It is used to shift coefficients up or down for serial multiplication.
- U.S. Pat. No. 5,297,069 discloses a finite impulse response filter (FIR filter) in which shift registers are replaced by recirculating addressable memory. The shifting structure has feedback, making it a recirculating structure.
- FIR filter finite impulse response filter
- the invention provides an FIR decimation filter including a shift register ( 51 ) including M flip-flops arranged in M/R rows ( 52 , 54 , 56 , 58 ) of R bits each, wherein M/R is an integer and R is the decimation ratio of the FIR decimation filter.
- the shift register has an input for receiving serial digital input information.
- Half of the rows or sequentially arranged in an upper section, and a second half of the rows are arranged sequentially in a lower section. Each row has a left tap and a right tap.
- a bidirectional shift register ( 56 ) is included in the shift register ( 51 ).
- the bidirectional shift register ( 56 ) includes the top row of the lower section.
- a control circuit ( 70 ) controls shifting operations so as to shift input data and data present in the shift register ( 51 ) by R bits for each shifting operation so as to load a new group of R bits into each row.
- M/(2R) pre-adders ( 57 , 59 ) each have first and second inputs connected to the right tap points of symmetrically opposite rows of the upper section and lower section, respectively.
- Arithmetic circuitry ( 60 , 62 ) is coupled to outputs of the pre-adders to receive output information from the pre-adders and to receive coefficient information and to effectively multiply the output information by the coefficient information.
- the accumulator circuitry ( 74 ) is coupled to accumulate information from an output of the arithmetic circuitry and output the accumulated information as a filtered, decimated representation of the serial digital input information.
- the flip-flops are D-type flip-flops.
- FIG. 1 is a block diagram of a conventional finite impulse response filter (FIR).
- FIR finite impulse response filter
- FIG. 2 is a sequence of data flow diagrams useful in explaining the operation of a prior art “dual-loop shift register” FIR filter.
- FIG. 3A is a block diagram of a generalized FIR decimation filter according to the present invention.
- FIG. 3B is a block diagram of the bidirectional shift register 56 of FIG. 3A.
- FIG. 3C is a logic diagram of the combination of pre-adders 57 , add/subtract/null circuit 60 , and accumulator 64 used in FIG. 3A.
- FIGS. 4 A-D are block diagrams illustrating the operation of the FIR decimation filter of FIG. 3A.
- FIG. 5 is a block diagram of an alternative FIR decimation filter according to the present invention.
- the present invention includes the feature of accessing the data signals only at the ends of the shift register rows, as in the structure of prior art FIGS. 2 A-D, in order to reduce interconnect complexity that would be required if the structure of prior art FIG. 1 were to be used.
- the present invention also provides the advantage of enabling the 16-bit shift register 51 of FIG. 3A to shift at the same clock rate as the rate at which input data is shifted into the 16-bit shift register. This provides a substantial savings in power consumption, and also avoids the difficulty of having to provide the very high clock signal speed required by the system of prior art FIG. 2.
- FIG. 3A illustrates a general view of an FIR decimation filter circuit 50 in accordance with the present invention.
- the FIR filter circuit shown in FIG. 3A is illustrated for the case of a 16 tap FIR decimation filter with a decimation ratio of 4.
- a 16 tap shift register 51 includes a number of shift register rows or “slices” 52 , 54 , 56 and 58 , wherein data signals are accessed only at the ends of each of shift register rows 52 , 54 , 56 , and 58 .
- 16 tap shift register 51 includes sixteen D-type flip-flops FF 1 , 2 , 3 . . . 16 connected sequentially as illustrated to form a 16-bit shift register.
- the 16-bit shift register 51 is divided into four 4-bit shift register rows or sections 52 , 54 , 56 , and 58 . That is, the total number of taps (i.e., 16) of shift register 51 is divided by the decimation ratio (i.e., 4) of decimation filter 50 .
- Shift register row or section 52 includes flip-flops FF 1 , FF 2 , FF 3 , and FF 4 , with the input of flip-flop FF 1 receiving the input signal IN.
- the output of flip-flop FF 4 produces a digital signal S 1 on conductor 49 , which is connected to one input of an adder 57 .
- 16-bit shift register 51 also includes three additional four-bit shift register rows or sections 54 , 56 , and 58 .
- Section 54 includes flip-flops FF 5 , FF 6 , FF 7 , and FF 8 , with the input of flip-flop 5 being connected to the output of flip-flop FF 4 .
- the output of flip-flop FF 8 produces an output signal S 2 on conductor 51 , which is connected to one input of an adder 59 .
- Section 56 includes flip-flops FF 9 , FF 10 , FF 11 , and FF 12 connected as shown in FIG. 3B as a 4-bit bidirectional shift register.
- the input of bidirectional shift register 56 is connected to conductor 51 , and its output produces a signal S 3 on conductor 53 , which is connected to a second input of adder 59 .
- Section 58 includes FF 13 , FF 14 , FF 15 , and FF 16 , with the input of flip-flop 13 being connected to conductor 51 and the output of flip-flop FF 16 producing a signal S 4 on conductor 55 , which is connected to a second input of adder 57 .
- Control circuitry 70 provides a signal CLK on conductor 79 to the 16 tap shift register 51 , and also provides control signals on multiconductor bus 77 to control the direction of data shifting in row 56 , as subsequently explained.
- the output of adder 57 is applied to an input of Add/Sub/Null circuit 60 .
- Add/Sub/Null circuit 60 has a second input connected by multiconductor bus 61 to an output of a ROM (read only memory) 68 , which, when properly addressed via bus 75 by control circuitry 70 , produces a first coefficient value on multiconductor bus 61 .
- the output of adder 59 is connected to one input of an Add/Sub/Null circuit 62 having a second input connected by multi-conductor bus 63 to another output of ROM 68 , which produces a second coefficient value on conductor 63 . Since the data in the presently described embodiment of the invention is only one bit wide, pre-adding the two corresponding bits, paired as described above, results in only three different signals. Therefore, the required multiplication by a coefficient can be accomplished in a simple manner, by adding the coefficient to, subtracting the coefficient from, or performing a null operation on, the contents of an accumulator register. However, if multi-bit data is shifted through the shift register, then true multipliers rather than the Add/Sub/Null circuits, are required.
- Add/Sub/Null circuit 60 has a multi-conductor output 65 connected to parallel inputs of an accumulator 64 .
- the accumulator 64 has an output 69 connected to one input of an adder 72 .
- Add/Sub/Null circuit 62 has a multi-conductor output 67 connected to parallel inputs of an accumulator 66 .
- Accumulator 66 has an output 71 connected to another input of adder 72 .
- Adder 72 produces a decimated output signal OUT on conductor 73 .
- Accumulator 64 and accumulator 66 constitute a composite accumulator circuit 74 , which receives a control signal via conductor 76 and the clock signal CLK from control circuitry 70 .
- control circuitry 70 produces a signal on conductor 76 to clear or reset the composite accumulator circuit 74 . Then control circuitry 70 causes add/subtract/null operations to be performed by Add/Sub/Null circuits 60 and 62 on the outputs of adders 57 and 59 , respectively, and causes the results thereof to be accumulated in accumulators 64 and 66 , respectively. At the end of those operations, the result is output as data. One clock period later the composite accumulator 74 is reset, and the process is repeated. A detailed logic diagram of Add/Sub/Null circuit 60 is shown in subsequently described FIG. 3C.
- FIG. 3B shows an embodiment of the bidirectional shift register 56 implemented by using a plurality of 2-to-1 multiplexers and a plurality of flip-flops.
- bidirectional shift register 56 includes four D-type flip-flops 85 - 1 , 85 - 2 , 85 - 3 , and 85 - 4 , each having a clock input connected by conductor 80 to the system clock signal CLK.
- the D inputs of flip-flops 851 , 85 - 2 , 85 - 3 , and 85 - 4 are connected to the outputs of four 2-to-1 multiplexers (referred to as 2-1 multiplexers) 83 - 1 , 83 - 2 , 83 - 3 , and 83 - 4 , respectively.
- Each of multiplexers 83 - 1 , 2 , 3 , 4 has a direction input connected by conductor 81 to a left/right direction signal.
- Conductor 81 also is connected to the direction input of an output 2-1 multiplexer 87 .
- Each of multiplexers 83 - 1 , 2 , 3 , 4 has a first input IN 1 and a second input IN 2 , one of which is switched to the output of the subject multiplexer depending on the level of the left/right direction signal on conductor 81 .
- the first input of multiplexer 83 - 1 is connected by conductor 51 to the signal S 2 and also to the second input of multiplexer 83 - 4 .
- the second input of multiplexer 83 - 1 is connected to the output Q of multiplexer 85 - 2 and to the first input of multiplexer 83 - 3 .
- the first input of multiplexer 83 - 2 is connected to the Q output of flip-flop 85 - 1 and to the second input IN 2 of output multiplexer 87 .
- the second input of multiplexer 83 - 2 is connected to the Q output of multiplexer 85 - 3 and to the first input of multiplexer 83 - 4 .
- the second input of multiplexer 83 - 3 is connected to the Q output of multiplexer 85 - 4 and to the first input IN 1 of output multiplexer 2-1.
- the output of output multiplexer 87 is connected to above described conductor 53 to conduct the signal S 3 .
- bidirectional shift register 56 can easily provide various different implementations of bidirectional shift register 56 .
- the circuitry 57 , 60 , 64 includes pre-adder 57 , Add/Subtract/Null circuit 60 , and accumulator 64 , with conductors 49 and 55 connected to the two inputs of a two-input AND gate 90 , the output of which is connected to a first input of each of a bank of two-input AND gates 91 .
- the second input of each of two-input AND gates 91 is connected to a corresponding one of a plurality of conductors 61 which conduct the first coefficient from the output of read only memory 68 in FIG. 3A. In one actual implementation of the invention, the number of conductors 61 conducting the first coefficient is equal to 25.
- the outputs of the bank of AND gates 91 are connected, respectively, to a plurality of inputs of a bank of OR gates 92 , the outputs 65 of which are connected to parallel inputs of accumulator 64 .
- Conductors 49 and 55 also are connected to the two inputs, respectively, of a two-input NOR gate 93 , the output of which is connected to a first input of a bank of two-input AND gates 95 , the outputs of which are connected, respectively, to the second inputs of each of the NOR gates 92 .
- the second input of each of the bank of AND gates 95 is connected to an output of a corresponding inverter 94 .
- the inputs of the bank of inverters 94 are connected, respectively, to the conductors 61 conducting the first coefficient.
- the carry in input of accumulator 64 is connected to the output of a two-input NOR gate 98 , the inputs of which are connected to conductors 49 and 55 , which conduct S 1 and S 4 , respectively.
- FIR decimation filter 50 of FIG. 3A pairs up the data in 16-tap shift register 51 so as to reduce the number of required multiplications by one-half.
- the direction of data in the top row 56 of the bottom half 56 , 58 of shift register 51 is reversed for every 4-bit shifting operation, where every 4-bit shifting operation consists of shifting a number (equal to the decimation ratio) of successive additional bits of the input IN into shift register 51 .
- the shift register (i.e., shift register 51 ), is always divided into an upper half and a lower half, the input data IN is shifted into one end of the top row of flip-flops of the upper half, and the top row of flip-flops of the bottom half always is part of the above mentioned bidirectional shift register. That always results in the desired pairing of bits to be pre-added.
- the number of taps of the shift register is divided by the decimation ratio, and the result is rounded up to the next higher integer in order to determine the number of rows or slices into which shift register 51 is divided.
- the width, i.e., the number of bits, of each of row or slice is equal to the decimation ratio.
- the bits paired are the bits at symmetrically opposite row ends of the upper half and lower half of the shift register.
- the most recent data i.e., the data bits having the largest values of the index I indicated in subsequently described FIGS.
- Control circuitry 70 provides appropriate control signals to the 4-bit shift register rows 52 , 54 , 56 and 58 , ROM 68 , and accumulators 64 and 66 .
- Accumulators 64 and 66 operate in parallel for each operation, so as to accumulate the output of the Add/Sub/Null circuits 60 and 62 and to clock out multiple accumulated outputs at the end of an operation.
- the outputs of the parallel accumulators 64 and 66 are summed by adder 72 to produce a filtered, decimated output OUT.
- FIGS. 4 A-D illustrate the above operation by indicating the flow of data through row shift registers 52 , 54 , 56 , and 58 during the sequential stages of operation.
- Bidirectional shift register 56 changes direction after every 4-bit shifting operation so as to properly align the output streams S 1 , S 2 , S 3 and S 4 for the pre-adding function every (4 being the decimation ratio).
- FIGS. 4 A-D it is assumed that a serial stream of input data b i ,b i-1 ,b i-2 . . . b 1 represented by IN is being shifted in 4-bit groups into the input of 16-bit shift register 51 .
- bits b 16,15,14,13 of the serial stream are present in row shift register 52 , which consists of flip-flops FF 1 , 2 , 3 , 4 .
- Bits b 12,11,10,9 are stored in row shift register 54
- bits b 5,6,7,8 are stored in row shift register 56
- bits b 1,2,3,4 are stored in row shift register 58 , as shown.
- FIG. 4B illustrates the location of the various bits of IN after bits b 20,19,18,17 have been shifted from left to right into flip-flops 52 . This causes bits b 16,15,14,13 to be shifted from left to right into flip-flops 54 .
- the direction of data flow through bidirectional shift register 56 is reversed from the previous 4-bit group of input bits, so bits b 12,11,10,9 are shifted from right to left into flip-flops 56 .
- Bits b 5,6,7,8 are shifted from left to right into flip-flops 58 .
- FIG. 4C illustrates the location of the various bits of IN after bits b 24,23,22,21 have been shifted from left to right into flip-flops 52 , causing bits b 17,18,19,20 to be shifted from left to right into flip-flops 54 , bits b 13,14,15,16 to be shifted into flip-flops 56 , and bits b 9,10,11,12 to be serially shifted into flip-flop 58 .
- FIG. 4D illustrates the location of the various bits of IN after bits b 28,27,26,25 have been shifted from left to right into flip-flops 52 , bits b 24,23,22,21 have been shifted from left to right into flip-flops 54 , bits b 20,19,18,17 have been shifted from right to left into flip-flops 56 , and bits b 16,15,14,13 have been shifted from left to right into flip-flops 58 .
- the configuration shown in FIG. 4D shows bit b 25 properly aligned with bit b 16 so it can be pre-added by adder 59 , and also shows bit b 21 properly aligned with bit b 17 to be pre-added by adder 59 .
- FIG. 5 shows an alternative structure to that of FIG. 3A.
- FIR decimation filter 50 A is similar in structure to that of FIR decimation filter 50 of FIG. 3A except that the outputs of adders 57 and 59 were are connected to inputs of a multiplexer 47 instead of two Add/Sub/Null circuits 60 and 62 , and the accumulator structure 74 of FIG. 3A has been replaced by an accumulator circuit 78 shown in FIG. 5.
- the selection input of multiplier 47 is connected to receive a double-frequency control signal on conductor 84 from control circuitry 70 .
- the output of multiplexer 47 is connected to one input of a single Add/Sub/Null circuit (or multiplier circuit) 60 A, the other input of which receives a coefficient signal on multiconductor bus 61 A from the output of the ROM 68 .
- the output of Add/Sub/Null circuit 60 A is connected to the data input of accumulator 78 .
- Control circuitry 70 produces a double frequency accumulator control signal on conductor 48 which is applied to the control input of accumulator 78 .
- the output of accumulator 78 produces the decimated output signal OUT on conductor 73 .
- the circuit structure shown in FIG. 5 reduces the overall circuit cost by allowing hardware, including Add/Subtract/Null circuit 60 A and accumulator 78 , to be shared.
- providing the bidirectional shift register row 56 and altering the direction of the data stream therein avoids the need to use a feedback loop as required in the prior art.
- the technique of providing a bidirectional shift register row and altering the direction of the data stream has a further advantage that the clock speed of the shift registers can be seen as the speed at which the incoming data is clock into the shift registers.
Abstract
An FIR decimation filter includes the a shift register (51) including M flip-flops arranged in M/R rows (52, 54, 56, 58) of R bits each, wherein M/R is an integer and R is the decimation ratio of the FIR decimation filter. The shift register has an input for receiving serial digital input information. Half of the rows are sequentially arranged in an upper section and the other half of the rows are arranged sequentially in a lower section. Each row has a left tap and a right tap. The shift register includes a bidirectional shift register in the top row of the lower section. A control circuit (70) controls shifting operations which each shift input data and data present in the shift register (51) by R bits so as to load a new group of R bits into each row. M/(2R) pre-adders (57, 59) each have first and second inputs connected to the right tap points of symmetrically opposite rows of the upper section and lower section, respectively and arithmetic circuit (60,62) is coupled to receive output information from the pre-adders and effectively multiplying the output information by the coefficient information. An accumulator circuit (74) is coupled to accumulate information from an output of the arithmetic circuit and output the accumulated information as a filtered, decimated representation of the serial digital input information.
Description
- The invention relates to use of FIR filters as decimation filters, and more particularly to a FIR decimation filter which allows a reduction in the amount of integrated circuit chip area required, and which also reduces power dissipation, especially for high-performance applications.
- Prior art FIG. 1 shows a conventional finite
impulse response filter 2. (Finite impulse response filters are hereinafter referred to as FIR filters.)FIR filter 2 includes a suitable number ofdelay elements delay element 4, the output of which is connected to the input ofdelay element 6. The output ofdelay element 6 is connected to the input of thenext delay element 8, and so forth. Each of the delay elements “corresponds” to another of the delay elements so as to accomplish a desired filtering operation. For example, thefirst delay element 4 corresponds to thelast delay element 14, and thesecond delay element 6 corresponds to the next-to-last delay element 12, and so forth. One commonly used type of FIR filter is a linear phase filter. The coefficients of a linear phase filter have symmetric features, and because of the symmetric features, the corresponding data bits referred to can be advantageously paired prior to reduce the number of multiplications required. - Specifically, outputs of the corresponding delay elements are added together, and the resulting sum is multiplied by a coefficient. For example, the outputs of
corresponding delay elements adder 16, and the result is multiplied by a first coefficient al by means of afirst multiplier 17. Similarly, the outputs ofcorresponding delay elements adder 18, and the resulting sum is multiplied by a coefficient a2 by means of amultiplier 19, and so forth. The results of the adding operations and coefficient multiplication operations then are all summed by anadder 22 to produce an output signal OUT. The delay elements typically are implemented by using D-type flip-flops, which when connected as described above, constitute a shift register in which the flip-flop outputs constitute tap points. At least one adder, such asadder 16, and at least one multiplier, such as multiplier al, are required for each corresponding pair of flip-flops, if the adder and multiplier are operating at the same speed as the rate at which the incoming data is being clocked into the shift register. - However, the fact that the output rate of a decimation filter is much lower than its input rate usually allows some hardware, especially adders and multipliers, to be shared in a simplified design. If the multipliers and associated accumulators are allowed to operate at multiples of the rate at which the incoming data is being clocked into the shift register, then multiple pairs of flip-flops of the shift register can share the same multiplier and accumulator circuitry.
- Nevertheless, each D-type flip-flop in prior art FIG. 1 still needs to be individually accessed with corresponding control circuitry to accomplish the required pre-adding, and also needs to transfer its content to the next successive D-type flip-flop. The excessive wiring, complex routing, and corresponding control logic circuitry of the FIR filter shown in FIG. 1 result in excessive use of surface area on an integrated circuit chip.
- Prior art FIG. 2 shows another 16
tap FIR filter 30, which is implemented as a “dual-loop shift register” that may be used in some analog-to-digital converters. As shown in part (a) of FIG. 2, the dualloop shift register 30 includes a firstshift register chain 38 in which data bits Z1,2 . . . 8 are stored, and a secondshift register chain 36 in which data bits Z9,10 . . . 16 are stored. The output of flip-flop Z8 is provided as an output atend 34 ofshift register chain 38 and also is connected to the input of flip-flop Z16. Bit Z9 provided as an output atend 34 ofshift register chain 36. - The configuration illustrated in parts (a)-(d) of FIG. 2 is for a 16-bit oversampling analog-to-digital converter (ADC). With
FIR filter 30 implemented as a dual-loop shift register, data signals Zi, wherein the index I is equal to 0,1,2 . . . , are accessed only at theends shift register chains FIR filter 30 is illustrated in the sequence shown in FIG. 2, the initial state ofFIR filter 30 being shown in part (a) of FIG. 2. After one data shift or clock cycle, the data bits are located as shown in part (b) of FIG. 2. After the next seven data shifting operations, the 16-bit shift register is operationally configured as shown in part (c) of FIG. 2 . After one more clock cycle, the output of theshift register chain 38 is connected to the input ofshift register chain 36 again, as shown in part (d) of FIG. 2, to start a new cycle. This operation aligns the shifted data so that corresponding bits of data can be added in a fashion analogous to that for the FIR filter of prior art FIG. 1. - Although the shift register configuration of FIG. 2 may require less surface area of an integrated circuit chip because it does not require routing of the output of each flip-flop of each shift register chain to the various adders as in the prior art FIR filter of FIG. 1, the FIR filter of FIG. 2 requires calculating mathematical functions by clocking the two shift register chains with a significantly higher speed than the data input rate. In this 16 tap filter, the shift register chain has to be operated at least about eight times faster than the incoming data rate. This high-speed clocking substantially increases power dissipation. Also, in some cases the clocking speed required for calculating the mathematical functions may be too high to be practical using available technology.
- U.S. Pat. No. 5,170,368 discloses a digital decimation filter in which shift registers are used to take incoming data. A bank of switches is deployed between the shift registers and the accumulator output to provide, in conjunction with appropriate control circuitry, selective access to the content of the various shift register flip-flops to accomplish the data processing. U.S. Pat. No. 5,838,725 discloses a floating point digital transversal filter in which shift registers are used to take incoming data. The filter output result is generated through a ROM lookup table. U.S. Pat. No. 4,817,025 discloses a digital filter in which shift registers are used to take incoming data. Every register output is used for calculation every clock cycle. The digital filter is used in an interpolation filter. U.S. Pat. No. 5,193,070 discloses a transversal filter circuit having circuits that include bidirectional shift registers for serial multiplication. It is used to shift coefficients up or down for serial multiplication. U.S. Pat. No. 5,297,069 discloses a finite impulse response filter (FIR filter) in which shift registers are replaced by recirculating addressable memory. The shifting structure has feedback, making it a recirculating structure.
- Accordingly, it is an object of the invention to provide an FIR decimation filter which consumes less power and requires less integrated circuit chip area than the above described prior art.
- It is another object of the invention to provide a generic design methodology for an FIR decimation filter.
- Briefly described, and in accordance with one embodiment thereof, the invention provides an FIR decimation filter including a shift register (51) including M flip-flops arranged in M/R rows (52, 54, 56, 58) of R bits each, wherein M/R is an integer and R is the decimation ratio of the FIR decimation filter. The shift register has an input for receiving serial digital input information. Half of the rows or sequentially arranged in an upper section, and a second half of the rows are arranged sequentially in a lower section. Each row has a left tap and a right tap. A bidirectional shift register (56) is included in the shift register (51). The bidirectional shift register (56) includes the top row of the lower section. A control circuit (70) controls shifting operations so as to shift input data and data present in the shift register (51) by R bits for each shifting operation so as to load a new group of R bits into each row. M/(2R) pre-adders (57, 59) each have first and second inputs connected to the right tap points of symmetrically opposite rows of the upper section and lower section, respectively. Arithmetic circuitry (60,62) is coupled to outputs of the pre-adders to receive output information from the pre-adders and to receive coefficient information and to effectively multiply the output information by the coefficient information. The accumulator circuitry (74) is coupled to accumulate information from an output of the arithmetic circuitry and output the accumulated information as a filtered, decimated representation of the serial digital input information. In the described embodiments, the flip-flops are D-type flip-flops.
- FIG. 1 is a block diagram of a conventional finite impulse response filter (FIR).
- FIG. 2 is a sequence of data flow diagrams useful in explaining the operation of a prior art “dual-loop shift register” FIR filter.
- FIG. 3A is a block diagram of a generalized FIR decimation filter according to the present invention.
- FIG. 3B is a block diagram of the
bidirectional shift register 56 of FIG. 3A. - FIG. 3C is a logic diagram of the combination of pre-adders57, add/subtract/
null circuit 60, andaccumulator 64 used in FIG. 3A. - FIGS.4A-D are block diagrams illustrating the operation of the FIR decimation filter of FIG. 3A.
- FIG. 5 is a block diagram of an alternative FIR decimation filter according to the present invention.
- The present invention includes the feature of accessing the data signals only at the ends of the shift register rows, as in the structure of prior art FIGS.2A-D, in order to reduce interconnect complexity that would be required if the structure of prior art FIG. 1 were to be used. The present invention also provides the advantage of enabling the 16-
bit shift register 51 of FIG. 3A to shift at the same clock rate as the rate at which input data is shifted into the 16-bit shift register. This provides a substantial savings in power consumption, and also avoids the difficulty of having to provide the very high clock signal speed required by the system of prior art FIG. 2. - FIG. 3A illustrates a general view of an FIR
decimation filter circuit 50 in accordance with the present invention. The FIR filter circuit shown in FIG. 3A is illustrated for the case of a 16 tap FIR decimation filter with a decimation ratio of 4. A 16tap shift register 51 includes a number of shift register rows or “slices” 52, 54, 56 and 58, wherein data signals are accessed only at the ends of each ofshift register rows - In FIG. 3A, 16
tap shift register 51 includes sixteen D-type flip-flops FF1,2,3 . . . 16 connected sequentially as illustrated to form a 16-bit shift register. The 16-bit shift register 51 is divided into four 4-bit shift register rows orsections shift register 51 is divided by the decimation ratio (i.e., 4) ofdecimation filter 50. - Shift register row or
section 52 includes flip-flops FF1, FF2, FF3, and FF4, with the input of flip-flop FF1 receiving the input signal IN. The output of flip-flop FF4 produces a digital signal S1 onconductor 49, which is connected to one input of anadder 57. 16-bit shift register 51 also includes three additional four-bit shift register rows orsections Section 54 includes flip-flops FF5, FF6, FF7, and FF8, with the input of flip-flop 5 being connected to the output of flip-flop FF4. The output of flip-flop FF8 produces an output signal S2 onconductor 51, which is connected to one input of anadder 59. -
Section 56 includes flip-flops FF9, FF10, FF11, and FF12 connected as shown in FIG. 3B as a 4-bit bidirectional shift register. The input ofbidirectional shift register 56 is connected toconductor 51, and its output produces a signal S3 onconductor 53, which is connected to a second input ofadder 59. -
Section 58 includes FF13, FF14, FF15, and FF16, with the input of flip-flop 13 being connected toconductor 51 and the output of flip-flop FF16 producing a signal S4 onconductor 55, which is connected to a second input ofadder 57. -
Control circuitry 70 provides a signal CLK onconductor 79 to the 16tap shift register 51, and also provides control signals onmulticonductor bus 77 to control the direction of data shifting inrow 56, as subsequently explained. The output ofadder 57 is applied to an input of Add/Sub/Null circuit 60. Add/Sub/Null circuit 60 has a second input connected bymulticonductor bus 61 to an output of a ROM (read only memory) 68, which, when properly addressed viabus 75 bycontrol circuitry 70, produces a first coefficient value onmulticonductor bus 61. The output ofadder 59 is connected to one input of an Add/Sub/Null circuit 62 having a second input connected bymulti-conductor bus 63 to another output ofROM 68, which produces a second coefficient value onconductor 63. Since the data in the presently described embodiment of the invention is only one bit wide, pre-adding the two corresponding bits, paired as described above, results in only three different signals. Therefore, the required multiplication by a coefficient can be accomplished in a simple manner, by adding the coefficient to, subtracting the coefficient from, or performing a null operation on, the contents of an accumulator register. However, if multi-bit data is shifted through the shift register, then true multipliers rather than the Add/Sub/Null circuits, are required. - Add/Sub/
Null circuit 60 has amulti-conductor output 65 connected to parallel inputs of anaccumulator 64. Theaccumulator 64 has anoutput 69 connected to one input of anadder 72. Add/Sub/Null circuit 62 has amulti-conductor output 67 connected to parallel inputs of anaccumulator 66.Accumulator 66 has anoutput 71 connected to another input ofadder 72.Adder 72 produces a decimated output signal OUT onconductor 73.Accumulator 64 andaccumulator 66 constitute acomposite accumulator circuit 74, which receives a control signal viaconductor 76 and the clock signal CLK fromcontrol circuitry 70. At the beginning of each numerical sequence producing output data,control circuitry 70 produces a signal onconductor 76 to clear or reset thecomposite accumulator circuit 74. Then controlcircuitry 70 causes add/subtract/null operations to be performed by Add/Sub/Null circuits adders accumulators composite accumulator 74 is reset, and the process is repeated. A detailed logic diagram of Add/Sub/Null circuit 60 is shown in subsequently described FIG. 3C. - FIG. 3B shows an embodiment of the
bidirectional shift register 56 implemented by using a plurality of 2-to-1 multiplexers and a plurality of flip-flops. Referring to FIG. 3B,bidirectional shift register 56 includes four D-type flip-flops 85-1, 85-2, 85-3, and 85-4, each having a clock input connected byconductor 80 to the system clock signal CLK. The D inputs of flip-flops 851, 85-2, 85-3, and 85-4 are connected to the outputs of four 2-to-1 multiplexers (referred to as 2-1 multiplexers) 83-1, 83-2, 83-3, and 83-4, respectively. Each of multiplexers 83-1,2,3,4 has a direction input connected byconductor 81 to a left/right direction signal.Conductor 81 also is connected to the direction input of an output 2-1multiplexer 87. Each of multiplexers 83-1,2,3,4 has a first input IN1 and a second input IN2, one of which is switched to the output of the subject multiplexer depending on the level of the left/right direction signal onconductor 81. The first input of multiplexer 83-1 is connected byconductor 51 to the signal S2 and also to the second input of multiplexer 83-4. The second input of multiplexer 83-1 is connected to the output Q of multiplexer 85-2 and to the first input of multiplexer 83-3. The first input of multiplexer 83-2 is connected to the Q output of flip-flop 85-1 and to the second input IN2 ofoutput multiplexer 87. The second input of multiplexer 83-2 is connected to the Q output of multiplexer 85-3 and to the first input of multiplexer 83-4. The second input of multiplexer 83-3 is connected to the Q output of multiplexer 85-4 and to the first input IN1 of output multiplexer 2-1. The output ofoutput multiplexer 87 is connected to above describedconductor 53 to conduct the signal S3. Of course, those skilled in part can easily provide various different implementations ofbidirectional shift register 56. - Referring to FIG. 3C, the
circuitry pre-adder 57, Add/Subtract/Null circuit 60, andaccumulator 64, withconductors gate 90, the output of which is connected to a first input of each of a bank of two-input ANDgates 91. The second input of each of two-input ANDgates 91 is connected to a corresponding one of a plurality ofconductors 61 which conduct the first coefficient from the output of read onlymemory 68 in FIG. 3A. In one actual implementation of the invention, the number ofconductors 61 conducting the first coefficient is equal to 25. The outputs of the bank of ANDgates 91 are connected, respectively, to a plurality of inputs of a bank of ORgates 92, theoutputs 65 of which are connected to parallel inputs ofaccumulator 64. -
Conductors gate 93, the output of which is connected to a first input of a bank of two-input ANDgates 95, the outputs of which are connected, respectively, to the second inputs of each of the NORgates 92. The second input of each of the bank of ANDgates 95 is connected to an output of a correspondinginverter 94. The inputs of the bank ofinverters 94 are connected, respectively, to theconductors 61 conducting the first coefficient. - The carry in input of
accumulator 64 is connected to the output of a two-input NORgate 98, the inputs of which are connected toconductors - If S1 and S4 are both at a logical “0”, then the circuitry of FIG. 3C subtracts the first coefficient on
conductors 61 from the contents ofaccumulator 64. If S1 and S2 both are at a logical “1”, then the circuitry of FIG. 3C adds the first coefficient onconductors 61 to the contents ofaccumulator 64. If S1 is a “0” and S4 is a “1” or vice versa, then theoutputs 65 of the bank of NORgates 92 outputs all “0”s which are added to the contents ofaccumulator 64. - It may be helpful to understand that when S1 and S4 are both equal to a logical “0”, the circuit of FIG. 3C produces the inverted value of the first coefficient. The output of NOR
gate 98 is applied to the carry in input ofaccumulator 64 and is at a logical “1”. This results in subtraction of the first coefficient from the contents of theaccumulator 64. The other three possible values of S1 and S2 result in a logical “0” at the output of NORgate 98. This results in addition of the number onconductors 65 to the contents of accumulator 64 (when the first coefficient and accumulator contents are expressed in two's complement format). When S1 and S4 both are at a logical “1”, then the value of the first coefficient is replicated onconductors 65, and this value is added to the contents ofaccumulator 64. (It should be noted that those skilled in the art could readily provide the function accomplished by the circuit of FIG. 3C in various other ways.) - In operation,
FIR decimation filter 50 of FIG. 3A pairs up the data in 16-tap shift register 51 so as to reduce the number of required multiplications by one-half. In order to pair up the data properly, the direction of data in thetop row 56 of thebottom half shift register 51 is reversed for every 4-bit shifting operation, where every 4-bit shifting operation consists of shifting a number (equal to the decimation ratio) of successive additional bits of the input IN intoshift register 51. - Note that this basic algorithm and structure apply regardless of what the decimation ratio R is and regardless of how many bits are included in the
shift register 51. The shift register (i.e., shift register 51), is always divided into an upper half and a lower half, the input data IN is shifted into one end of the top row of flip-flops of the upper half, and the top row of flip-flops of the bottom half always is part of the above mentioned bidirectional shift register. That always results in the desired pairing of bits to be pre-added. - The number of taps of the shift register is divided by the decimation ratio, and the result is rounded up to the next higher integer in order to determine the number of rows or slices into which
shift register 51 is divided. The width, i.e., the number of bits, of each of row or slice is equal to the decimation ratio. The bits paired are the bits at symmetrically opposite row ends of the upper half and lower half of the shift register. The most recent data, i.e., the data bits having the largest values of the index I indicated in subsequently described FIGS. 4A-D, always appear at the “left” ends of the rows of flip-flops in the “upper” half of the shift register, and the data bits having the largest values of the index I always appear at the “right” ends of the rows of flip-flops in the “lower” half of the shift register. It is the alternating of the direction of data shifting inbidirectional shift register 56 every other 4-bit operation shifting the input data IN which makes that happen. - In the case of 1-bit wide data, the result of the pre-adding is simply to determine whether to add a coefficient, subtract the coefficient, or do nothing. The result of this determination is equivalent to multiplying by the coefficient, so Add/Sub/
Null circuits Control circuitry 70 provides appropriate control signals to the 4-bitshift register rows ROM 68, andaccumulators Accumulators Null circuits parallel accumulators adder 72 to produce a filtered, decimated output OUT. - FIGS.4A-D illustrate the above operation by indicating the flow of data through row shift registers 52, 54, 56, and 58 during the sequential stages of operation.
Bidirectional shift register 56 changes direction after every 4-bit shifting operation so as to properly align the output streams S1, S2, S3 and S4 for the pre-adding function every (4 being the decimation ratio). - In FIGS.4A-D it is assumed that a serial stream of input data bi,bi-1,bi-2 . . . b1 represented by IN is being shifted in 4-bit groups into the input of 16-
bit shift register 51. In FIG. 4A, bits b16,15,14,13 of the serial stream are present inrow shift register 52, which consists of flip-flops FF1,2,3,4. Bits b12,11,10,9 are stored inrow shift register 54, bits b5,6,7,8 are stored inrow shift register 56, and bits b1,2,3,4 are stored inrow shift register 58, as shown. - FIG. 4B illustrates the location of the various bits of IN after bits b20,19,18,17 have been shifted from left to right into flip-
flops 52. This causes bits b16,15,14,13 to be shifted from left to right into flip-flops 54. The direction of data flow throughbidirectional shift register 56 is reversed from the previous 4-bit group of input bits, so bits b12,11,10,9 are shifted from right to left into flip-flops 56. Bits b5,6,7,8 are shifted from left to right into flip-flops 58. - FIG. 4C illustrates the location of the various bits of IN after bits b24,23,22,21 have been shifted from left to right into flip-
flops 52, causing bits b17,18,19,20 to be shifted from left to right into flip-flops 54, bits b13,14,15,16 to be shifted into flip-flops 56, and bits b9,10,11,12 to be serially shifted into flip-flop 58. - FIG. 4D illustrates the location of the various bits of IN after bits b28,27,26,25 have been shifted from left to right into flip-
flops 52, bits b24,23,22,21 have been shifted from left to right into flip-flops 54, bits b20,19,18,17 have been shifted from right to left into flip-flops 56, and bits b16,15,14,13 have been shifted from left to right into flip-flops 58. The configuration shown in FIG. 4D shows bit b25 properly aligned with bit b16 so it can be pre-added byadder 59, and also shows bit b21 properly aligned with bit b17 to be pre-added byadder 59. This is consistent with the above-described algorithm, and which the most recent bits, i.e., the bits with the largest index I, appear at the left ends of therows shift register 51 and at the right ends of therows shift register 51. Note that the ideas of the rows orsections shift register 51 is capable of having an “upper” portion and a “lower” portion and that is theoretically capable of being divided into upper, lower, right, and left rows or sections as described. - FIG. 5 shows an alternative structure to that of FIG. 3A. Referring to FIG. 5,
FIR decimation filter 50A is similar in structure to that ofFIR decimation filter 50 of FIG. 3A except that the outputs ofadders multiplexer 47 instead of two Add/Sub/Null circuits accumulator structure 74 of FIG. 3A has been replaced by anaccumulator circuit 78 shown in FIG. 5. In FIG. 5, the selection input ofmultiplier 47 is connected to receive a double-frequency control signal onconductor 84 fromcontrol circuitry 70. The output ofmultiplexer 47 is connected to one input of a single Add/Sub/Null circuit (or multiplier circuit) 60A, the other input of which receives a coefficient signal onmulticonductor bus 61A from the output of theROM 68. The output of Add/Sub/Null circuit 60A is connected to the data input ofaccumulator 78.Control circuitry 70 produces a double frequency accumulator control signal onconductor 48 which is applied to the control input ofaccumulator 78. The output ofaccumulator 78 produces the decimated output signal OUT onconductor 73. The circuit structure shown in FIG. 5 reduces the overall circuit cost by allowing hardware, including Add/Subtract/Null circuit 60A andaccumulator 78, to be shared. - In accordance with the present invention, providing the bidirectional
shift register row 56 and altering the direction of the data stream therein avoids the need to use a feedback loop as required in the prior art. The technique of providing a bidirectional shift register row and altering the direction of the data stream has a further advantage that the clock speed of the shift registers can be seen as the speed at which the incoming data is clock into the shift registers. - While the invention has been described with reference to several particular embodiments thereof, those skilled in the art will be able to make the various modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention. It is intended that all elements or steps which are insubstantially different or perform substantially the same function in substantially the same way to achieve the same result as what is claimed are within the scope of the invention.
Claims (11)
1. An FIR decimation filter comprising:
(a) a shift register including M flip-flops arranged in M/R rows of R bits each, wherein M/R is an integer and R is the decimation ratio of the FIR decimation filter, the shift register having an input for receiving serial digital input information, half of the rows being sequentially arranged in an upper section, a second half of the rows being arranged sequentially in a lower section, each row having a left tap and a right tap;
(b) a bidirectional shift register included in the shift register including a one of the rows located at the top of the lower section;
(c) control circuitry for controlling the a shifting operations to shift input data and data present in the shift register by R bits for each shifting operations so as to load a new group of R bits into each row;
(d) M/(2R) pre-adders each having first and second inputs connected to the right tap points of symmetrically opposite rows of the upper section and lower section, respectively;
(e) arithmetic circuitry coupled to outputs of the pre-adders for receiving output information from the pre-adders and for receiving coefficient information and effectively multiplying the output information by the coefficient information; and
(f) accumulator circuitry coupled to accumulate information from an output of the arithmetic circuitry and output the accumulated information as a filtered, decimated representation of the serial digital input information.
2. The FIR decimation filter of claim 1 wherein the flip-flops are D-type flip-flops.
3. The FIR decimation filter of claim 1 wherein the serial digital information is one bit wide, and wherein the arithmetic circuitry includes a first addition/subtraction/null circuit for adding the coefficient information to the contents of the accumulator circuitry, subtracting the coefficient information from the contents of the accumulator circuitry, or neither, depending on the output of one of the pre-adders.
4. The FIR decimation filter of claim 3 wherein the first addition/subtraction/null circuit has an input coupled to an output of a first pre-adder, and the arithmetic circuitry includes a second addition/subtraction/null circuit having input coupled to an output of a second pre-adder and an output coupled to a second input of the accumulator circuitry.
5. The FIR decimation filter of claim 1 wherein the arithmetic circuitry includes at least one multiplier circuit coupled to receive output information from at least one of the pre-adders and an output coupled to the accumulator circuitry.
6. The FIR decimation filter of claim 1 including a and a read only memory coupled to receive a coefficient information addresses from the control circuitry, the read only memory storing addressable coefficient information, the read only memory having an output coupled to the arithmetic circuitry.
7. The FIR decimation filter of claim 4 wherein the accumulator circuitry includes a first accumulator and a second accumulator, the first accumulator having an input coupled to the output of the first addition/subtraction/null circuit, the second accumulator having an input coupled to the output of the second addition/subtraction/null circuit, the outputs of the first and second addition/subtraction/null circuits being coupled to first and second inputs, respectively, of an adder circuit to output the accumulated information is the filtered, decimated representation of the serial digital input information.
8. The FIR decimation filter of claim 1 including a the multiplexer circuit having first and second inputs coupled to outputs of a plurality of the pre-adders and an output coupled to an input of the arithmetic circuitry, the multiplexer circuit including a channel selection input coupled to an output of the control circuitry for receiving an increased-frequency channel selection signal from the control circuitry, the accumulator circuitry having a control input coupled to receive an increased-frequency control signal from the control circuitry.
9. The FIR decimation filter of claim 1 wherein the bidirectional shift register includes R flip-flops and multiplexing circuitry including a direction control input coupled to the control circuitry and also including outputs and selectable inputs connected ball to the outputs in response to a direction control signal received from the control circuitry, the outputs of the multiplexing circuitry being coupled to inputs of the flip-flops, respectively, and the various inputs of the multiplexing circuitry being coupled to outputs of the various R flip-flops so as to shift data output by a one of the rows located at the bottom of the upper section through the R-flops in directions determined by the control circuitry.
10. An FIR decimation filter comprising:
(a) a shift register including M flip-flops arranged in M/R row sections which can be conceptualized as rows of R bits each, wherein M/R is an integer and R is the decimation ratio of the FIR decimation filter, the shift register having an input for receiving serial digital input information, half of the row sections being sequentially arranged in a first major section which can be conceptualized as an upper section, a second half of the row sections being arranged sequentially in a second major section which can be conceptualized as a lower section, each row sections having a first end tap which can be conceptualized as a left tap and a second end tap which can be conceptualized as a right tap;
(b) a bidirectional shift register in one of the M/R row sections located in the second major section at a location thereof which can be conceptualized as a top of the second major section;
(c) control circuitry for controlling the a shifting operations to shift input data and data present in the shift register by R bits for each shifting operations so as to load a new group of R bits into each row section;
(d) M/(2R) pre-adders each having first and second inputs connected to the right tap points of symmetrically opposite row sections of the first major section and second major section, respectively;
(e) arithmetic circuitry coupled to outputs of the pre-adders for receiving output information from the pre-adders and for receiving coefficient information and effectively multiplying the output information by the coefficient information; and
(f) accumulator circuitry coupled to accumulate information from an output of the arithmetic circuitry and output the accumulated information as a filtered, decimated representation of the serial digital input information.
11. A method of operating an FIR decimation filter, comprising:
(a) providing a shift register including M flip-flops arranged in M/R rows of R bits each, wherein M/R is an integer and R is the decimation ratio of the FIR decimation filter, the shift register having an input for receiving serial digital input information, half of the rows being sequentially arranged in an upper section, a second half of the rows being arranged sequentially in a lower section, each row having a left tap and a right tap;
(b) performing shifting operations in which R bits of the input information are shifted into a first row at the top of the upper section during each shifting operations, such that a group of R new bits appear in each row, respectively, as a result of each shifting operation;
(c) reversing a direction of shifting all of the R bits from the bottom row of the upper section through the top row of the bottom section 4 every shifting operation;
(d) pre-adding information from the right taps of the rows by means of M/(2R) pre-adders each having first and second inputs connected to the right tap points of symmetrically opposite rows of the upper section and lower section, respectively;
(e) operating arithmetic circuitry coupled to outputs of the pre-adders for receiving output information from the pre-adders to effectively multiply the output information by predetermined FIR coefficient information; and
(f) accumulating information from an output of the arithmetic circuitry and outputting the accumulated information at a predetermined decimated rate.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/737,150 US6427158B1 (en) | 2000-12-14 | 2000-12-14 | FIR decimation filter and method |
JP2002550548A JP2004516707A (en) | 2000-12-14 | 2001-10-31 | FIR decimation filter and method thereof |
PCT/US2001/045726 WO2002048904A1 (en) | 2000-12-14 | 2001-10-31 | Fir decimation filter and method |
EP01984961A EP1344147A4 (en) | 2000-12-14 | 2001-10-31 | Fir decimation filter and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/737,150 US6427158B1 (en) | 2000-12-14 | 2000-12-14 | FIR decimation filter and method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20020078114A1 true US20020078114A1 (en) | 2002-06-20 |
US6427158B1 US6427158B1 (en) | 2002-07-30 |
Family
ID=24962769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/737,150 Expired - Lifetime US6427158B1 (en) | 2000-12-14 | 2000-12-14 | FIR decimation filter and method |
Country Status (4)
Country | Link |
---|---|
US (1) | US6427158B1 (en) |
EP (1) | EP1344147A4 (en) |
JP (1) | JP2004516707A (en) |
WO (1) | WO2002048904A1 (en) |
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143615A1 (en) * | 2002-03-14 | 2004-07-22 | Hidekuni Yomo | Finite impulse response filter and digital signal receiving apparatus |
CN100377259C (en) * | 2003-06-10 | 2008-03-26 | 夏普株式会社 | Bidirectional shift register and display device incorporating same |
US20090016634A1 (en) * | 2007-07-09 | 2009-01-15 | Analog Devices, Inc. | Half pixel interpolator for video motion estimation accelerator |
US7949699B1 (en) * | 2007-08-30 | 2011-05-24 | Altera Corporation | Implementation of decimation filter in integrated circuit device using ram-based data storage |
US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
US8131790B2 (en) | 2006-11-09 | 2012-03-06 | Yokogawa Electric Corporation | Decimation filter |
US8266199B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8266198B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8301681B1 (en) | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
US8307023B1 (en) | 2008-10-10 | 2012-11-06 | Altera Corporation | DSP block for implementing large multiplier on a programmable integrated circuit device |
US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
US8386550B1 (en) | 2006-09-20 | 2013-02-26 | Altera Corporation | Method for configuring a finite impulse response filter in a programmable logic device |
US8396914B1 (en) | 2009-09-11 | 2013-03-12 | Altera Corporation | Matrix decomposition in an integrated circuit device |
US8412756B1 (en) | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in a programmable integrated circuit device |
US8484265B1 (en) | 2010-03-04 | 2013-07-09 | Altera Corporation | Angular range reduction in an integrated circuit device |
US8510354B1 (en) | 2010-03-12 | 2013-08-13 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8539016B1 (en) | 2010-02-09 | 2013-09-17 | Altera Corporation | QR decomposition in an integrated circuit device |
US8539014B2 (en) | 2010-03-25 | 2013-09-17 | Altera Corporation | Solving linear matrices in an integrated circuit device |
US8543634B1 (en) | 2012-03-30 | 2013-09-24 | Altera Corporation | Specialized processing block for programmable integrated circuit device |
US8577951B1 (en) | 2010-08-19 | 2013-11-05 | Altera Corporation | Matrix operations in an integrated circuit device |
US8589463B2 (en) | 2010-06-25 | 2013-11-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8601044B2 (en) | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
US8620980B1 (en) | 2005-09-27 | 2013-12-31 | Altera Corporation | Programmable device with specialized multiplier blocks |
US8645450B1 (en) | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
US8645451B2 (en) | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block in an integrated circuit device |
US8645449B1 (en) | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
US8650236B1 (en) | 2009-08-04 | 2014-02-11 | Altera Corporation | High-rate interpolation or decimation filter in integrated circuit device |
US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
US8706790B1 (en) | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US8762443B1 (en) | 2011-11-15 | 2014-06-24 | Altera Corporation | Matrix operations in an integrated circuit device |
US8788562B2 (en) | 2006-12-05 | 2014-07-22 | Altera Corporation | Large multiplier for programmable logic device |
US8812576B1 (en) | 2011-09-12 | 2014-08-19 | Altera Corporation | QR decomposition in an integrated circuit device |
US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
US20170063575A1 (en) * | 2015-08-24 | 2017-03-02 | Texas Instruments Incorporated | Analog-digital compatible re-sampling |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US9837988B1 (en) * | 2015-03-26 | 2017-12-05 | Altera Corporation | Dynamically adjustable decimation filter circuitry |
US10268605B1 (en) * | 2014-04-30 | 2019-04-23 | Altera Corporation | Hybrid architecture for signal processing and signal processing accelerator |
US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
US11114137B2 (en) * | 2004-10-25 | 2021-09-07 | Texas Instruments Incorporated | Bidirectional data pin, clock input pin, shift register, debug circuitry |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100425418B1 (en) * | 2001-09-07 | 2004-03-30 | 삼성탈레스 주식회사 | Block interpolation filter structure using loop up table |
US20030061527A1 (en) * | 2001-09-26 | 2003-03-27 | Intel Corporation | Method and apparatus for realigning bits on a parallel bus |
US7492848B2 (en) * | 2005-04-13 | 2009-02-17 | Texas Instruments Incorporated | Method and apparatus for efficient multi-stage FIR filters |
US20070052557A1 (en) * | 2005-09-02 | 2007-03-08 | Thomas Magdeburger | Shared memory and shared multiplier programmable digital-filter implementation |
US8165214B2 (en) * | 2007-05-08 | 2012-04-24 | Freescale Semiconductor, Inc. | Circuit and method for generating fixed point vector dot product and matrix vector values |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3980873A (en) * | 1975-06-27 | 1976-09-14 | Aeronutronic Ford Corporation | Digital convolutional filter |
NL7905332A (en) * | 1979-07-09 | 1981-01-13 | Philips Nv | DECIMERING, LINEAR PHASE, DIGITAL FIR FILTER. |
US4817025A (en) | 1984-02-03 | 1989-03-28 | Sharp Kabushiki Kaisha | Digital filter |
DE3689305T2 (en) * | 1985-11-29 | 1994-04-28 | Yamaha Corp | Sound signal processing device. |
JP2650913B2 (en) * | 1987-06-17 | 1997-09-10 | 松下電器産業株式会社 | Digital filter circuit |
FR2626691B1 (en) | 1988-02-02 | 1990-05-25 | France Etat | GENERALIZED DIGITAL MULTIPLIER AND DIGITAL FILTER IMPLEMENTING THIS MULTIPLIER |
JPH0377418A (en) | 1989-08-18 | 1991-04-03 | Mitsubishi Electric Corp | Digital filter |
JP3113667B2 (en) | 1990-05-30 | 2000-12-04 | 日本テキサス・インスツルメンツ株式会社 | Transversal filter circuit |
JPH0812982B2 (en) | 1990-06-08 | 1996-02-07 | シャープ株式会社 | Digital decimation filter |
US5153846A (en) | 1990-07-30 | 1992-10-06 | At&T Bell Laboratories | Digital shift register using random access memory |
US5258939A (en) * | 1991-10-10 | 1993-11-02 | Harris Corporation | Fold and decimate filter architecture |
JP3357956B2 (en) | 1992-08-06 | 2002-12-16 | 日本電気エンジニアリング株式会社 | Decision feedback equalizer |
US5297069A (en) | 1992-08-13 | 1994-03-22 | Vlsi Technology, Inc. | Finite impulse response filter |
US5493581A (en) | 1992-08-14 | 1996-02-20 | Harris Corporation | Digital down converter and method |
KR0142803B1 (en) | 1993-09-02 | 1998-07-15 | 모리시다 요이치 | Signal processor |
JP2885121B2 (en) | 1995-03-06 | 1999-04-19 | 日本電気株式会社 | Digital filter |
US5696708A (en) | 1995-03-30 | 1997-12-09 | Crystal Semiconductor | Digital filter with decimated frequency response |
US5717619A (en) | 1995-10-20 | 1998-02-10 | Cirrus Logic, Inc. | Cost reduced time varying fir filter |
JPH09214289A (en) | 1996-01-30 | 1997-08-15 | Uniden Corp | Filter circuit |
US5838725A (en) | 1996-12-06 | 1998-11-17 | U.S. Philips Corporation | Floating point digital transversal filter |
KR19980054467A (en) | 1996-12-27 | 1998-09-25 | 김영환 | Decimation Filter |
CA2207670A1 (en) | 1997-05-29 | 1998-11-29 | Andre Marguinaud | Procedure for synthesizing a finite pulse response digital filter and filter obtained using this procedure |
US5910908A (en) | 1997-09-16 | 1999-06-08 | Tektronix, Inc. | Fir filter for programmable decimation |
US6041339A (en) | 1998-03-27 | 2000-03-21 | Ess Technology, Inc. | Efficient decimation filtering |
-
2000
- 2000-12-14 US US09/737,150 patent/US6427158B1/en not_active Expired - Lifetime
-
2001
- 2001-10-31 JP JP2002550548A patent/JP2004516707A/en active Pending
- 2001-10-31 EP EP01984961A patent/EP1344147A4/en not_active Ceased
- 2001-10-31 WO PCT/US2001/045726 patent/WO2002048904A1/en not_active Application Discontinuation
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143615A1 (en) * | 2002-03-14 | 2004-07-22 | Hidekuni Yomo | Finite impulse response filter and digital signal receiving apparatus |
US7254598B2 (en) * | 2002-03-14 | 2007-08-07 | Matsushita Electric Industrial Co., Ltd. | Finite impulse response filter and digital signal receiving apparatus |
US20070276892A1 (en) * | 2002-03-14 | 2007-11-29 | Matsushita Electric Industrial Co., Ltd. | Finite impulse response filter and digital signal receiving apparatus |
US7966360B2 (en) | 2002-03-14 | 2011-06-21 | Panasonic Corporation | Finite impulse response filter and digital signal receiving apparatus |
CN100377259C (en) * | 2003-06-10 | 2008-03-26 | 夏普株式会社 | Bidirectional shift register and display device incorporating same |
US11114137B2 (en) * | 2004-10-25 | 2021-09-07 | Texas Instruments Incorporated | Bidirectional data pin, clock input pin, shift register, debug circuitry |
US11854654B2 (en) | 2004-10-25 | 2023-12-26 | Texas Instruments Incorporated | Two pin serial bus communication interface and process |
US8620980B1 (en) | 2005-09-27 | 2013-12-31 | Altera Corporation | Programmable device with specialized multiplier blocks |
US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
US8266199B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8266198B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8301681B1 (en) | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
US8386550B1 (en) | 2006-09-20 | 2013-02-26 | Altera Corporation | Method for configuring a finite impulse response filter in a programmable logic device |
US8131790B2 (en) | 2006-11-09 | 2012-03-06 | Yokogawa Electric Corporation | Decimation filter |
US9395953B2 (en) | 2006-12-05 | 2016-07-19 | Altera Corporation | Large multiplier for programmable logic device |
US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
US8788562B2 (en) | 2006-12-05 | 2014-07-22 | Altera Corporation | Large multiplier for programmable logic device |
US9063870B1 (en) | 2006-12-05 | 2015-06-23 | Altera Corporation | Large multiplier for programmable logic device |
US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
US8645450B1 (en) | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
US8509567B2 (en) * | 2007-07-09 | 2013-08-13 | Analog Devices, Inc. | Half pixel interpolator for video motion estimation accelerator |
US20090016634A1 (en) * | 2007-07-09 | 2009-01-15 | Analog Devices, Inc. | Half pixel interpolator for video motion estimation accelerator |
US7949699B1 (en) * | 2007-08-30 | 2011-05-24 | Altera Corporation | Implementation of decimation filter in integrated circuit device using ram-based data storage |
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US8307023B1 (en) | 2008-10-10 | 2012-11-06 | Altera Corporation | DSP block for implementing large multiplier on a programmable integrated circuit device |
US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in a programmable integrated circuit device |
US8706790B1 (en) | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US8645449B1 (en) | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
US8650236B1 (en) | 2009-08-04 | 2014-02-11 | Altera Corporation | High-rate interpolation or decimation filter in integrated circuit device |
US8396914B1 (en) | 2009-09-11 | 2013-03-12 | Altera Corporation | Matrix decomposition in an integrated circuit device |
US8412756B1 (en) | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
US8539016B1 (en) | 2010-02-09 | 2013-09-17 | Altera Corporation | QR decomposition in an integrated circuit device |
US8601044B2 (en) | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
US8484265B1 (en) | 2010-03-04 | 2013-07-09 | Altera Corporation | Angular range reduction in an integrated circuit device |
US8510354B1 (en) | 2010-03-12 | 2013-08-13 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8539014B2 (en) | 2010-03-25 | 2013-09-17 | Altera Corporation | Solving linear matrices in an integrated circuit device |
US8589463B2 (en) | 2010-06-25 | 2013-11-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8812573B2 (en) | 2010-06-25 | 2014-08-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8577951B1 (en) | 2010-08-19 | 2013-11-05 | Altera Corporation | Matrix operations in an integrated circuit device |
US8645451B2 (en) | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block in an integrated circuit device |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US8812576B1 (en) | 2011-09-12 | 2014-08-19 | Altera Corporation | QR decomposition in an integrated circuit device |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8762443B1 (en) | 2011-11-15 | 2014-06-24 | Altera Corporation | Matrix operations in an integrated circuit device |
US8543634B1 (en) | 2012-03-30 | 2013-09-24 | Altera Corporation | Specialized processing block for programmable integrated circuit device |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
US10268605B1 (en) * | 2014-04-30 | 2019-04-23 | Altera Corporation | Hybrid architecture for signal processing and signal processing accelerator |
US10678715B2 (en) | 2014-04-30 | 2020-06-09 | Altera Corporation | Hybrid architecture for signal processing and signal processing accelerator |
US11334504B2 (en) | 2014-04-30 | 2022-05-17 | Altera Corporation | Hybrid architecture for signal processing and signal processing accelerator |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US9837988B1 (en) * | 2015-03-26 | 2017-12-05 | Altera Corporation | Dynamically adjustable decimation filter circuitry |
US20170063575A1 (en) * | 2015-08-24 | 2017-03-02 | Texas Instruments Incorporated | Analog-digital compatible re-sampling |
US9923737B2 (en) * | 2015-08-24 | 2018-03-20 | Texas Instruments Incorporated | Analog-digital compatible re-sampling |
US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
Also Published As
Publication number | Publication date |
---|---|
EP1344147A4 (en) | 2004-10-13 |
US6427158B1 (en) | 2002-07-30 |
WO2002048904A1 (en) | 2002-06-20 |
EP1344147A1 (en) | 2003-09-17 |
JP2004516707A (en) | 2004-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6427158B1 (en) | FIR decimation filter and method | |
EP0137464A2 (en) | A digital signal processing apparatus having a digital filter | |
WO1993007678A1 (en) | Fold and decimate filter architecture | |
KR0181165B1 (en) | Impulse response filter and filtering method | |
EP0693236B1 (en) | Method and arrangement in a transposed digital fir filter for multiplying a binary input signal with tap coefficients and a method for designing a transposed digital filter | |
EP1105967B1 (en) | Multiplierless digital filtering | |
US6188723B1 (en) | Finite impulse response filter for wave-shaping digital quadrature amplitude modulation symbols | |
JPH0433406A (en) | Transversal filter circuit | |
US6138132A (en) | High speed ROM-based nyquist fir filter | |
US7793013B1 (en) | High-speed FIR filters in FPGAs | |
US5912827A (en) | Digital filter with low rolloff factor | |
KR0162320B1 (en) | Fir filter for vlsi | |
EP1119910A1 (en) | Area efficient realization of coefficient architecture for bit-serial fir, iir filters and combinational/sequential logic structure with zero latency clock output | |
KR100260747B1 (en) | Finite impulse response filter and filtering method thereof | |
JP3243831B2 (en) | FIR type filter | |
JP3827207B2 (en) | Digital filter and information communication equipment | |
JP4315352B2 (en) | Digital filter and information communication equipment | |
EP1119909B1 (en) | Area efficient realization of coefficient architecture for bit-serial fir, iir filters and combinational/sequential logic structure with zero latency clock output | |
JP2001177378A (en) | Fir digital filter | |
KR100222122B1 (en) | Convolution filter used for single accumulated circuit | |
JPH11306166A (en) | Wavelet converting device | |
US7043513B2 (en) | Clock balanced segmentation digital filter provided with optimun area of data path | |
Young et al. | Area-efficient VLSI implementation of digital filters via multiple product intercoding | |
Tseng et al. | A systolic power-of-two multiplier structure | |
JPH0671191B2 (en) | Digital filter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WANG, BINAN (NMI);ISHIZUKA, SOUICHIROU (NMI);REEL/FRAME:011372/0410;SIGNING DATES FROM 20001206 TO 20001212 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |