Patent GB-1512244-A (GB)
Title: Digital filter
IPC: H03H17/02
Filed: 1975-05-22
Abstract: 1512244 Digital filter PHILIPS ELECTRONIC & ASSOCIATED INDUSTRIES Ltd 22 May 1975 [17 June 1974] 22208/75 Heading H3U A digital filter for processing binary-coded signal samples to generate a sequence of output samples having a sample period T and each of which are formed by the sum of a plurality of signal samples which each have been multiplied by a filter coefficient comprises a store 2 for the plurality of signal samples, a multiplier and control circuit coupled to the store and multiplier; and is characterized by each filter coefficient differing from zero being expanded into a plurality of factors each of which is exactly equal to an integral power of 2, including 2 degrees and by the number of factors of at least one coefficient differing from that of at least one other coefficient; and in which the control circuit, within a sampling period T, supplies a stored signal sample to the multiplier a number of times, the number being equal to the number of factors of that filter coefficient associated with the particular signal sample. As shown the multiplier uses a shifter 8 and an accumulator 14 and is controlled by the store 16 containing the 3 bit filter coefficients. A sign bit a(p) is also stored and determines whether the particular shifted sample is added or subtracted from the contents of the accumulator. As an example, if a filter coefficient of 5 were needed, this would be stored in store 16 in binary form 101 but in such a way that only the two "1's" are stored. The coefficient being factored into (100) (1) it can be stored as two multipliers each having only one magnitude bit with the logic value "1". Thus, at a particular time stage 16(0) may contain a(2) as "1" and the others as "0" and 16(1) may contain a(0) as "1" and the others as "0". A clock 19 shifts the contents of the store 16 cyclically, and after a delay T to permit settling, enables the output gates 18. Only one will have a logic "1" presented to it and this is passed to the shifter 8. An input signal sample present at the output stage 2(0) of the store 2 is enabled to pass through the shifter in one of three ways. If the "1" is present at 18(0) the bit stored in b(0) passes to the 13(0) stage of the accumulator 14, b (1) to 13(1) and b(2) to 13(2). The next clock pulse circulates the contents of store 16 by one place and a difference output, say 18(2) will have the "1". The same input sample now passes as b(0) to 13(2), b(1) to 13(3) and b(2) to 13(4). A separate sign bit a(p) stored with each multiplier controls the accumulator so that a sample may be added or subtracted to the contents, thus providing several coding possibilities. The end of a multiplier is signified by an all ones number 111 with "0" sign bit stored in 16. When the clock circulates this to the output it is detected by gate 21 which blocks the output gates 18 but enables gate 20 so that the next clock pulse is passed to the store 2 so that a new input sample is placed in position 2(0), the sample there previously being circulated back to the input by gates 5 and 6. Simultaneously store 16 is stepped once and the new sample is multiplied as before with whatever coefficient is next stored in sequence. To enable a signal sample to be accepted by the filter and stored in store 2 an all ones number 111 with a "1" sign bit is stored in 16, when this reaches the output as before the output gates 18 are blocked and a pulse is allowed to pass to store 2 while gate 23 opens to energize a one-shot 24 whose output opens the input gates 4 and blocks the feedback gates 5 to permit the input signal sample to be stored in 2(N - 1) stage. The sample that has just been processed while in position 2(0) is erased from the system. Instead of holding the filter coefficient factors in a shift register a ROM, Fig. 2, not shown, can be used and similarly a RAM can replace the shift register 2. In each case a separate one factor/sample store (30, 31, not shown) must be provided. Instead of one sign bit held with the factors in the store 16, 2 bits can be used in a ROM (Fig. 3, not shown) and decoded in conjunction with the address input to provide address signals for the input RAM. The procedure of multiplying by powers of 2 in turn can also be applied to a recursive digital filter (Fig. 4, not shown) using a shift register (2) for the storage of signal samples and a ROM (16) for the filter coefficients. The non-recursive filters of Figs. 1, 2, 3 can be modified to filter delta-modulated signals (Fig. 5, Fig. 6, not shown).