The filter includes an arithmetical chain of parallel adders alternated with delay elements, and a memory constituted by lines of one-bit cells. Each line is addressable by a decoder controlled by a digital signal to be filtered; each line of memory contains side by side values which correspond to the partial products of successive impulse-response coefficients for a value equal to the line address. The memory additionally includes a number of read amplifiers. The number of read amplifiers is equal to the number of cells of one line in order to read the bits of the addressed. The outputs of the amplifiers are connected to respective parallel inputs of the adders of the arithmetical chain. Each memory line contains these values in two's-complement binary form in words which decrease in length by one bit for each increment of 2 in the characteristic of the coefficients, starting from the one of lowest characteristic. The output of each read amplifier corresponding to the most significant bit of each value is connected to the corresponding input bit line of the associated adder and to all the other most significant input bit lines.
|
14. In a programmable filter, a method comprising the steps of:
receiving a digital signal; filtering a sample of the digital signal to provide a response; and storing, in adjacent one-bit cells, values of partial products of successive impulse coefficients and the sample of the digital signal for a value equal to a line address in two's complement binary form in words that decrease in length by one bit for every increment of two in a characteristic of the impulse coefficients starting from an impulse coefficient with a lowest characteristic.
10. A programmable digital filter memory, comprising a plurality of lines of adjacent one-bit cells, each line being addressable by a decoder controlled by a digital signal to be filtered, each cell containing a partial product of a successive impulse coefficient, wherein a group of the one-bit cells store data in two's-complement binary form in words that decrease in length by one bit for every increment of two in a characteristic of the coefficients for a value equal to the line address, said memory furthermore comprising a number of read amplifiers equal to the number of cells of one line to read the bits of the addressed line.
2. A programmable digital filter, comprising:
a memory receiving input values comprising a plurality of lines of one-bit cells, storing in adjacent one-bit cells values corresponding to partial products of successive impulse response coefficients for input values equal to line addresses, the cell values being in two's complement binary form in words which decrease in length by one bit for every increment of two in the characteristic of the coefficients starting from the one with lowest characteristic; and a plurality of read amplifiers, equal in number to a number of one-bit cells in each line of the memory, reading the value stored in each cell of the line address corresponding to an input value, to provide filtered data.
1. programmable digital filter comprising an arithmetical chain of parallel adders alternated with delay elements, and a memory constituted by a plurality of lines of a plurality of one-bit cells, each being addressable by a decoder controlled by a digital signal to be filtered, each line of memory containing side by side values corresponding to the partial products of successive impulse response coefficients for a value equal to the line address, said memory furthermore comprising a number of read amplifiers equal to the number of cells of one line to read the bits of the addressed line, the outputs of said amplifiers being connected to respective parallel inputs of said adders of said arithmetical chain, characterized in that each memory line contains said values in two's-complement binary form in words which decrease in length by one bit for every increment of 2 in the characteristic of said coefficients starting from the one with lowest characteristic, and in that the output of each read amplifier corresponding to the most significant bit of each value is connected to the corresponding input bit of the associated adder and to all the other most significant input bits.
3. The programmable digital filter of
4. The programmable digital filter of
5. The programmable digital filter of
9. The programmable digital filter of
11. The programmable digital filter memory of
12. The programmable digital filter memory of
13. The programmable digital filter memory of
Nb =b0 T-T2 /4
where Nb =a number of bits b0 =a precision of a central coefficient T=a number of coefficients. |
The present invention relates to a memory for programmable digital filter for wide-band electronic signals, particularly video signals.
More particularly the invention relates to an EPROM memory which can be used to implement a digital filter of the non-recursive type with finite impulse response (FIR) of the kind described in patent application in the name of the same Applicant, No. 22890-A/88 U.S. Pat. No. 5,103,416, entitled "Programmable digital filter." "Programmable Digital Filter." The samples xk of the input signal are fed, with the clock's timing, to a decoder 10 adapted to convert the input word into the selection of one of a plurality of lines 12, 14, 16, . . . , 18, 20 of cells of a memory M. The memory has read amplifiers 22 with a number of channels equal to the number of cells which constitute one line; said amplifiers are adapted to allow, in a known manner, the reading of a required memory line.
Each line of cells of the memory M comprises a plurality of one-bit cells which store in succession the products of progressive coefficients h0, h1, h2, . . . hT for a value which corresponds to the address of said line. Thus, when a sample xi to be processed is applied to the decoder, the line with the address xi will be excited and the output amplifiers will provide the products h0 xi, h1 xi, h2 xi, . . . , hT xi.
The outputs of the amplifiers are applied in a known manner to respective first parallel inputs of an array of adders 30, 32 . . . , 34, and each adder (starting from one with lowest characteristic) receives on its second input of the preceding adder via a respective delay element 40, 42 . . . , 44; all of said delay elements have an identical delay T which is equal to a clock period.
In this manner, the time required to generate each individual partial product is constant and independent from the characteristics of the operands, and is shorter than the time required by the multipliers used in the circuit of FIG. 1 The products can furthermore be obtained with arbitrary precision, while any rounding or truncation is performed only on the final result.
For a number T of coefficients and an input dynamics of N bits, the filter of the above described kind requires a memory of the following size.
2N×T×b
where b is the number of bits assigned to the product of the input datum and the coefficient h of the impulse response. Since the described structure requires the transfer of all said products to the arithmetical unit in parallel, T×b read amplifier lines, divided into T buses of b lines, are required.
In order to reduce the number of memory cells and therefore the silicon area, as well as the number of read amplifiers, the invention started from the observation that a typical video filter with a band 0.25-0.50 times the value of the sampling frequency a repetitive decay occurs in passing from one coefficient to the other.
With reference to FIG. 2, which plots the amplitude of the successive coefficients hi of i-th impulse response, the following decay can be observed starting from the central coefficient h0 :
a) h1 /h0 <0.5
b) hi +1/h1 hi+1 /hi<0.7 (for i>0).
This means that the binary representation of the coefficient loses one significant bit for every 2 increment coefficients in the sequence h0, h1, h2, . . . , hT for i>0.
According to the invention, a filter is thus provided which still has the same basic architecture as FIG. 1 but has successive partial products in each line contained in variable-length words, i.e.:
TBL a number b0 of bits for the central coefficient; a number b0 -1 of bits for the coefficient h1 and h2 ; a number b0 -2 of bits for the coefficient h3 and h4 ; . . . a number b0 -T/2 of bits for the last coefficient (where T/2 is rounded down to the nearest integer if T is odd).Since the circuits which are external to the memory (adders, delay elements, and other registers) assume words of uniform length, it is then necessary to expand the shortened words upon their exit from memory, inserting the bits which had been eliminated therefrom. Choosing a two's-complement representation of the partial products, it is sufficient to replicate the most significant bit of the word as many times as is required to return the word to the standard length, as illustrated in the partial diagram of FIG. 3.
The number of total non-zero bits required is:
Nb =b0 +2(b0 -1)+2(b0 -2)+. . . +(2b0 -T/2)
where b0 is the precision of the central coefficient. This relationship is reduced to
Nb =b0 T-T2 /4
This means that if the words are stored with variable lengths, eliminating the redundant bits, a saving of T2 /4 one-bit cells for each line is achieved, giving a total of 2N×T2 /4 on the entire memory of 2N lines. A number of T2 /4 of read amplifiers is also saved.
In a typical application with 16 coefficients, 20-bit dynamics and with N=8, the total memory required is, according to the given equations:
2N (b0 T-T2 /4)=65,536 bits
with a saving of 16,384 bits with respect to a standard memorization which would require 81,920 bits, therefore with a saving of approximately 25%. The saving of 64 amplifier units (320 to 256) must also be added to this.
It can thus be seen that it is possible to achieve a performance which corresponds to 20-bit arithmetics using a memory with an average length of 16 bits with a consequent reduction in area and dissipation.
Though the above described calculations are based on the assumption of an even number of coefficients, the saving would be of the same order even with an odd number of coefficients.
The concepts of the invention may furthermore be also applied to all the other embodiments of the filter as described in said antedated patent application, such as symmetrical ones with or without central coefficient, asymmetrical ones, etc.
The invention is applicable equally well to filters using EPROM, RAM or any other kind of memory.
Poluzzi, Rinaldo, Cremonesi, Alessandro, Cavallotti, Franco
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4709343, | Dec 30 1983 | Thomson CSF | Variable-passband variable-phase digital filter |
4809205, | Nov 19 1986 | Rockwell International Corporation | Digital sine conversion circuit for use in direct digital synthesizers |
4811262, | Sep 19 1986 | Mindspeed Technologies | Distributed arithmetic realization of second-order normal-form digital filter |
5103416, | Dec 06 1988 | SGS-Thomson Microelectronics S.r.l. | Programmable digital filter |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 23 1993 | STMicroelectronics S.r.l. | (assignment on the face of the patent) | / | |||
Apr 05 1993 | CREMONESI, ALESSANDRO | SGS-THOMSON MICROELECTRONICS S R L | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 006593 | /0259 | |
Apr 06 1993 | POLUZZI, RONALDO | SGS-THOMSON MICROELECTRONICS S R L | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 006593 | /0259 | |
May 10 1993 | CAVALLOTTI, FRANCO | SGS-THOMSON MICROELECTRONICS S R L | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 006593 | /0259 |
Date | Maintenance Fee Events |
Mar 07 2003 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 06 2004 | 4 years fee payment window open |
May 06 2005 | 6 months grace period start (w surcharge) |
Nov 06 2005 | patent expiry (for year 4) |
Nov 06 2007 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 06 2008 | 8 years fee payment window open |
May 06 2009 | 6 months grace period start (w surcharge) |
Nov 06 2009 | patent expiry (for year 8) |
Nov 06 2011 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 06 2012 | 12 years fee payment window open |
May 06 2013 | 6 months grace period start (w surcharge) |
Nov 06 2013 | patent expiry (for year 12) |
Nov 06 2015 | 2 years to revive unintentionally abandoned end. (for year 12) |