US3706076A - Programmable digital filter apparatus - Google Patents
Programmable digital filter apparatus Download PDFInfo
- Publication number
- US3706076A US3706076A US99747A US3706076DA US3706076A US 3706076 A US3706076 A US 3706076A US 99747 A US99747 A US 99747A US 3706076D A US3706076D A US 3706076DA US 3706076 A US3706076 A US 3706076A
- Authority
- US
- United States
- Prior art keywords
- filter
- order
- data
- recursive
- word
- 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.)
- Expired - Lifetime
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/0294—Variable filters; Programmable filters
-
- 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/0283—Filters characterised by the filter structure
- H03H17/0286—Combinations of filter structures
-
- 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/04—Recursive filters
Definitions
- CYCLE 0000010111000 s a 1 SHIFTLEFT 0000000100000 0 0 ⁇ ADDJ 0000100111000 01 1 ITRANSFERTOJ 0001000001100 0 0 I FIRSTMULTCYCLE 0000001110000 5 0 I 2 1 i B, I o I I I I LAST MULT.
- the data, instruction, and coetficient memories of the filter are arranged to permit the realization of filter transfer functions of arbitrary order on data from an arbitrary number of sources.
- the filter is readily programmable with respect to the order of the filter functions to be realized, the number of sources of data to be processed, and the filter coefficients to be used.
- This invention relates to signal filtering apparatus and, more particularly, to the class of discrete-time signal filters known as digital filters.
- digital filters For a general discussion of digital filters and some of their applications, reference is made to Digital Processing of Signals by B. Gold and C. M. Rader (McGraw-Hill Book Company, 1969).
- Digital filters process signal information by performing a predetermined set of arithmetic operations on digitally coded samples of that information.
- the information to be processed is sampled at a constant rate and each sample converted to a digital word, usually consisting of a number of binary digits (bits).
- Signals representative of these digitally coded samples are applied to the digital filter at the sampling rate, the recip rocal of which is the sampling interval.
- the digital filter itself generally comprises delay units (shift registers), amplifiers (multipliers), and adders.
- delay units shift registers
- amplifiers multipliers
- adders In the direct c anonic form (see FIG. 2.20, p. 42, of the above reference) the delay units in the filter network are connected in series, each delaying digital words applied to it by one sampling interval. From each interconnection of the delay units there is, in general, one signal path leading back to a first adder, to which the signal samples to be processed by the filter are also applied, and one signal path leading forward to a second adder. Each of these signal paths includes a multiplier for multiplying the digital Words applied thereto by an appropriate filter coefficient.
- the digitally coded output signal of the first adder is applied to the first delay unit in the series of delay units and the digital words represented by that signal are shifted forward from one delay unit to the next at the sampling "ice rate.
- the digitally coded output signal of the second or feed-forward adder is the output signal of the filter.
- the digital words represented by this signal likewise appear at the sampling rate.
- one such filter can be made suitable for the simultaneous processing of data from several sources. This is generally accomplished by applying samples from each of an arbitrary number, q, of sources to the filter in a predetermined sequence (i.e., by timedivision multiplexing the samples). Each delay unit is provided with capacity for the simultaneous serial storage q data words, one associated with each source. If the filter coeflicients remain constant, data from all sources will be subjected to the same filter transfer function. By providing several sets of filter coefficients, it is possible to process data from each source using a different transfer function. Other than extending the capacity of the delay units, no other changes in filter configuration are necessitated by multiplexing data from a plurality of source.
- the complexity of the filter transfer function or functions to be realized determines the complexity of the required filter network. The higher the order of the transfer functions the more delay units and signal paths are required in the filter. In general, the complexity or order of a digital filter transfer function is directly related to the number of delay units employed in the filter network.
- a second order transfer function is realized using a second order filter network, i.e., a network having at least two serially connected delay units.
- the cascade In the cascade form a plurality of direct canonic filter sections each having relatively low order (e.g., second order) are connected in series so that the output words of each section are applied to the succeeding filter section as input words. If all of the sections comprising a cascade filter are second order sections, the order of the filter as a whole will in general be twice the number of such sections. Not only does the cascade form ease accuracy requirements on filter coefficients, it also makes possible the fabrication of filters of arbitrary order from any number of standardized (i.e., second order) filter sections.
- Both the direct canonic and the cascade forms of digital filters require the same number of delay units and arithmetic components for filters of a given order. At the speeds at which such filters can process data, economical use can be made of all these components only if there is a need for high speed data processing (i.e., the processing of samples from many sources each sampled at a relatively high rate). This economic consideration is especially important with respect to the arithmetic components of such filters which, even with integrated circuit technology, are relatively costly.
- conventional cascade digital filters can be made up of any number of identical filter sections in order to realize transfer functions of arbitrary order. Once fabricated, however, such filters are not readily adapted to the realization of transfer functions with order other than the order for which they were constructed.
- the number of cascaded sections is effectively an upper bound on the order of realizable filter functions.
- idle filter sections cannot be readily put to any other use, e.g., processing data from additional sources.
- the capacity of the delay units of such filters governs the number of sources from which data can be processed. Capacity of this kind which is unused is also unavailable for other purposes, e.g., the realization of higher order filter function.
- digital filters can be constructed to perform either serial or parallel arithmetic. This is equally true of filters constructed in accordance with the principles of this invention.
- parallel arithmetic has the advantage that, when it is employed, word size or length and hence the accuracy of filter computations can generally be determined independently of other design considerations, i.e., sampling rate and number of data sources in conventional filters and, in filters of the type disclosed herein, filter function order as well.
- This desirable flexibility of design can best be taken advantage of if the filter configuration is modular with respect to word length, i.e., if a filter with any given computational accuracy can be constructed from a predetermined number of identical filter modules.
- the foregoing apparatus can be programmed to perform an arbitrary number, p, of cascaded filtering operations each of relatively low order m on samples from each of an arbitrary number, q, of sources, the samples being presented to the filter in the usual sequence.
- the processing of a typical sample is as follows: A sample is applied to the filter and stored in the one of the one word storage devices which is connected in series with the shift register memories. The data words in the final or output stage of each of the multistage shift registers are sequentially applied to the arithmetic unit wherein each is multiplied by an appropriate feedback filter coefiicient.
- the resulting products are summed with the stored sample to produce an output word equivalent to that produced by the feedback adder in a prior art filter section. That output word is stored in both of the one word storage devices.
- the shift register output words are again sequentially applied to the arithmetic unit where each is multiplied by an appropriate feed-forward coefficient.
- Each product thus generated is added to the contents of the one word storage device which is not serially connected to the shift registers.
- the contents of the serially connected devices are then shifted so that the former contents of the serially connected one Word storage device is moved to the first stage of the first of the shift registers and the remaining data stored in the shift registers correspondingly displaced.
- the data word stored in the storage device which was not shifted as above is applied to the arithmetic unit for multiplication by an appropriate scale factor and the resulting product applied to the serially connected one word storage device. Since this last quantity is equivalent to that produced by the first general m order filter section in a filter made up of cascaded m order filter sections and since, by virtue of earlier cycles of filter operation, the data words now appearing in the output stages of the shift registers are those which would appear in the output stages of the shift registers in the second of such cascaded m' order filter sections, the data now available for application to the arithmetic unit of the filter is that on which the arithmetic operations of the second cascaded m order filter section must be performed.
- the filter Since a basic operation (i.e., a filtering operation of relatively low order m) is being repeatedly performed, the filter is programmable Wtih respect to p and q simply by means of changes in those instructions stored in the instruction memory which control when data words are to be recycled or new samples taken in.
- the filter functions realized can be further altered by changing the coefficients stored in the coefiicient memory.
- filters constructed according to the principles of this invention are highly modular. By this it is meant that such filters comprise a plurality of identical filter modules, each performing the required operations on one arithmetic place of the data being processed. Accordingly, filters with any desired degree of computational accuracy can be constructed by connecting an appropriate number of modules in parallel.
- FIG. 1 is a block diagram of a prior art, general, second order digital filter
- FIG. 2 is a block diagram of a digital filter constructed in accordance with the principles of this invention.
- FIG. 3 is a block diagram of the data processing portion of the filter of FIG. 2;
- FIG. 4 is a tabular representation of the algorithm by means of which a second order filtering operation is realized in the digital filter of FIG. 2;
- FIG. 5A illustrates the information stored in the data processing apparatus of FIG. 3 at a particular time in the operation of that apparatus
- FIG. 5B illustrates the information stored in the data processing apparatus of FIG. 3 at another time in the operation of that apparatus
- FIG. 6A illustrates the sequence of timing pulses applied to the instruction and coefiicient memories of the digital filter of FIG. 2;
- FIG. 6B is a tabular representation of the state of the portion of the instruction memory of FIG. 2 required to produce one second order filtering operation in the filter of FIG. 2;
- FIG. 6C is a tabular representation of the state of the portion of the coefficient memory of FIG. 2 required to produce one second order filtering operation in the filter of FIG. 2;
- FIG. 7A is a block diagram of a typical filter module, several of which may be connected in parallel to realize the apparatus of FIG. 3;
- FIG. 7B is a block diagram showing the parallel connection of a plurality of the modules shown in FIG. 7A.
- Adder 20 combines each such sample with a simultaneously applied digitally coded data word produced by adder 30 to produce a series of output words which is applied to first order delay unit 22 and to adder 38.
- First order delay unit 22 which may be a multistage shift register with capacity for the simultaneous storage of as many data words as there are sources being sampled, delays each Word applied to it by one sampling interval, i.e., the period of time between the application of any two samples from a given source. In practice this delay may have to be adjusted to compensate for unavoidable delay in the performance of the required arithmetic operations.
- Each word thus delayed by delay unit 22 is thereafter delayed for a second similar interval by second order delay unit 24, which may be a device similar to delay unit 22.
- second order delay unit 24 For convenience the words appearing at any given time in the final or output stages of delay units 22 and 24 are designated quantities X and Y, respectively.
- quantities X and Y are multiplied in multipliers 26 and 28 by feedback filter coefficients E and D, respectively.
- Each simultaneously generated pair of these product words is algebraically combined by adder 30 and the result applied to adder 20 as mentioned above.
- Quantities X and Y are also multiplied by feed-forward filter coefiicients C and B by multipliers 32 and 34, respectively.
- Each simultaneously generated pair of these products is algebraically combined by adders 36 and 38 with the simultaneously generated output word from adder 20.
- each of the output words produced 6 by adder 38 is multiplied in multiplier 40 by scale factor A.
- the filter of FIG. 2, constructed in accordance with the principles of this invention, is similar in performance to such a cascaded filter.
- this filter comprises control apparatus (including clock 200, instruction counter 202, instruction memory 204, and coeflicient memory 206) and data processing unit 220.
- the abovementioned control apparatus generates a plurality of bilevel control voltages applied to processing unit 220 by way of the labelled terminals (e.g., terminal CLOCK) shown in FIGS. 2 and 3. Since a discussion of the generation of these control signals will be made more meaningful by an understanding of the apparatus they are employed to control, data processing unit 220 will be discussed in detail before further discussion of this control apparatus.
- Data processing unit 220 is shown in detail in FIG. 3. As shown in that figure, this apparatus comprises an input device 100, a data storage unit 190, an arithmetic unit 192, and apparatus 183 for applying output words to any suitable utilization device or devices. Any binary coded data word applied to input leads 99 may be applied to storage unit 190 by enabling input device 100. Depending on whether data is to be stored and manipulated serially or in parallel, input device 100 may be either a single AND gate or a plurality of commonly controlled AND gates, respectively. In the latter case, there is one AND gate for each binary place of the applied data.
- connections over which data words pass - may be a single lead if these words are to be manipulated serially (i.e., bit by bit) or a plurality of parallel leads, one for each binary place, if the Words are to be manipulated in parallel.
- twos-complementary binary coding is employed for all applied and stored data.
- Input device 100 is enabled by application of a gate enabling control voltage to terminal READ SOURCE. Since this control signal is one of those generated by the control apparatus of FIG. 2, the terminal labelled READ SOURCE in FIG. 3 is the same as or is common with the similarly labelled terminal shown in FIG. 2.
- Storage unit includes two storage registers 112 and 122 each capable of storing one applied data word.
- the quantities stored in these registers are designated quantities I and J, respectively.
- these registers may each be a circulating memory or a plurality of bistable multivibrator devices, respectively.
- registers 112 and 122 are preferably devices of the type which store an applied quantity only in response to a separately applied clock or control pulse.
- Storage unit 190 also includes two multiword data memories 132 and 142 which are connected in series with storage register 112. Again, if the filter is to operate in the serial mode, each of these memories may comprise a single multistage shift register with circulating storage for the final or output quantity whereas if the parallel mode is employed, each memory may comprise a plurality of shift registers, one for each binary place of the words to be stored. These devices are also preferably of the type which shift their contents by the amount necessary to store an applied data word in response to a separately applied clock or control pulse. Because data memories 132 and 142 perform a function analogous, though not identical, to that performed by delay units 22 and 24 in the filter of FIG. 1, the quantities appearing at any given time in the final or output stages of each of these devices are designated X and Y, respectively, in the same manner that the comparable output quantities of delay units 22 and 24 were designated.
- Two storage registers 112 and 122 are employed because a recursive quantity stored in register 112, serially connected to multiword data memories 132 and 142, must be maintained until after data in multiword memories 132 and 142 have been shifted. However, a nonrecursive quantity must also be computed and maintained before the multiword data memories are shifted. Accordingly, a second storage register 122 is provided to maintain the nonrecursive quantity. In addition, the second storage register holds intermediate quantities obtained in the computation of the nonrecursive quantity.
- the clock pulses mentioned above in connection With devices 112, 122, 132 and 142 occur in a clock or timing signal which is one of the several control signals generated by the control apparatus of FIG. 2.
- This control signal is applied to all of terminals CLOCK in FIG. 3 which are common with terminal CLOCK in FIG. 2.
- Selected pulses in this timing signal may be applied to any of devices 112, 122, 132 and 142 by enabling the appropriate one of AND gates 110, 120, 130, or 140. Any of these gates may be enabled by applying a gate enabling voltage to the appropriate one of terminals EN- ABLE I, ENABLE J, or SHIFT.
- These gate controlling voltages are also among the signals generated by the control apparatus of FIG. 2. Accordingly, terminals EN- ABLE I, ENABLE and SHIFT are all respectively common in FIGS. 2 and 3.
- both of memories 132 and 142 shift simultaneously. Since, in the course of shifting, each of these devices takes in or stores in its first or input stage the Word applied to it immediately before the shift, such a shift will cause memory 132 to store quantity I in its input stage and memory 142 to similarly store former quantity X.
- Any one of quantities I, I, X, or Y may be applied to arithmetic unit 192 by way of bus 101 by enabling the appropriate one of gating devices 114, 124, 134, or 144, respectively. Each of these devices is similar to input device 100, described above. Any of them may therefore be enabled by the application of a gate enabling control voltage to the appropriate one of control terminals READ I, READ J. READ X, or READ Y. Like the other control signals mentioned above, these voltages are generated by the control apparatus of FIG. 2. Accordingly, terminals READ I, READ J, READ X, and READ Y are respectively common in FIGS. 2 and 3.
- Arithmetic unit 192 includes complementer 150, adder 152, accumulator 156, and gating devices 158 and 160. Generally, this apparatus is capable of performing addition or subtraction operations on binary twos-complement coded data words applied thereto. Although by itself adder 152 is only capable of adding two applied quantities (i.e., the data word produced by complementer 150 and the contents of accumulator 156), any data word applied to arithmetic unit 192 can be changed in sign before application to adder 152 to achieve the subtraction of that data word from the contents of accumulator 156. As is well known any twos-complement coded quantity (whether positive or negative) can be reversed in sign by twos-complementing that quantity. In arithmetic unit 192 this twos-complementation is accomplished when required, by complementer 150 and by the application of an appropriate signal to adder 152 by way of terminal SIGN.
- Arithmetic unit 192 is also capable of multiplying any applied data word by a positive or negative sign-magnitude coded multiplier quantity, the bits of which are sequentially applied to unit 192 by way of terminals SIGN and MAGNITUDE.
- These multiplier quantities are, of course, the filter coeflicients (e.g., quantities A through E).
- multiplication by such positive or negative quantities generally involves selected repeated addition or subtraction, respectively, of the tWos-complement coded multiplicand quantity. Details of these arithmetic operations are provided below.
- complementer is a logic circuit which performs any of several operations on data words applied to it in response to bilevel control signal voltages applied to control terminals SIGN and MAGNITUDE.
- a control voltage of a first level (arbitrarily designated the binary one level or simply binary one) is applied to terminal MAGNITUDE.
- complementer 150 passes either the data word applied to it or the ones complement of that data word depending on whether a control voltage of a first or second level, respectively, is applied to terminal SIGN.
- These levels of the signal applied to terminal SIGN are arbitrarily designated the binary zero and one levels (or simply binary zero and one), respectively.
- the ones complement of an applied data word can be converted to the more convenient twos-complement of that word by adding binary one to the least significant binary place of the ones-complement word. This is accomplished by applying the control signal applied to terminal SIGN to adder 152 as an arithmetic carry-in to the least significant place of the addition performed therein.
- complementer 150 produces a word which is the ones complement of an applied data word (in which case binary one is the control signal applied to terminal SIGN)
- the application of the signal at terminal SIGN to adder 152 as described above changes the effect of that ones-complement word to the elfect of the equivalent twos-complement Word.
- any twos-complement quantity applied to arithmetic unit 192 can be added to or subtracted from the contents of accumulator 156, depending on Whether binary zero or one is applied to terminal SIGN.
- Gating device 158 similar to input device 100, is enabled by the application of a gate enabling control voltage to control terminal CLEAR.
- complementer 150 On the application of a control voltage of a second level (designated the binary zero level or simply binary zero) to terminal MAGNITUDE, complementer 150 inhibits the data word applied to it. When the applied data word is thus inhibited, complementer 150 produces instead a data word representative of either binary zero or binary full scale depending on whether binary zero or binary one is applied to terminal SIGN.
- Binary full scale is, of course, merely the ones-complement of binary zero and can be rendered the twos-complement of binary zero (which is the same as binary zero) by adding binary one to the least significant place of the binary full scale word. This takes place in adder 152 by virtue of the application of control signal SIGN to that device as discussed above.
- any tWos-complement quantity applied to arithmetic unit 192 can be multiplied by any positive or negative (multiplier) quantity by selective repeated addition or subtraction of the applied (multiplicand) quantity to or from the accumulator.
- the magnitude bits of that quantity are sequentially applied, least significant first, to complementer'150 by way of terminal MAGNITUD'E. Each time binary one is thus applied to terminal MAGNI'I UDE, an addition or subtraction of the multiplicand quantity takes place depending on the signal applied to terminal SIGN.
- the multiplicand quantity is added to or subtracted from the contents of accumulator 156 at the appropriate numerical significance relative to the contents of accumulator 156 by reducing the significance of the latter quantity by one binary place each time that quantity is applied to adder 152 as part of a multiplication operation. If serial arithmetic is being employed, this shift in significance can be accomplished by delaying the bits of the accumulator contents relative to the bits of the word produced by complementer 150. When simple addition or subtraction is to be performed (i.e., an addition or subtraction which is not part of a multiplication), this delay can be by-passed.
- the required shift can be realized by connecting each accumulator output lead to an adder input lead having numerical significance less by one binary place than the corresponding accumulator output place. Before performing any addition or subtraction not associated with a multiplication, this wired right shift can be compensated for by first shifting the contents of the accumulator to the left by an appropriate number of binary places.
- device 156 when parallel arithemetic is employed, device 156 must be both a parallel accumulator and a left shift register, the mode of its operation being determined by the level of the control signal applied to terminal MODE.
- device 156 is preferably a device of the type which stores an applied quantity or shifts a stored quantity in response to a clock pulse applied by way of enabled AND gate 154.
- AND gate 154 may be enabled by application of a gate enabling control voltage terminal ENABLE ACCUMULATOR.
- the control signals applied to terminals MODE and EN- ABLE ACCUMULATOR are among those generated by the control apparatus of FIG. 2.
- Arithmetic unit 192 can be cleared of the quantity stored in accumulator 156 by applying a gate disabling voltage to control terminal CLEAR during any addition or subtraction cycle. Application of such a control voltage to terminal CLEAR disables device 158, thereby inhibiting the path or paths by which the contents of accumulator 156 are applied to adder 152. The former contents of acumulator 156 are therefore lost or cleared when that device changes state to store any newly applied adder output word.
- enabling devices 158 and 160 both of which may be similar gating devices
- the contents of accumulator 156 may be returned to storage unit 190 by way of bus 101.
- a gate enabling control voltage generated by the control apparatus of FIG. 2, may be applied to terminal READ ACCUMULATOR. Any data word applied to storage unit 190 by way of bus 101 may be stored in either or both of one word storage registers 112 or 122 as discussed above.
- FIG. 4 outlines an algorithm whereby a second order filtering operation similar to that performed by the filter 10 of FIG. 1 can be performed in the apparatus of FIG. 3 just discussed.
- step 1 in FIG. 4 a twoscomplement binary coded signal sample, applied to the apparatus of FIG. 3 by way of bus 99 is applied to bus 101 by way of enabled input device and stored in register 112.
- step 2 quantity X, the data word in the output stage of first order data memory 132 is multiplied by filter coefiicient E.
- accumulator 156 is, of course, cleared by inhibiting gating device 158.
- device 158 is enabled and the product of quantities X and E gradually accumulated in accumulator 156.
- step 3 quantity I, the most recently stored sample, is applied to arithmetic unit 192 for addition to the product of X and E.
- the binary points in data words and coefiicients are positioned to minimize the shifting necessary to make possible the addition of a data word like quantity I and a multiplication product stored in accumulator 156- If, for example, parallel arithmetic is being performed, the binary significance of completed products stored in accumulator 156 can be made equivalent to the binary significance of any data word applied to arithmetic unit 192 so that accumulator 156 need only be shifted to the left one binary place (to compensate for the wired right shift in the feedback connection between accumulator 156 and adder 152) before adding any applied data word to any stored product.
- Step 3 necessarily includes this left shift as a prelude to the addition of quantity I to the stored product of X and E.
- the resulting quantity is returned to storage register 112, thereby freeing arithmetic unit 192 for further arithmetic operations.
- step 5 quantity Y is multiplied by filter coeflicient D in the manner discussed above and the product stored in accumulator 156.
- step 6 quantity I is added to the product of Y and D and the sum stored in the accumulator. It will be observed that this stored quantity is identical to that produced by adder 20 in the prior art filter of FIG. 1. In step 7 this quantity is transferred to storage registers 112 and 122.
- steps 8 through 13 quantities X and Y are multiplied by feed-forward filter coefiicients 'C and B, respectively. Each of the resulting products is added to the contents of storage register 122 (i.e., to quantity 1 and the result returned to register 122.
- storage register 122 contains a quantity identical to that produced by adder 38 of the prior art filter of FIG. 1 while register 112 still contains a quantity identical to that produced by adder 20.
- step 14 data memories 132 and 142 are both shifted by one stored word in the direction of their respective output stages. As a result, memory 132 stores quantity I in its input stage and memory 142 stores former quantity X. Former quantity Y is lost and new quantities X and Y appear.
- step 15 quantity J is multiplied by coefficient A and the product stored in accumulator 156.
- the quantity is, of course, equivalent to an output word produced by the prior art filter of FIG. 1.
- step 16 the contents of accumulator 156 are returned to storage register 112.
- the filtering operation outlined in FIG. 4 can be repeated any number of times, p, to produce a filtering function equivalent to p cascaded second order filter sections.
- Associated with each repetition of the second order filtering algorithm of FIG. 4 is a unique set of coetficients A through E.
- each repetition of this algorithm includes computing a recursive quantity (i.e., the quantity present in register 112 at the end of step 7) and shifting or displacing the contents of memories 132 and 142 in order to store that computed recursive quantity (step 14), new quantities X and Y appear for use in each repetition of the filtering algorithm.
- the input quantity or the quantity on which each second order filtering operation is performed is the output quantity of the preceding second order filtering operation.
- This quantity is a nonrecursive quantity (i.e., the quantity present in register 122 at the end of step 13) multiplied by a scaling coeflicient A (step 15).
- the input quantities for the succeeding repetitions of the algorithm are also stored in register 112 (step 16).
- the last scaled nonrecursive quantity (i.e., the quantity stored in register 112) is withdrawn from the filter as a digitally coded discrete time filtered output word. This is accomplished by applying a gate enabling voltage to terminal READ I and at the same time enabling output storage register 180 (similar to register 112 or 122) by the concurrence of a gate enabling voltage at terminal ENABLE OUTPUT and a clock pulse at terminal CLOCK. This output quantity may thereafter be applied to any desired utilization device.
- second order filtering operations can be performed on one sample from each of q sources by means of p times q repetitions of the algorithm of FIG. 4. This cycle is repeated ad infinitum to produce an on-going filtering operation.
- FIG. 5A illustrates the contents of first and second order data memories 132 and 142 at the start of the i filter cycle.
- the final or output stage of memory 132 contains the recursive quantity computed during the first second order filtering operation in the preceding filter cycle (i.e., cycle i-l).
- the output stage of memory 142 contains the corresponding recursive from cycle i-2.
- the contents of memories 132 and 142 are shifted by one word in the direction of their respective output stages with the result that the contents of these devices assume the configuration shown in FIG. 5B.
- there is a newly stored recursive quantity i.e., the recursive quantity computed in the current second order filtering operation
- This quantity will emerge as quantity X after memory 132 has been shifted an appropriate number of times, that is, after p second order filtering operations have been performed on one sample from each of the q sources.
- the recursive quantity computed in each repetition of the basic algorithm is stored for use in the corresponding repetition in the two succeeding filter cycles (i.e., first as quantity X and then as quantity Y). Since each filter cycle involves p times q repetitions of the basic algorithm and hence the computation of p times q recursive quantities, each of which is not again needed (as quantity X) until p times q repetitions after the repetition in which it was computed, memory 132 is provided with capacity for storing p times q recursive quantities. Similarly, each of quantities X is not again needed (as quantity Y) until p times q repetitions after the repetition in which it appears as quantity X.
- Memory 142 is therefore also provided with capacity for storing p times q recursive quantities.
- Memories 132 and 142 may have capacities in excess of the product of any particular values of p and q as long as means are provided for short circuiting capacity unused in any particular application.
- the capacities of these memories act as an upper bound on parameters p and q in that the product of any particular values of p and q may not exceed the number of words which can be stored in either of memories 132 and 142.
- the apparatus of FIG. 3 is controlled in accordance with the algorithm of FIG. 4 by means of the control circuitry of FIG. 2, i.e., clock 200, counter 202, and instruction and coetficient memories 204 and 206, mentioned briefly above.
- This control circuitry applies the required bilevel control signals to the labelled terminals of the apparatus of FIG. 3 as shown in FIG. 2.
- Clock 200 which may be any suitable timing signal generator, produces a series of timing pulses (see FIG. 6A) which is applied to control terminal CLOCK and to instruction counter 202.
- Instruction counter 202 which may be any suitable ring counter or stepping switch, addresses sequential portions of instruction and coefiicient memories 204 and 206 may be any suitable memory devices, e.g., magnetic core memories or fixed diode matrix memories. Each addressable portion of memories 204 and 206 contains a stored instruction which determines the level of the bilevel control signal to be applied to each of the control terminals in FIG. 2 other than terminal CLOCK.
- the conditions of or the information stored in memories 204 and 206 may be conveniently depicted, at least in part, as shown in FIGS. 6B and 60, respectively.
- Each horizontal row in the matrices of FIGS. 6B and 6C represents one instruction the function of which is noted in the lefthand margin of the matrix of FIG. 6B.
- Each instruction is addressed by counter 202 during the corresponding cycle in the timing signal of FIG. 6A.
- Each one or zero in each of these instructions indicates the level of the control signal voltage to be applied to the control terminal identified at the top of the matrix column in which that one or zero appears. The indicated conditions continue only during the timing or instruction cycle in which the instruction of interest is addressed. In particular, binary one in any of columns READ SOURCE, ENABLE I, READ I, ENABLE J.
- READ J, READ X, READ Y, ENABLE ACCUMULATOR, CLEAR, READ ACCU- MULATOR, SHIFT, or ENABLE OUTPUT indicates that a gate enabling voltage is to be applied to the similarly labelled control terminal.
- Binary zero in any of these columns indicates that a gate inhibiting voltage is to be applied.
- Binary zero in column MODE indicates that the control voltage to be applied to terminal MODE is that which will cause accumulator 156 to shift a parallel stored quantity to the left when it is next enabled.
- a binary one in column MODE indicates that this control voltage is to be that which will cause accumulator 156 to store an applied parallel quantity.
- Entries 6 in column MAGNITUDE similarly represent the several magnitude bits of the identified coefiicient, least significant bit first.
- other ones and zeroes in column MAGNITUDE not associated with any filter coefficient indicate control signal voltage levels to be applied to terminals SIGN and MAGNI- TUDE during instruction cycles other than those associated with multiplication operations.
- FIGS. 6B and 6C represent only those instructions necessary to perform one second order filtering operation and therefore correspond to one repetition of the algorithm of FIG. 4.
- the first step in FIG. 4 is implemented by the first instruction in FIGS. 6B and 6C which, by virtue of binary ones in columns READ SOURCE and ENABLE I, indicates that gate enabling voltages are applied to terminals READ SOURCE and ENABLE I when that instruction is addressed.
- AND gates 100 and 110 in the apparatus of FIG. 3 are thereby enabled.
- Register 112 therefore stores the sample applied to the filter.
- the next several instructions perform the required multiplication of quantity X by coeflicient E. This is accomplished by several similar instructions in which ones occur in columns READ X, ENABLE ACCUMULATOR, MODE, and, with the exception of the first instruction, in column CLEAR.
- a one in column READ X indicates, of course, that quantity X is applied to arithmetic unit 192 during each multiply instruction cycle.
- a one in column MODE indicates that accumulator 156 will store an applied quantity rather than shift a stored quantity when it is enabled.
- the one in column ENABLE ACCUMULA- TOR indicates that AND gate 154 is enabled thereby allowing a clock pulse to be applied to accumulator 156 and causing that device to store the quantity applied to it during each multiply cycle.
- an instruction labelled SHIFT LEFT in FIG. 6B and represented by zeroes in all the columns of FIG. 6B except column ENABLE ACCUMULATOR, causes accumulator 156 to shift its contents one binary place to the left (as indicated by the zero in column MODE) in preparation for the addition of the product stored therein and the contents of storage register 112.
- the next instruction labelled ADD I in FIG. 6B, causes quantity I and the contents of accumulator 156 to be applied to adder 152.
- ADD I causes quantity I and the contents of accumulator 156 to be applied to adder 152.
- zero and one appear in columns SIGN and MAGNITUDE, respectively, in the matrix of FIG. 6C to indicate that control signals must be applied to terminals SIGN and MAGNITUDE in order to allow quantity I to be passed unaltered by complementer 150.
- the plurality of second order filtering operations required to perform higher order filter functions on data from several sources may be realized by extending the memories represented by FIGS. 6B and 6C so that each is p times q times the size represented in FIGS. 6B and 6C.
- p and q are respectively the number of second order filtering operation to 'be performed and the number sources from which data is to be derived. Accordingly, memories 204 and- 206 thus extended would contain p times q repetitions of the instructions represented in FIGS. 6B and 6C with appropriately placed input and output instructions.
- any number of ways may be employed to reduce the required capacity of memories 204 and/or 206. For example, if data from all sources is to be subjected to the same filter transfer function, memories 204 and 206 need only be extended to p times the sizes shown in FIGS. 6B and 6C. Even if different coetficients are to be used on data from each source, the basic filter operations are the same with respect to data from each source. Accordingly, instruction memory 204 can be provided with capacity for storage of instructions for p second order filter cycles while coefiicient memory 206 is arranged to store 2 times q separate sets of filter coefficients.
- instruction memory 204 It is then necessary to cycle through instruction memory 204 each time a new sample is applied from any source while coefiicient memory 206 is cycled only after all coeificients heave been used. This may be accomplished by logic circuitry which selects the appropriate group of p sets of filter coefiicients for use during each cycle of the stored instructions. By making use of even more elaborate logic circuitry, the size of instruction memory 204 can 'be reduced still further. That memory may even be reduced to the size represented by the matrix of FIG. 6B if circuitry is provided to suppress the first or load instruction except during the first of each group of p second order filter cycles and to include an unloading instruction as the last instruction in the last of each group of p second order filter cycles.
- parameters p and q of the filter of this invention can be changed to suit any particular applications simply by replacing memories 204 and 206 or by altering the contents of these memories so long as the product of parameters p and q does not exceed the number of data words which can be simultaneously stored in each of data memories 132 and 142.
- These changes in memories 204 and 206 can be made without changing the basic operating portion 220 of the filter. Accordingly, the filter of this invention is flexible to a considerable degree with respect to the order of the filter functions to be realized and the number of sources of data to be processed.
- the data processing portion of the filter can be made up of any number of identical filter modules (a typical one of which is shown in FIG. 7A) connected in parallel as shown in FIG. 7B.
- each of modules 196-1 through 19641 operates on data from one binary place of samples applied to the filter. Filters of any desired computational accuracy can therefore be constructed using an appropriate number of filter modules.
- the filter module control terminals are not shown in FIG. 7B, it is to be understood that all similar terminals on all modules are connected together so that all modules are controlled to perform the same operations simultaneously.
- each of the components of the typical module shown in FIG. 7A when combined with the corresponding components of other parallel modules, comprise the similarly identified components of the assembled filter shown in FIG. 3,.
- the one bit storage registers 112 of several parallel filter modules comprise one word storage register 112 in the apparatus of FIG. 3.
- the first order data memories 132 of these filter modules comprise first order data memory 132 in the apparatus filter of FIG. 3.
- Each of one bit storage registers 112 and 122 may therefore be a bistable multivibrator or flip-flop device while each of memories 132 and 142 may be a shift register having capacity for storing one bit from each of at least p times q data words applied thereto.
- Each of the devices included in arithmetic unit 192 in the typical module of FIG. 7A are devices which perform operations discussed above in connection with the filter of FIG. 3 but do so only on one binary place of data applied to that unit.
- connections to adder 152 are shown whereby in the course of an addition operation any necessary arithmetic CARRY IN (from the corresponding adder in the next lower order module) or CARRY OUT (to the adder in the next higher order module) may be effected.
- Order in this con-text refers, of course, to the binary significance of the data being processed by a given module.
- leads labelled SHIFT IN and SHIFT OUT are provided to enable accumulator 156 to act as a left shift register when appropriate control signals are applied to terminals CLOCK, ENABLE ACCUMULATOR, and MODE.
- the wired right shift in the feedback connections from accumulator 156 to adder 152 is implemented by means of the lead from the output terminal of AND gate 158 back to the adder of the next lower order filter module.
- adder 152 has an input lead which is indicated to come from the next higher order module; in particular, from the output terminal of AND gate 158 of that module.
- Each of devices 150, 152, and 156 taken together with the corresponding devices in several parallel filter modules thereof comprise the similarly identified devices in the filter of FIG. 3.
- filters can be constructed according to the principles of this invention which are equivalent to cascaded sections of any order.
- a filter equivalent to cascaded sections of arbitrary order m can be constructed by providing m serially connected data memories, each similar to either of devices 132 or 142 shown in FIG. 3, and by making appropriate changes in the operating algorithm. This would, of course, necessitate additions to instruction and coefficient memories 204 and 206.
- the basic operating algorithm need not be completely general as is true of the algorithm described in detail above.
- filter coefficients such that one or more of the multiplications required in the general algorithm can be eliminated.
- coefiicients i.e., coefiicicnt A
- Apparatus for time sharing an arithmetic unit among p cascaded digital filter operations, each of order m and each performed on digitally coded signal samples from each of q sources comprising:
- an arithmetic unit responsive to digitally coded signal quantities applied thereto for computing predetermined digital filter quantities
- each of said shift registers having capacity for storing at least p times q sequentially applied digitally coded signal quantities, the first computed of said p times q stored quantities in each of said shift registers being the output quantity of said shift register;
- an arithmetic unit responsive to digitally coded signal quantities applied thereto for sequentially computing a recursive quantity and a nonrecursive quantity
- Apparatus for performing p sequential digital filtering operations, each of order m and each involving the computation of a digitally coded recursive quantity and a digitally coded nonrecursive quantity, on data from each of q sequentially sampled sources comprising:
- control means for generating a plurality of bilevel control signals
- a first storage register responsive to signals from said control means for storing an applied digitally coded data word
- a second storage register responsive to signals from said control means for storing an applied digitally coded data word
- each of said shift registers having capacity for storing at least p times q sequentially applied data words
- control means further comprises:
- control means further comprises:
- a coeflicient memory for storing a plurality of coded feedback, feed-forward, and scaling coefiicients
- Apparatus for performing p successive digital filter ing operations, each of order m, on digitally coded signal samples from each of q sources comprising:
- a time-shared arithmetic unit selectively responsive to said means for storing and to said output words of each of said shift registers for sequentially computing a recursive and a nonrecursive digitally coded quantity in each of said filtering operations;
- each of said multiword storage units having capacity for the simultaneous storage of at least p times 'q sequentially applied data words
- an arithmetic unit selectively responsive to the data Words stored in said one word data storage units and to the output words of said multiword data storage units for sequentially computing the recursive and nonrecursive data words associated with each of said filtering operations;
- Apparatus for performing p sequential digital filtering operations, each of order m, on sequentially applied samples from each of q sources comprising:
- second means for storing an applied digitally coded data word v means for applying one of said samples to said first means for storing at the start of each of a sequence of p filtering operations; 7 m multiword shift registers connected in series with said first means for storing, each of said shift regis-- ters having capacity for storing at leastp times q sequentially applied digitally coded data words representative of arithmetic combinations of applied data words;
- an arithmetic unit selectively responsive to the data words stored in said first and second means for storing and to the output words of said multiword data storage units for sequentially computing the recursive and nonrecursive data words associated with each of said filtering operations;
- complementer means for selectively negating or inhibiting each data word applied to said arithmetic unit; adder means responsive to the output signal of said complementer for adding the data word represented by that output signal and an applied data Word; accumulator means for storing the data word represented by the output signal of said adder; and means for applying the data word stored in said accumulator to said adder means.
- Apparatus for performing p'sequential digital filtering operations, each of order m, on sequentially applied samples from each of q sources comprising:
- second means for storing a data word connectable to said connecting means m serially connected multiword'shift registers, each of said shift registers having capacity for storing at least p times q sequentially applied data words;
- an arithmetic unit selectively responsive to data words applied to said connecting means for producing output words representative of predetermined algebraic combinations of said applied data words and applied filter coeificient quantities;
- controllable complementer means for selectively negating and inhibiting data words applied to said arithmetic unit
- adder means responsive to the-"output signal of said complementer means for adding the data word represented by that output signal and an applied data word;
- accumulator means for storing the data wo'rd represented by the output signal of said adder; means for applying the data word stored in said accumulator to said adder means;
- each module processing data from one binary place of said samples under control of signals from said control unit and each module further comprising:
- a one bit memory device for storing one bit of one of said digitally coded quantities, including said signal samples, in response to signals from said control unit; first and second multistage shift registers each having capacity for storing one bit of each of p times q digitally coded quantities, said one bit memory device and said shift registers being connected in series; an arithmetic unit responsive to said control unit for pe fo ming on.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9974770A | 1970-12-21 | 1970-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
US3706076A true US3706076A (en) | 1972-12-12 |
Family
ID=22276425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US99747A Expired - Lifetime US3706076A (en) | 1970-12-21 | 1970-12-21 | Programmable digital filter apparatus |
Country Status (10)
Country | Link |
---|---|
US (1) | US3706076A (fr) |
JP (1) | JPS5312145B1 (fr) |
BE (1) | BE772813A (fr) |
CA (1) | CA937297A (fr) |
DE (1) | DE2146982A1 (fr) |
FR (1) | FR2119309A5 (fr) |
GB (1) | GB1355107A (fr) |
IT (1) | IT939838B (fr) |
NL (1) | NL7112895A (fr) |
SE (1) | SE364832B (fr) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3798560A (en) * | 1973-01-29 | 1974-03-19 | Bell Telephone Labor Inc | Adaptive transversal equalizer using a time-multiplexed second-order digital filter |
US3902165A (en) * | 1973-04-30 | 1975-08-26 | Cselt Centro Studi Lab Telecom | High-speed pcm data-transmission system |
US3978323A (en) * | 1974-04-18 | 1976-08-31 | U.S. Philips Corporation | Apparatus for achieving predetermined transfer characteristics |
US4117541A (en) * | 1977-11-07 | 1978-09-26 | Communications Satellite Corporation | Configurable parallel arithmetic structure for recursive digital filtering |
US4149258A (en) * | 1976-12-20 | 1979-04-10 | Tokyo Shibaura Electric Co., Ltd. | Digital filter system having filters synchronized by the same clock signal |
WO1981001623A1 (fr) * | 1979-11-28 | 1981-06-11 | Motorola Inc | Recepteur de tonalite a multifrequence programmable |
EP0090464A1 (fr) * | 1982-03-31 | 1983-10-05 | Koninklijke Philips Electronics N.V. | Circuit numérique de commande de tonalité |
US4467440A (en) * | 1980-07-09 | 1984-08-21 | Casio Computer Co., Ltd. | Digital filter apparatus with resonance characteristics |
US4489416A (en) * | 1983-03-18 | 1984-12-18 | Rixon, Inc. | Equalization system for modems in a polled arrangement |
US4489391A (en) * | 1981-02-26 | 1984-12-18 | Casio Computer Co., Ltd. | Digital filter apparatus having a resonance characteristic |
FR2552904A1 (fr) * | 1983-10-03 | 1985-04-05 | Moulin Andre | Processeur de calculs |
US4803647A (en) * | 1986-05-30 | 1989-02-07 | Rca Licensing Corporation | Sampled data audio tone control apparatus |
US5586068A (en) * | 1993-12-08 | 1996-12-17 | Terayon Corporation | Adaptive electronic filter |
US20020049799A1 (en) * | 2000-10-24 | 2002-04-25 | Minsheng Wang | Parallel implementation for digital infinite impulse response filter |
US20030144121A1 (en) * | 2001-12-14 | 2003-07-31 | Walsh Joseph C. | Packages, blanks for making packages and associated methods and apparatus |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2295665A1 (fr) * | 1974-12-18 | 1976-07-16 | Labo Cent Telecommunicat | Recepteur numerique de signaux multifrequences |
FR2555777A1 (fr) * | 1983-10-03 | 1985-05-31 | Moulin Andre | Processeur numerique de filtrage |
US4809208A (en) * | 1987-04-03 | 1989-02-28 | Tektronix, Inc. | Programmable multistage digital filter |
GB2209648B (en) * | 1987-09-10 | 1991-10-23 | Ncr Co | Modem communication system having main and secondary channels |
-
1970
- 1970-12-21 US US99747A patent/US3706076A/en not_active Expired - Lifetime
-
1971
- 1971-07-30 CA CA119539A patent/CA937297A/en not_active Expired
- 1971-09-14 SE SE11658/71A patent/SE364832B/xx unknown
- 1971-09-17 GB GB4350471A patent/GB1355107A/en not_active Expired
- 1971-09-20 BE BE772813A patent/BE772813A/fr unknown
- 1971-09-20 NL NL7112895A patent/NL7112895A/xx not_active Application Discontinuation
- 1971-09-20 FR FR7133785A patent/FR2119309A5/fr not_active Expired
- 1971-09-20 IT IT70095/71A patent/IT939838B/it active
- 1971-09-21 DE DE19712146982 patent/DE2146982A1/de not_active Withdrawn
- 1971-09-21 JP JP7307571A patent/JPS5312145B1/ja active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3798560A (en) * | 1973-01-29 | 1974-03-19 | Bell Telephone Labor Inc | Adaptive transversal equalizer using a time-multiplexed second-order digital filter |
US3902165A (en) * | 1973-04-30 | 1975-08-26 | Cselt Centro Studi Lab Telecom | High-speed pcm data-transmission system |
US3978323A (en) * | 1974-04-18 | 1976-08-31 | U.S. Philips Corporation | Apparatus for achieving predetermined transfer characteristics |
US4149258A (en) * | 1976-12-20 | 1979-04-10 | Tokyo Shibaura Electric Co., Ltd. | Digital filter system having filters synchronized by the same clock signal |
US4117541A (en) * | 1977-11-07 | 1978-09-26 | Communications Satellite Corporation | Configurable parallel arithmetic structure for recursive digital filtering |
WO1981001623A1 (fr) * | 1979-11-28 | 1981-06-11 | Motorola Inc | Recepteur de tonalite a multifrequence programmable |
US4354248A (en) * | 1979-11-28 | 1982-10-12 | Motorola, Inc. | Programmable multifrequency tone receiver |
US4467440A (en) * | 1980-07-09 | 1984-08-21 | Casio Computer Co., Ltd. | Digital filter apparatus with resonance characteristics |
US4489391A (en) * | 1981-02-26 | 1984-12-18 | Casio Computer Co., Ltd. | Digital filter apparatus having a resonance characteristic |
EP0090464A1 (fr) * | 1982-03-31 | 1983-10-05 | Koninklijke Philips Electronics N.V. | Circuit numérique de commande de tonalité |
US4489416A (en) * | 1983-03-18 | 1984-12-18 | Rixon, Inc. | Equalization system for modems in a polled arrangement |
FR2552904A1 (fr) * | 1983-10-03 | 1985-04-05 | Moulin Andre | Processeur de calculs |
US4803647A (en) * | 1986-05-30 | 1989-02-07 | Rca Licensing Corporation | Sampled data audio tone control apparatus |
US5586068A (en) * | 1993-12-08 | 1996-12-17 | Terayon Corporation | Adaptive electronic filter |
US20020049799A1 (en) * | 2000-10-24 | 2002-04-25 | Minsheng Wang | Parallel implementation for digital infinite impulse response filter |
EP1211806A1 (fr) * | 2000-10-24 | 2002-06-05 | Texas Instruments Incorporated | Mise en oeuvre en parallèle pour filtre numérique à réponse impulsionelle infinie |
US20030144121A1 (en) * | 2001-12-14 | 2003-07-31 | Walsh Joseph C. | Packages, blanks for making packages and associated methods and apparatus |
Also Published As
Publication number | Publication date |
---|---|
CA937297A (en) | 1973-11-20 |
GB1355107A (en) | 1974-06-05 |
JPS5312145B1 (fr) | 1978-04-27 |
FR2119309A5 (fr) | 1972-08-04 |
BE772813A (fr) | 1972-01-17 |
SE364832B (fr) | 1974-03-04 |
DE2146982A1 (de) | 1972-07-13 |
NL7112895A (fr) | 1972-06-23 |
IT939838B (it) | 1973-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3706076A (en) | Programmable digital filter apparatus | |
US3521042A (en) | Simplified digital filter | |
US5287299A (en) | Method and apparatus for implementing a digital filter employing coefficients expressed as sums of 2 to an integer power | |
US3691359A (en) | Asynchronous binary multiplier employing carry-save addition | |
US4450533A (en) | Distributed arithmetic digital processing circuit | |
US4238833A (en) | High-speed digital bus-organized multiplier/divider system | |
US3515344A (en) | Apparatus for accumulating the sum of a plurality of operands | |
US2758787A (en) | Serial binary digital multiplier | |
US3670956A (en) | Digital binary multiplier employing sum of cross products technique | |
GB1534199A (en) | Electrical filters | |
Zohar | New hardware realizations of nonrecursive digital filters | |
US5297069A (en) | Finite impulse response filter | |
US3988606A (en) | Digital filter device for processing binary-coded signal samples | |
JPH0225987A (ja) | 画像処理集積回路装置 | |
US3535498A (en) | Matrix of binary add-subtract arithmetic units with bypass control | |
US5038315A (en) | Multiplier circuit | |
US3816732A (en) | Apparatus and method for serial-parallel binary multiplication | |
US4336600A (en) | Binary word processing method using a high-speed sequential adder | |
JPH082014B2 (ja) | 多段デジタル・フィルタ | |
US3626167A (en) | Scaling and number base converting method and apparatus | |
US3993890A (en) | Combinatorial digital filter | |
US3582634A (en) | Electrical circuit for multiplying serial binary numbers by a parallel number | |
US4013879A (en) | Digital multiplier | |
US3098153A (en) | Parallel adding device with carry storage | |
CA1073113A (fr) | Multiplieur numerique |