High-resolution digital filter

Abstract: A high-resolution digital filter of a type which comprises a memory structure receiving as input a sampled digital signal, and an adder chain with delay blocks therebetween, the adders being connected to memory outputs to convert the input signal into an output signal having predetermined frequency response characteristics, has the memory structure made up of at least one pair of non-volatile memories (3,4) being input each one portion (x(n)₁,x(n)₂) only of the sampled signal.

Description: This invention relates to a high-resolution digital filter of a type which comprises: a memory structure receiving as input a sampled digital signal, and an adder chain, connected to the outputs of the memory structure, and comprising a plurality of first adders and delay blocks coupled between the first adders, which first adders are connected to outputs of said memory in order to convert the input signal into an output signal having frequency response characteristics determined by a number of filter coefficients. The invention also concerns a method of filtering a digital coded sampled signal. The field of application of the invention is particularly, though not exclusively, directed to digital symmetrical FIR (Finite Impulse Response) filters, and throughout this specification, reference will be made to such an application for convenience of illustration. As is known, digital filters are devices intended for converting a sampled signal, receiving as input, into another sampled signal having predetermined frequency response characteristics. Sampled signal obviously means here a digital signal which is coded with a predetermined number n of bits on which the filter accuracy, or resolution, is dependent. Digital filters are primarily used in digital oscilloscopes, spectrum analyzers, and audio and video signal processors. Further, such filters are gaining increasing acceptance on account of a number of advantages that they afford over corresponding analog filters. For the same function, in fact, digital filters allow of very narrow transmission bands, and are more stable both over time and with variations in the power supply and operating temperature. Digital filters have been implemented heretofore as integrated circuits employing digital multipliers and adders. Digital multipliers can be implemented with a non-volatile memory structure, such as a look-up table, wherein the products of the input signal samples by the coefficients of the filter transfer function are stored. A structure of this kind is described, for example, in an article entitled "30-MSamples/s Programmable Filter Processor", IEEE Journal of Solid-State Circuits, Vol. 25, No. 6, December 1990, and in Italian Patent Application No. 22954-A/88 filed by this same Applicant. While being in many ways advantageous, this prior approach has a drawback as explained herein below. When the number of bits used for sampling the input signal is denoted by n, the total number of the filter coefficients by N, and p denotes the number of bits required to store the product of the samples by the coefficients, then it is found that the memory size is given by 2 n Np. It is readily evident from the above that increasing the sampled description of the input signal even by one bit only, to thereby enhance the filter resolution, this would result in the memory size being doubled. By way of example, let us assume a hypothetical transition from 8-bits sampling, typical of current applications, to n=12 bits sampling, as would be highly desirable to improve filtering performance on audio and video signals. A suitable, hypothetical memory structure would have to be a size sixteen times as large as that required by the former, 8-bits, coding. Such a memory would, therefore, occupy an inordinate amount of space in an integrated circuit. Moreover, it would lack adequate speed of data access because access time is heavily dependent on both the increased coding complexity and the memory size, specifically the number of bits per row. The state of the art offers no satisfactory solution to the problem of circumventing this vast memory expansion whenever improved filtering accuracy or resolution is sought. The underlying technical problem of this invention is to provide a digital filter, and associated filtering method, having such structural and functional features as to enable high-resolution processing of digital sampled signals coded with a large number of bits, thereby to overcome the limitations of the approaches currently proposed in the state of the art. The inventive idea on which this invention stands is one of splitting the sampled signal coding into at least two portions and then filtering each portion separately one from the other, to ultimately re-construct the sampled output signal. Based on this inventive idea, the technical problem is solved by a filter as specified in the preamble and defined in the characterizing part of Claim 1. The technical problem is also solved by a filtering method as defined in Claim 8. The features and advantages of a filter according to the invention will become apparent from the following detailed description of an embodiment thereof, to be read by way of example and not of limitation in conjunction with the accompanying drawings. In the drawings: Figure 1 shows diagramatically a digital filter embodying this invention; Figure 2 shows diagramatically a detail of the filter in Figure 1; and Figure 3 is a block diagram illustrating a digital filter of the prior art. With reference to the drawing figures, generally and schematically shown at 1 is a high-resolution digital filter according to this invention. This filter 1 is input a given, digital code sampled signal x(n), and will output another sampled signal y(n) having predetermined frequency response characteristics. The filter 1 is of the linear phase, FIR (Finite Impulse Response) type, that is to say that the input signal x(n) and output signal y(n) are tied at any discrete time by the following relation: showing that the output sample y(n) is solely dependent on the current and past input samples. The coefficients a(i) are a finite number N and can be obtained from the filter response to the pulse. In essence, relation (1) shows that an output sequence y(n) can be obtained from an input sequence x(n) by performing a series of products and sums on the samples that represent the impulse response of the system and the input samples as suitabled delayed. Further, the filter 1 can be identified using a so-called transfer function H(z), as expressed versus a complex variable z, and defined as the ratio of the transform Z of a sequence of output signals y(nT) to the transform of a sequence of input signals x(nT): A circuit-wise synthesis of that transfer function practically enables the filter to be implemented in the form of an integrated circuit, using latches, digital multipliers, and adders arranged in such a way that for each input x(n) an output y(n) is produced in agreement with equation (1). For example, shown diagramatically in Figure 3 is a digital filter according to the prior art which utilizes a chain of N-1 adders (+), each having first and second inputs, and an output. The output of each adder is connected to the first input of the next adder via a delay block D. The second input of each adder is connected to the output of a corresponding multiplier X. Indicated at a(i) are the frequency response coefficients of the filter associated with the multipliers X. The structure of Figure 3 is accomplished on the basis of a transposed transfer function H'(z) of H(z). The aggregate of N multipliers X may be implemented in an integrated circuit with a memory structure,, e.g. a programmable read-only type, to whose inputs the signal x(n) is applied. An example of this implementation is described in Italian Patent Application No. 22954-A/88. Advantageously, in the filter of this invention said memory structure is implemented with at least one pair of non-volatile read-only memories 3 and 4. Each memory 3, 4 receives as input one portion of the sampled signal x(n). Specifically, the first memory 3 receives the most significant portion x(n) 1 of the digital coding of the sampled signal, whereas the other memory 4 receives the least significant portion x(n) 2 of said coding. In a preferred embodiment, said memories are programmable read-only EPROM type, and additionally they are of the same size and contain the same data. Each memory is divided into cells or words 5 of p bits. Each word contains the result of the product of a single value of the input sample by a filter coefficient. A string of N words forms a memory row and there are 2 n/2 such rows. Each portion x(n) 1 , x(n) 2 of the input signal is applied to the corresponding memory 3, 4 through a decoder 2. On the output side of each memory is a read block 6 to which the N digital outputs 7 of each memory location pertaining to one coefficient are connected. A register 8 is provided after each read block 6. Further, an adder group 9 are cascaded to both registers 8 to receive the homolog outputs from such registers. In other words, a register 8 comprises a number of memory elements equal to the number of words in one row of memory 3 or 4, and the first adder 10 in the group 9 is connected to each first memory element of the registers 8, the second adder 11 to each second memory element, and so on. Associated with each adder in the group 9 is a buffer register 12 for storing the sum result therein. Finally, an adder chain 13 completes the filter 1 structure, and in a similar manner to prior approaches, enables the sampled signal y(n) to be output. This chain 13 has been also provided with an input IN for use where the filter 1 is to be connected in series with other filters having a similar structure. The filtering method of this invention will be next described. A generic sample of the input signal x(k) at time k is a binary number which is broken out into two contributions x(k) 1 +x(k) 2 defining in terms of digital coding the most significant portion and the least significant portion, respectively, of the input sample. These contributions can be regarded as complementing each other, in the sense that their sum gives back the input sample. The memories 3 and 4 are divided into sections in which the product x(k)*ci is stored, where ci is the multiplicative coefficient of the i-th section. Based on the algebraic property of product distribution versus addition, the following can be written: x(k)*ci = (x(k) 1 + x(k) 2 )*ci = x(k) 1 *ci + x(k) 2 *ci In the cells 5 of the one memory 3, the product x(k) 1 *ci is stored, while in the other memory 4 there is stored the product x(k) 2 *ci. Considering, moreover, that the input sample is defined by a binary number given by: x(k) = b0+b1*2 1 +b2*2 2 +....+bn*2 n where n is an even integer, then x(k) 2 = b0+b1*2 1 +b2*2 2 +....+b (n/2)-1 *2 (n/2)-1 x(k) 1 = (b n/2 +b (n/2)+1 2 1 +b22 2 +....+b (n-1) 2 (n/2)-1 )2 n/2 It follows from the previous relations that: x(k)*ci = (b0+b1*2 1 +....+b (n/2)-1 *2 (n/2)-1 )*ci+(b n/2 +.. ..+b (n-1) *2 (n/2)-1 )*2 n/2 *ci through the decoder 2. In summary, the most significant half of the sample bits decode the one memory 3, as shown diagramatically in Figure 2, whereas the remaining half decode the other memory 4. The adder group 9 on the output side of the two memories 3 and 4 allows the signal to be restored to its complete coded state. The fact should not be overlooked, however, that the data output by one of the memories will be "shifted" by n/2 positions toward the most significant portion of the coding. Re-alignment will be provided by the adder group 9 itself. The digital filter of this invention has a major advantage in that it can occupy a uniquely small silicon space within an integrated circuit. This advantage reflects in a smooth circuit structure and constant response times being achieved. Since the contents of the memories incorporated to the filter are identical, moreover, the same programming circuit as for the EPROM cells can be used. This enables one to make best use of scale savings both at the manufacturing and filter programming stages.

Claims: A high-resolution digital filter (1) of a type which comprises: a memory structure receiving as input a sampled digital signal (x(n)), and an adder chain (13) connected to the outputs of the memory structure, and comprising a plurality of first adders and delay blocks coupled between the first adders, which first adders are connected to outputs (7) of said memory in order to convert the input signal (x(n)) into an output signal (y(n)) having frequency response characteristics determined by a number of filter coefficients (c i ), characterized in that: said memory structure comprises at least a first (3) and a second non-volatile memory (4), each one respectively receiving as input a first (x(n) 1 ) and a second portion (x(n) 2 ) of the sampled signal (x(n)) and providing as output partial products (x(n) 1 *c i , x(n) 2 *c i ) of the portions of the input signal (x(n) 1 , x(n) 2 ) and the filter coefficients (c i ), said first (3) and second memory (4) being connected to the adder chain (13) through a plurality (9) of second adders providing the sum between corresponding pair of said partial products (x(n) 1 *c i , x(n) 2 *c i ) in order to reconstruct an output signal (y(n)) on the basis of said first and second portions (x(n) 1 , x(n) 2 ) of the input signal (x(n)), filtered by means of the filter coefficients (c i ). A digital filter according to Claim 1, characterized in that the first memory (3) receives as input the most significant portion (x(n) 1 ) of the digital coding of the sampled signal (x(n)), whereas the second memory (4) is input the least significant portion (x(n) 2 ) of said coding. A digital filter according to Claim 1, characterized in that said first (3) and second memory (4) have the same size. A digital filter according to Claim 1, characterized in that said first (3) and second memory (4) contain the same data. A digital filter according to Claim 1, characterized in that said first (3) and second memory (4) are read-only memories. A digital filter according to Claim 5, characterized in that said first (3) and second memory (4) are EPROM's. A digital filter according to Claim 1, characterized in that said first (3) and second memory (4) have a number of rows equal to the (n/2)-th power of two, with (n/2) being the number of bits in the corresponding encoded signal portion (x(n) 1 , x(n) 2 ). A method of filtering a digital coded sampled signal, characterized in that it comprises, in a digital filter environment, the steps of: splitting, at discrete time intervals, the sampled signal (x(n)) into at least a first (x(n) 1 ) and a second portion (x(n) 2 ) complementary each other; decoding said first (x(n) 1 ) and second portion(x(n) 2 ) to access memory locations (5) in corresponding first (3) and second non-volatile memory (4) containing filter coefficients (c i ) which represent a desired frequency response of the filter; reading from the accessed memory location (5) of the first (3) and second non-volatile memory (4) an output defining partial products (x(n) 1 *c i , x(n) 2 *c i ) between filter coefficients (c i ) and the first and second portions (x(n) 1 , x(n) 2 ) of the sampled signal (x(n)), respectively; combining corresponding pair of said partial products (x(n) 1 *c i , x(n) 2 *c i ) from the first (3) and second non-volatile memory (4); and adding the results of the combining step together to re-construct an output signal (y(n)) having characteristics of the sampled signal filtered by means of the filter coefficients (c i ). A method according to Claim 8, characterized in that the first memory (3) receiving as input the most significant portion (x(n) 1 ) of the digital coding of the sampled signal (x(n)), and the second memory (4) the least significant portion (x(n) 2 ) of said coding. A method according to Claim 8, characterized in that the first (3) and second non-volatile memory (4) are EPROM memories.

Inventors: GOLLA CARLA, SALI MAURO L, GOLLA, CARLA, SALI, MAURO
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1992
Main classification: H03H17
IPC codes: H03H21, H03H17