US4041284A - Signal processing devices using residue class arithmetic - Google Patents

Signal processing devices using residue class arithmetic Download PDF

Info

Publication number
US4041284A
US4041284A US05/720,915 US72091576A US4041284A US 4041284 A US4041284 A US 4041284A US 72091576 A US72091576 A US 72091576A US 4041284 A US4041284 A US 4041284A
Authority
US
United States
Prior art keywords
modulo
digital
integers
sub
converting
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
Application number
US05/720,915
Inventor
James W. Bond
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
US Department of Navy
Original Assignee
US Department of Navy
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by US Department of Navy filed Critical US Department of Navy
Priority to US05/720,915 priority Critical patent/US4041284A/en
Application granted granted Critical
Publication of US4041284A publication Critical patent/US4041284A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/729Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system

Definitions

  • Another, slightly different version, of the invention comprises an apparatus for performing arithmetical calculations on a plurality, N, of digital input signals, utilizing residue class arithmetic.
  • a plurality N of means codes the N input digital signals into digital modulo m i integers, K ⁇ i ⁇ 1.
  • a plurality N of sets of means one set connected to each coding means, K means per set, converts the digital modulo m i integers into corresponding analog modulo m i signals.
  • a plurality K of means performs a mathematical operation on analog modulo m i integers, each means having N inputs, one from, and connected to, each of the sets of the D/A converting means.
  • a plurality K of means are connected to the K operation means, for converting the analog modulo m i integers from the operation means into digital modulo m i integers.
  • Means are connected to the K A/D converting means, for obtaining the resultant, a*b* . . . *N modulo m i , of the mathematical operations on the N digital inputs.
  • An object of the invention is to provide apparatus, using analog and digital components, which has equal accuracy to that obtainable when using only digital devices.
  • Another object of the invention is to provide apparatus, using residue arithmetic, in which the digital operations do not require taking into account carries of binary bits.
  • Yet another object of the invention is to provide apparatus which is an order of magnitude more accurate than similar analog-digital apparatus not utilizing residue arithmetic.
  • FIG. 1 is a table showing multiplication modulo-8.
  • FIG. 2 is a diagram showing multiplication based on residue arithmetic.
  • FIG. 3 is a block diagram showing a general device using analog and digital components to perform residue class arithmetic.
  • FIG. 4 is a block diagram similar to that shown in FIG. 3, except utilizing a plurality of digital-to-analog converters for each coder.
  • FIG. 5 is a block diagram showing a specific implementation of the device shown in FIG. 4.
  • FIG. 6 is a detailed block diagram of one of the circuits, the circuit which performs modulo number calculations, shown in FIGS. 3 or 5.
  • FIG. 7 is a block diagram of a device using residue class arithmetic which includes a plurality of delay lines.
  • FIG. 8 is a block diagram of a residue class convolver using analog transversal filters.
  • the residue classes are 0, 1, 2, . . . , m-1, with the sum and product defined to be the ordinary integer sum and product reduced by an integer multiple of m to one of the residue class values.
  • the residue classes are 0, ⁇ 1, ⁇ 2, . . . , ⁇ (m-1)/2 when m is an odd integer and 0, ⁇ 1, ⁇ 2, . . . , ⁇ (m/2 - 1), +m/2 when m is an even integer.
  • Residue arithmetic has been considered by a number of authors for general purpose digital computers. An excellent book has been written to collect in one place this material. It is authored by N. S. Szabo and N. I. Tanaka, entitled Residue Arithmetic and its Applications to Computer Technology, and published by McGraw-Hill Book Company, 1967. Other useful references are: H. L. Garner, The Residue Number System, I.R.E. Transactions on Electronic Computers, pp. 140-147, June 1959; K. F. Gauss, Disquitiones Arithmetice, translated from Latin to English by Arthur J. Clarke, New Haven, Yale University Press, 1966; and J. W. Bond, A Characterization of Transforms with the Convolution Property for residue Class Rings, Naval Undersea Center, Internal Publication, TN 1518, July 1975.
  • Residue class arithmetic involves a finite number of elements, each consisting of an infinite set of ordinary integers.
  • the residue class arithmetic modulo m consists of m disjoint sets of integers, called residue classes, [0], [1], . . . , [m-1]. Every integer belongs to the residue class labeled by its remainder after division by m. This is illustrated in FIG. 1.
  • the largest product modulo m has magnitude (m-1) 2 .
  • An accuracy of 1 part in 2[(n- 1) 2 +1] would be required if the multiplier were used to calculate this product to the nearest integer.
  • the following moduli are used: 3,5,7,8.
  • FIG. 2 provides a schematic for the required calculations.
  • FIG. 3 therein is shown an apparatus 10 for performing arithmetical calculations on a plurality, N, of digital input signals, utilizing residue class arithmetic.
  • a plurality N of means 12 codes the N input digital signals, I 1 through I N , into digital modulo m 1 integers K ⁇ i ⁇ 1.
  • the quantity K may have an approximate value up to 4.
  • the coding could be accomplished in two steps: First, assuming the input data to be binary, a digital magnitude reduction step, and second, a digital-to-analog conversion.
  • the magnitude reduction may be illustrated by a binary 5 digit input to be converted to an analog multiplier for modulo 3.
  • a plurality N of means 16 performs a mathematical operation on analog modulo m i integers, each means having an input connected to a D/A converting means 14.
  • Means 22 connected to the N A/D converting means 18, decode the digital modulo m i numbers into digital outputs.
  • a sign line 24 may be connected between each coder 12 and the decoder 22.
  • the means 16 for performing the mathematic operation may comprise a multiplier.
  • the means 16 for performing the mathematical operation may comprise a correlator.
  • FIG. 4 is shown another apparatus 30 for performing arithmetical calculations on a plurality, N, of digital input signals, utilizing residue class arithmetic.
  • a plurality N of means 32 codes the N input digital signals into digital modulo m i integers, K ⁇ i ⁇ 1.
  • a plurality N of sets of means 34 one set connected to each coding means 32, K means per set, converts the digital modulo m i integers into corresponding analog modulo m i signals.
  • a plurality K of means 36 performs a mathematical operation on analog modulo m integers, each means having N inputs, one from, and connected to, each of the sets of the D/A converting means 34.
  • a plurality K of means 38 is connected to the K operation means 36, for converting the analog modulo m i integers from the operation means into digital modulo m i integers.
  • Means 42 are connected to the K A/D converting means 38, for obtaining the resultant, a*b* . . .N modulo m i , of the mathematical operations on the N digital inputs.
  • the means for performing the mathematical operation may comprise a multiplier. This is shown by the apparatus 50 of FIG. 5, wherein the multiplier is designated by reference numeral 56.
  • the means 36 for performing the mathematical operation may comprise a correlator.
  • an analog multiplier 50 based on residue class arithmetic, with a least positive magnitude multiplier.
  • the output of the coder (ROM) 32 consists of pairs: one output (the magnitude) to the D/A converter 34, and thence to an analog multiplier 56, and the other output, the sign 58, to the decoder 42.
  • the decoder (ROM) 42 then receives pairs of inputs consisting of residue class magnitudes and corresponding signs.
  • the inputs a and b to the coder 32 could each be as large as 59.
  • the output of the device 50 would then provide the answer up to a multiple of 60. If the product of the inputs is less than 59 the output would be the product.
  • the multiplier 50 is a least positive integer multiplier.
  • the analog devices, 34 and 38 have an accuracy of 2%.
  • a product of integers modulo m i can have magnitude as large as (m i - 1) 2 . This follows because the modulus can have only the values of 0,1, . . . , m i -1.
  • the criterion for m i is that (1/50) (m i - 1) 2 ⁇ 1/2. i.e., (m i - 1) 2 ⁇ 25, so that m i can only be 3, 4, and 5.
  • N is equal to two and the operation means 36 is a cross correlator, then the cross correlator 60 may be of the type shown in detail in FIG. 6.
  • a pair of delay lines, 62 and 64 having an even number 2 P of taps, one end of one delay line 66 being connected to a first D/A converting means 68, processes a first digital input signal, a modulo m.
  • the opposite end of the other delay line 72 is connected to a second D/A converting means 74, which processes the second digital input signal, b modulo m.
  • both input signals, a and b are to the same modulus, namely m. Signals of different moduli could be handled sequentially, so long as both were of the same modulus, at the same time.
  • a plurality 2 P , P 1,2,3, . . . of means 76 for multiplying, whose two inputs comprise corresponding outputs of the delay lines, 66 and 72, multiplies its two input signals.
  • a set of 1/2(2 P ) pairs of analog-to-digital converting means 78 each means connected to the output of the multipliers 76, converts an analog modulo-m input number into a digital modulo-m output number.
  • a first set of 1/2(2 P ), means 82 is connected to the outputs of the converting means, for summing the digital modulo m input signals.
  • a second set of 1/4(2 P ) means 84 each means having its two inputs connected to the first set of summing means 82, sums its digital input signals.
  • a third, fourth, . . . , set of 1/8(2 P ), 1/16(2 P ), . . . , means, not shown in the figure, may be included, each means having its two inputs connected to one of the preceding pairs of summing means, until there remains one summing means 86, at the output of which appears a*b modulo m, the * symbol indicating cross correlation, for the embodiment 60.
  • the quantity t may have a value in the rnage of 100.
  • a plurality N of means 94 each means having its input connected to the coding means 92, converts the digital a i modulo m k integers into corresponding analog a l modulo m k signals.
  • a plurality t of means 96 delays the analog modulo m k signals, each means having an input connected to a D/A converting means 94, each delaying means having N outputs, h l mod m k .
  • a plurality t of means 98 is connected to the delaying means 96, for summing the outputs of the delaying means.
  • a plurality t of means 102 is connected to the t summing means 98, for converting the analog a i modulo m k integers from the summing means into digital a i modulo m k integers.
  • Means 104 are connected to the t A/D converting means 102, for decoding the digital a i modulo m k numbers into a digital output, ##EQU1##
  • FIG. 7 presents a block diagram for a tapped delay line device 90 using residue class arithmetic.
  • the weights for the delay lines 96 can be chosen as all non-negative integers by using least positive integers representatives (e.g., when the tapped delay line is a charge-coupled device) for the residue class arithmetic.
  • the complexity of the digital coder 92 and decoder 102 is independent of N, where N is the number of taps in the filter, or delay line 96.
  • the D/A 94, and A/D, 102, complexity depends on the modulii m i and not on the quantity N.
  • the maximal accuracy achievable for the device 90 depends on the number of pairwise relatively prime moduli m i which may be used.
  • the tap weights h j ,i in the delay line 96 to calculate modulo m i will have at most m i values and the inputs can be restricted to have at most m i distinct values.
  • the a i ,1 term refers to inputs a i mod m i .
  • the term to the right of the inequality sign ⁇ designates the maximum possible value of the term in the brackets for the values of h i ,l as determined in the equations immediately above the inequality term. ##EQU3##
  • the decoder 104 would be built to associate the residue modulo 2520 of
  • FIG. 8 is a block diagram for a residue class convolver 110 using tapped delay lines, 118 and 132.
  • the structure 110 is based upon a generalization of the chirp-z transform to residue class arithmetic.
  • the rationale of this transformation for arithmetic modulo m is that 2N, N being the block length, divides p - 1 for every prime p dividing m.
  • FIG. 8 illustrates an alternate approach to coding and decoding than the use of read-only-memories.
  • weight vectors are: ##EQU4##
  • the input sequences (a 0 , a 1 , a 2 ) and b 0 , b 1 , b 2 ) are premultipled and extended by available discrete multipliers, to form:
  • the first three outputs of the delay line after the line is loaded are used, the next two are discarded, since they have no meaning.
  • the corresponding outputs from the a filter and b filter are point-to-point multiplied, extended by two zeros to form the sequences to go through the next delay line. For example, the delay line associated with a and m 1 is used to calculate
  • the multiplier 124 point-wise multiplies this sequence with the corresponding sequence
  • the tapped delay lines, 118 and 132 could be implemented by charge-coupled devices.
  • the tap weights must be non-negative, but by using right and left taps, positive weights on one bar and negative on the other, the device 110 output magnitude can be held to those described above. Positive weights can also be utilized on both sides if only positive tap weights are needed, as for ##EQU5## in the example.
  • convolution sums from a tapped delay line can be calculated by summing or differencing two or more smaller sums. In this way the accuracy requirements on the charge-coupled device can be reduced.
  • the chirp-Z transform (CZT) architecture invention could be modified to implement the Rader prime transformation, by replacing the premultiplication and post multiplication in FIG. 8 by memories to reorder the data.

Abstract

Apparatus for performing arithmetical calculations on a plurality, N, of ital input signals, utilizing residue class arithmetic, comprising a plurality N of means for coding the N input digital signals into digital modulo mi integers, K≦i≧1. K may have a value of approximately 4. A plurality N of means, each means having an input connected to each coding means, converts the digital modulo mi integers into corresponding analog modulo mi signals. A plurality N of means performs a mathematical operation on the analog modulo mi integers, each means having an input connected to a D/A converting means. The means may be a multiplier or a correlator. A plurality N of means, connected to the N operation means, converts the analog modulo mi integers from the operation means into digital modulo mi integers. Means, connected to the N A/D converting means, decodes the digital modulo mi numbers into digital binary outputs.

Description

BACKGROUND OF THE INVENTION
Many signal processing systems require accurate multiplications, filtering, convolutions, and cross-correlations. Such applications include sonars, radars, frequency domain beamformers, and image-processing transform apparatus. The usefulness of very high-speed analog devices to perform these operations is often limited by the accuracy of the devices. This invention relates to the design of composite analog-digital devices consisting of several standard analog devices and digital residue class arithmetic coding and decoding devices to perform these operations in such a manner as to allow several orders of magnitude improvement in the accuracy achievable by using the composite device over the accuracy of the component analog devices.
In order to obtain increased accuracy, operations are ordinarily performed using all digital arithmetic. This results in a large number of logic gates being required to implement an accurate adder or multiplier. If a transversal filter were to be implemented by direct digital means, it would either require a vast number of logic gates or would have to use a small number of high speed multipliers, resulting in a loss of speed.
SUMMARY OF THE INVENTION
One embodiment of the invention has been described in the summary.
Another, slightly different version, of the invention comprises an apparatus for performing arithmetical calculations on a plurality, N, of digital input signals, utilizing residue class arithmetic.
A plurality N of means codes the N input digital signals into digital modulo mi integers, K ≦ i ≧ 1.
A plurality N of sets of means, one set connected to each coding means, K means per set, converts the digital modulo mi integers into corresponding analog modulo mi signals.
A plurality K of means performs a mathematical operation on analog modulo mi integers, each means having N inputs, one from, and connected to, each of the sets of the D/A converting means.
A plurality K of means are connected to the K operation means, for converting the analog modulo mi integers from the operation means into digital modulo mi integers.
Means are connected to the K A/D converting means, for obtaining the resultant, a*b* . . . *N modulo mi, of the mathematical operations on the N digital inputs.
STATEMENT OF THE OBJECTS OF THE INVENTION
An object of the invention is to provide apparatus, using analog and digital components, which has equal accuracy to that obtainable when using only digital devices.
Another object of the invention is to provide apparatus, using residue arithmetic, in which the digital operations do not require taking into account carries of binary bits.
Yet another object of the invention is to provide apparatus which is an order of magnitude more accurate than similar analog-digital apparatus not utilizing residue arithmetic.
These and other objects of the invention will become more readily apparent from the ensuing specification when taken together with the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a table showing multiplication modulo-8.
FIG. 2 is a diagram showing multiplication based on residue arithmetic.
FIG. 3 is a block diagram showing a general device using analog and digital components to perform residue class arithmetic.
FIG. 4 is a block diagram similar to that shown in FIG. 3, except utilizing a plurality of digital-to-analog converters for each coder.
FIG. 5 is a block diagram showing a specific implementation of the device shown in FIG. 4.
FIG. 6 is a detailed block diagram of one of the circuits, the circuit which performs modulo number calculations, shown in FIGS. 3 or 5.
FIG. 7 is a block diagram of a device using residue class arithmetic which includes a plurality of delay lines.
FIG. 8 is a block diagram of a residue class convolver using analog transversal filters.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Before describing the specific embodidments of the invention, some background information on residue class arithmetic will be discussed.
For each integer m > 1 there is a residue class arithmetic modulo m. In this arithmetic there are two types which will be the basis for the devices to be described: (1) least positive integer; and (2) least magnitude.
In type (1) the residue classes are 0, 1, 2, . . . , m-1, with the sum and product defined to be the ordinary integer sum and product reduced by an integer multiple of m to one of the residue class values. In type (2) the residue classes are 0,±1,± 2, . . . , ±(m-1)/2 when m is an odd integer and 0,±1,± 2, . . . , ±(m/2 - 1), +m/2 when m is an even integer.
The basic fact about the integers modulo m which will provide the improvements in accuracy for composite digital/analog devices over the accuracy of the component analog devices is that calculations in residue class arithmetic modulo m can be reduced to doing calculations in the residue classes modulo m1, modulo m2, . . . , modulo mt, whenever m = m1 m2 . . . mt and the only common positive factor between mi and mj is the integer 1 whenever i ≠ j. This fact is known as the Chinese Remainder Theorem.
More precisely, if a and b are any integers, let am ,bm denote their residue classes modulo m and am.sbsb.I, bm.sbsb.i denote their residue classes modulo mi. Then there exist u1, . . . , ut (independent of a and b) such that:
a.sub.m + b.sub.m = u.sub.1 (a.sub.m.sbsb.2 + b.sub.m.sbsb.2) + u.sub.2 (a.sub.m.sbsb.2 + b.sub.m.sbsb.2) + . . . + u.sub.t (a.sub.m.sbsb.t + b.sub.m.sbsb.t) + hm
a.sub.m b.sub.m = u.sub.1 (a.sub.m.sbsb.1  b.sub.m.sbsb.1) + . . . + u.sub.t (a.sub.m.sbsb.t  b.sub.m.sbsb.t)+h.sup.1 m
for some integers h and h1, which will depend on a and b.
If a, b, a+b, and a b were all integers less than m, then (a+b)m = am = bm and (a b)m = am bm so that addition and multiplication in residue class arithmetic can be viewed as approximating integer arithmetic. For example, if analog devices could be provided to approximate am.sbsb.1 + bm.sbsb.1, . . . , am.sbsb.t + bm.sbsb.t so that after analog to digital conversion am.sbsb.i + bm.sbsb.i could accurately be calculated with these devices, even though none of the devices by themselves could be used to calculate am + bm accurately.
Residue arithmetic has been considered by a number of authors for general purpose digital computers. An excellent book has been written to collect in one place this material. It is authored by N. S. Szabo and N. I. Tanaka, entitled Residue Arithmetic and its Applications to Computer Technology, and published by McGraw-Hill Book Company, 1967. Other useful references are: H. L. Garner, The Residue Number System, I.R.E. Transactions on Electronic Computers, pp. 140-147, June 1959; K. F. Gauss, Disquitiones Arithmetice, translated from Latin to English by Arthur J. Clarke, New Haven, Yale University Press, 1966; and J. W. Bond, A Characterization of Transforms with the Convolution Property for residue Class Rings, Naval Undersea Center, Internal Publication, TN 1518, July 1975.
Examples of using residue class arithmetic are illustrated in FIG. 1. Residue class arithmetic involves a finite number of elements, each consisting of an infinite set of ordinary integers. The residue class arithmetic modulo m consists of m disjoint sets of integers, called residue classes, [0], [1], . . . , [m-1]. Every integer belongs to the residue class labeled by its remainder after division by m. This is illustrated in FIG. 1.
Addition and multiplication of residue classes are defined in terms of ordinary addition and multiplication of the labels. If we let [n]denote the residue class containing n then [n]+ [m] = [n + m] and [n] [m] = [nm] define addition and multiplication of residue classes. It is to be noted that the same classes are obtained when adding or multiplying, regardless of the labels chosen for the classes.
The largest product modulo m has magnitude (m-1)2. An accuracy of 1 part in 2[(n- 1)2 +1] would be required if the multiplier were used to calculate this product to the nearest integer. In the example shown in FIG. 2, the following moduli are used: 3,5,7,8. Four multipliers could then be used to calculate products to 1 part in 3.sup.. 5/ 7.sup.. 8=840. FIG. 2 provides a schematic for the required calculations.
Referring now to FIG. 3, therein is shown an apparatus 10 for performing arithmetical calculations on a plurality, N, of digital input signals, utilizing residue class arithmetic.
A plurality N of means 12 codes the N input digital signals, I1 through IN, into digital modulo m1 integers K ≦i ≧1. The quantity K may have an approximate value up to 4. The coding could be accomplished in two steps: First, assuming the input data to be binary, a digital magnitude reduction step, and second, a digital-to-analog conversion. The magnitude reduction may be illustrated by a binary 5 digit input to be converted to an analog multiplier for modulo 3. Then, because modulo 3 [22 ]= [1],[1],[23 ]= [2], [24 ]= [1], etc., the number, a0 + 2a1 + 4a2 + 8a3 + 16a4 is in the same class modulo 3 as (a0 + a2 + a4) + 2(a1 + a3).
A plurality N of means 14, each means having an input connected to each coding means 12, converts the digital modulo mi integers into corresponding analog modulo mi signals.
A plurality N of means 16 performs a mathematical operation on analog modulo mi integers, each means having an input connected to a D/A converting means 14.
A plurality N of means 18, connected to the N operation means 16, converts the analog modulo mi integers to digital modulo mi integers.
Means 22, connected to the N A/D converting means 18, decode the digital modulo mi numbers into digital outputs.
The decoding can be done digitally. It is based on the Chinese Remainder Theorem: Given ai, i = 1, . . . , t there exists a unique integer b with 0<b<m1 . . . mt and [b]= [ai ] for residue classes modulo mi whenever the mi are pairwise relatively prime. Furthermore, there exists integers n1, n2, . . . , nt which do not depend on the ai, such that,
[b] = [a.sub.1 n.sub.1 =a.sub.2 n.sub.2 +. . . + a.sub.t n.sub.t ].
There are various options to decode, discussed in the reference by Szabo and Tanaka, described hereinabove.
If the quantities moduli mi have different signs, then a sign line 24 may be connected between each coder 12 and the decoder 22.
In the apparatus 10 shown in FIG. 3, the means 16 for performing the mathematic operation may comprise a multiplier. In yet another embodiment of the apparatus 10 the means 16 for performing the mathematical operation may comprise a correlator.
The coders 12 and decoder 22 are digital state of the art. For example, if least positive integer representatives are being used as a basis for the device, and if 0≦a,b, . . . , c≦m-1, then the coder 12 can be implemented by a read-only memory, since there is a one-to-one correspondence between the integers 0, 1, . . . , m-1 and the correspondence between the integers 0, 1, . . . , m-1 and the code words consisting of (h1, h2, . . . , ht) with 0 ≦ hi ≦ mi -1 for i = 1, . . . , t. If the outputs (ci) of the A/D converters 18 satisfy 0 ≦ci ≦mi -t, then the decoder 22 can also be a read-only memory.
In FIG. 4 is shown another apparatus 30 for performing arithmetical calculations on a plurality, N, of digital input signals, utilizing residue class arithmetic.
A plurality N of means 32 codes the N input digital signals into digital modulo mi integers, K ≦i ≧1.
A plurality N of sets of means 34, one set connected to each coding means 32, K means per set, converts the digital modulo mi integers into corresponding analog modulo mi signals.
A plurality K of means 36 performs a mathematical operation on analog modulo m integers, each means having N inputs, one from, and connected to, each of the sets of the D/A converting means 34.
A plurality K of means 38 is connected to the K operation means 36, for converting the analog modulo mi integers from the operation means into digital modulo mi integers.
Means 42 are connected to the K A/D converting means 38, for obtaining the resultant, a*b* . . .N modulo mi, of the mathematical operations on the N digital inputs.
In a more specific embodiment of the apparatus 30 shown in FIG. 5, the means for performing the mathematical operation may comprise a multiplier. This is shown by the apparatus 50 of FIG. 5, wherein the multiplier is designated by reference numeral 56.
In another type of apparatus 30, the means 36 for performing the mathematical operation may comprise a correlator.
Referring still to FIG. 5, therein is shown an analog multiplier 50 based on residue class arithmetic, with a least positive magnitude multiplier.
The output of the coder (ROM) 32 consists of pairs: one output (the magnitude) to the D/A converter 34, and thence to an analog multiplier 56, and the other output, the sign 58, to the decoder 42. The decoder (ROM) 42 then receives pairs of inputs consisting of residue class magnitudes and corresponding signs.
Example: Suppose an analog multiplier has 10% accuracy, i.e., if a and b are inputs the output c differs from ab by at most 0.1 ab. Let m1 = 3, m2 = 4, and m3 = 5 and observe that a product of integers represented as least magnitude integers in m1 is 1, in m2 is 4, and m3 is 4. Therefore the error in using an analog device to multiply two integers would be less than one-half, so that rounding the output to the nearest integers will give the correct answers modulo mi.
The device 50 illustrated in FIG. 5, modified to use least magnitude representatives can determine the product of ab to the nearest multiple of m1 m2 m3 =60. The inputs a and b to the coder 32 could each be as large as 59. The output of the device 50 would then provide the answer up to a multiple of 60. If the product of the inputs is less than 59 the output would be the product.
Suppose a = 8, b = 6, then, with
m.sub.1 = 3, m.sub.2 = 4, m.sub.3 = 5.sub.1
a.sub.1 = -1, a.sub.2 = 0, a.sub.3 = -2, and
b.sub.1 = , b.sub.2 = -2, b.sub.3 = 1
so that the products obtained after A/D conversion would be 0, 0, 2 and the inputs to the coder 32 would be (-, 0), (-, 0), (-, 2). The decoder 42 would in effect calculate ± (a1 b1) (-20) ± (a2 b2) (-15) ± (a3 b3) (-24), that is (-0) (-20) + (-0) (-15) + (-2) (-24) = 48.
Assume now that the multiplier 50 is a least positive integer multiplier. Suppose the analog devices, 34 and 38, have an accuracy of 2%. Then a product of integers modulo mi can have magnitude as large as (mi - 1)2. This follows because the modulus can have only the values of 0,1, . . . , mi -1. The criterion for mi is that (1/50) (mi - 1)2 < 1/2. i.e., (mi - 1)2 <25, so that mi can only be 3, 4, and 5.
If in the apparatus 30 shown in FIG. 4, N is equal to two and the operation means 36 is a cross correlator, then the cross correlator 60 may be of the type shown in detail in FIG. 6.
A pair of delay lines, 62 and 64, having an even number 2P of taps, one end of one delay line 66 being connected to a first D/A converting means 68, processes a first digital input signal, a modulo m. The opposite end of the other delay line 72 is connected to a second D/A converting means 74, which processes the second digital input signal, b modulo m. It will be noted that both input signals, a and b, are to the same modulus, namely m. Signals of different moduli could be handled sequentially, so long as both were of the same modulus, at the same time.
A plurality 2P, P = 1,2,3, . . . of means 76 for multiplying, whose two inputs comprise corresponding outputs of the delay lines, 66 and 72, multiplies its two input signals.
A set of 1/2(2P) pairs of analog-to-digital converting means 78, each means connected to the output of the multipliers 76, converts an analog modulo-m input number into a digital modulo-m output number.
A first set of 1/2(2P), means 82 is connected to the outputs of the converting means, for summing the digital modulo m input signals. A second set of 1/4(2P) means 84, each means having its two inputs connected to the first set of summing means 82, sums its digital input signals.
A third, fourth, . . . , set of 1/8(2P), 1/16(2P), . . . , means, not shown in the figure, may be included, each means having its two inputs connected to one of the preceding pairs of summing means, until there remains one summing means 86, at the output of which appears a*b modulo m, the * symbol indicating cross correlation, for the embodiment 60.
Referring now to FIG. 7, therein is shown an apparatus 90 for performing arithmetric calculations on a plurality of sequential digital input signals ai, i = 0, 1, 2, . . . , N-1, utilizing residue class arithmetic. A means 92 is included for coding the input digital signal into digitial ai modulo mk integers, k = 1, 2, . . . , t. The quantity t may have a value in the rnage of 100.
A plurality N of means 94, each means having its input connected to the coding means 92, converts the digital ai modulo mk integers into corresponding analog al modulo mk signals.
A plurality t of means 96 delays the analog modulo mk signals, each means having an input connected to a D/A converting means 94, each delaying means having N outputs, hl mod mk.
A plurality t of means 98 is connected to the delaying means 96, for summing the outputs of the delaying means.
A plurality t of means 102 is connected to the t summing means 98, for converting the analog ai modulo mk integers from the summing means into digital ai modulo mk integers.
Means 104 are connected to the t A/D converting means 102, for decoding the digital ai modulo mk numbers into a digital output, ##EQU1##
FIG. 7 presents a block diagram for a tapped delay line device 90 using residue class arithmetic. The weights for the delay lines 96 can be chosen as all non-negative integers by using least positive integers representatives (e.g., when the tapped delay line is a charge-coupled device) for the residue class arithmetic.
The complexity of the digital coder 92 and decoder 102 is independent of N, where N is the number of taps in the filter, or delay line 96. The D/A 94, and A/D, 102, complexity depends on the modulii mi and not on the quantity N. The maximal accuracy achievable for the device 90 depends on the number of pairwise relatively prime moduli mi which may be used. The tap weights hj,i in the delay line 96 to calculate modulo mi will have at most mi values and the inputs can be restricted to have at most mi distinct values.
Suppose the tapped delay lines 96 were surface wave devices so that the taps could be positive or negative. Suppose that N = 5 and h0 = 1, h1 = 2, h2 = 6, h3 = 2, h4 =1. For m1 = 7: h0,1 = 1 mod 7=1, h1,1 = 2, h2, 1 6 mod 7 = 1, h3,1 = 2, h4,1 = 1 and ##EQU2##
The ai,1 term refers to inputs ai mod mi. The term to the right of the inequality sign ≦ designates the maximum possible value of the term in the brackets for the values of hi,l as determined in the equations immediately above the inequality term. ##EQU3##
m.sub.3 = 5: h.sub.0,3 = 1, h.sub.1,3 = 2, h.sub.2,3 = 1, h.sub.3,3 = 2, h.sub.4,3 = 1 and
m.sub.4 = 8: h.sub.0,4 = 1, h.sub.1,4 = 2, h.sub.2,4 = -2, h.sub.3,4 = 2, h.sub.4,4 = 1 and
Therefore if the delay line 96 gave 1% accuracy, the outputs could be decoded to an accuracy of 1 part in (7)(9)(5)(8) = 2520. In this case the decoder 104 would be built to associate the residue modulo 2520 of
c.sub.1 (-720) + c.sub.2 (280) + c.sub.3 (-504) + c.sub.4 (945)
to the inputs c1, c2, c3, and c4. These terms may be derived by use of the Chinese Remainder Theorem.
FIG. 8 is a block diagram for a residue class convolver 110 using tapped delay lines, 118 and 132. The structure 110 is based upon a generalization of the chirp-z transform to residue class arithmetic. The rationale of this transformation for arithmetic modulo m is that 2N, N being the block length, divides p - 1 for every prime p dividing m.
Suppose m1 = p1 n.sbsp.1, . . . , mt = pt n.sbsp.t with p1, . . . , pt being distinct primes and m = m1 m2. . . mt. Then there exists an integer w in the integers modulo m such that wN ≡ 1 mod m and w d - 1 is not divisible by a pi for 1 ≦ d ≦ N - 1. Then wm.sbsb.i = w mod mi and can be taken so that 0 ≦ wm.sbsb.i ≦ mi - 1.
FIG. 8 illustrates an alternate approach to coding and decoding than the use of read-only-memories.
Example (N = 3) m1 = 7, m2 = 13, m3 =19 wm.sbsb.1 = 2, wm.sbsb.2 = 3, wm.sbsb.3 = 7
Then the weight vectors are: ##EQU4## The terms in brackets describe the 2N-1 = 5 tap weights of the nine delay lines. The input sequences (a0, a1, a2) and b0, b1, b2) are premultipled and extended by available discrete multipliers, to form:
______________________________________                                    
(a.sub.0,1 , 3a.sub.1,1, - 3a.sub.2,1, 0,0)                               
                       after D/A conversion                               
                       the input sequence to                              
(b.sub.0,1,3b.sub.1,1,- 3b.sub.2,1,0,0)                                   
                       the two delay lines                                
                       with tap weights                                   
                       (1, -3, 3, 3, -3).                                 
(a.sub.0,2, 4a.sub.1,2, - 4a.sub.2,2,  0,0)                               
                       after D/A conversion                               
                       the input sequence to                              
(b.sub.0,2, 4b.sub.1,2, - 4b.sub.2,2, 0,0)                                
                       the two delay lines with                           
                       tap weights                                        
                       (1, -4, 4, 4, -4).                                 
(a.sub.0,3, 8a.sub.1,3,- 8a.sub.2,3, 0,0)                                 
                       after D/A conversion                               
                       the two input                                      
(b.sub.0,3, 8b.sub.1,3, - 8b.sub.2,3,  0,0)                               
                       sequences to the                                   
                       two delay lines with                               
                       tap weighs                                         
                       (1, - 8,8,8, - 8).                                 
______________________________________                                    
The first three outputs of the delay line after the line is loaded are used, the next two are discarded, since they have no meaning. The corresponding outputs from the a filter and b filter are point-to-point multiplied, extended by two zeros to form the sequences to go through the next delay line. For example, the delay line associated with a and m1 is used to calculate
(a.sub.0,1, 3a.sub.1,1 -3a.sub.2,1, 0, 0) * (1, -3 3, 3, -3) = (a.sub.0,1 - 9a.sub.1,1 -9a.sub.2,1, -3a.sub.0,1 + 9a.sub.1,1 - 9a.sub.2,1, 3.sub.3,0 + 9a.sub.1,1 + 9a.sub.2,1, *, *) which is
replaced by
(a.sub.0,1 - 9a.sub.1,1 - 9a.sub.2,1, -3a.sub.0,1 + 9a.sub.1,1 - 9a.sub.2,1,   3a.sub.0,1 + 9a.sub.1,1 + 9a.sub.2,1, 0, 0).
The multiplier 124 point-wise multiplies this sequence with the corresponding sequence
(b.sub.0,1, 3b.sub.1,1, -3b.sub.2,1, 0, 0) *(1, -3, 3, 3, -3)
to form
((a.sub.0,1 - 9a.sub.1,1 - 9a.sub.2,1)(b.sub.0,1 - 9b.sub.1,1 - 9b.sub.2,1), (-3.sub.0,1 + 9a.sub.1,1 - 9a.sub.2,1)(-3b.sub.0,1 + 9b.sub.1,1 - 9b.sub.2,1), (+3a.sub.0,1 + 9a.sub.1,1 + 9a.sub.2,1) (3b.sub.0,1 + 9b.sub.1,1 + 9b.sub.2,1)
The terms in this sequence are reduced modulo m, converted to analog, in circuit 128, and sent into the delay line 132 with taps weights (1, 3, -3, -3, 3). The results are converted to digital, in circuit 134, multiplied by constants u1, u2, u3 and multiplied by w and reduced modulo m = m1 m2 m3. The values of ui are given by
u.sub.1 = -741   u.sub.2 = -532   u.sub.3 = 91,
which are found by the Chinese Remainder Theorem, and
w ≡ u.sub.1 w.sub.m.sbsb.1 + u.sub.2 w.sub.m.sbsb.2 + u.sub.3 w.sub.m.sbsb.3 mod m.sub.1 m.sub.2 m.sub.3,
so that
w = -712
The tapped delay lines, 118 and 132, could be implemented by charge-coupled devices. The tap weights must be non-negative, but by using right and left taps, positive weights on one bar and negative on the other, the device 110 output magnitude can be held to those described above. Positive weights can also be utilized on both sides if only positive tap weights are needed, as for ##EQU5## in the example.
By introducing zeros into both the input sequences and the sequence of tap weights, convolution sums from a tapped delay line can be calculated by summing or differencing two or more smaller sums. In this way the accuracy requirements on the charge-coupled device can be reduced.
The advantages of the inventions described hereinabove are that they utilize analog devices with given accuracy to perform calculations of higher accuracy. The performance of a high accuracy calculation by digital components involving a high complexity is replaced by a number of A/D and D/A converters each with a low complexity. One new feature is to use analog devices to perform residue class arithmetic. Others have used analog devices to do integer calculations, but none have conceived reducing desired integer calculations to simpler residue arithmetic calculations.
As alternative embodiments the chirp-Z transform (CZT) architecture invention could be modified to implement the Rader prime transformation, by replacing the premultiplication and post multiplication in FIG. 8 by memories to reorder the data.
Obviously, many modifications and variations of the present invention are possible in the light of the above teachings, and, it is therefore understood that within the scope of the disclosed inventive concept, the invention may be practiced otherwise than as specifically described.

Claims (9)

What is claimed is:
1. Apparatus for performing arithmetical calculations on a plurality, N, of digital input signals, utilizing residue class arithmetic, comprising:
a plurality N of means for coding the N input digital signals into digital modulo mi integers, K≦i≧1;
a plurality N of means, each means having an input connected to each coding means, for converting the digital modulo mi integers into corresponding analog modulo mi signals;
a plurality N of means for performing a mathematical operation on analog modulo mi integers, each means having an input connected to a D/A converting means;
a plurality N of means, connected to the N operation means, for converting the analog modulo mi integers from the operation means into digital modulo mi integers; and
means, connected to the N A/D converting means, for decoding the digital modulo mi numbers into digital outputs.
2. The apparatus according to claim 1, wherein:
the means for performing the mathematical operation comprises a multiplier.
3. The apparatus according to claim 1, wherein:
the means for performing the mathematical operation comprises a correlator.
4. Apparatus for performing arithmetical calculations on a plurality, N, of digital input signals, utilizing residue class arithmetic, comprising:
a plurality N of means for coding the N input digital signals into digital modulo mi integers, K≦i≧1;
a plurality N of sets of means, one set connected to each coding means, K means per set, for converting the digital modulo mi integers into corresponding analog modulo mi signals;
a plurality K of means for performing a mathematical operation on analog modulo m integers, each means having N inputs, one from, and connected to, each of the sets of the D/A converting means;
a plurality K of means, connected to the K operation means, for converting the analog modulo mi integers from the operation means into digital modulo mi integers; and
means, connected to the K A/D converting means, for obtaining the resultant, a*b* . . . *n modulo mi, of the mathematical operations on the N digital inputs.
5. The apparatus according to claim 4, wherein:
the means for performing the mathematical operation comprises a multiplier.
6. The apparatus according to claim 4, wherein:
the means for performing the mathematical operation comprises a correlator.
7. The apparatus according to claim 4, wherein N is equal to two and the correlator is a cross correlator comprising:
a pair of delay lines each having an even number 2P of taps and outputs, one end of one delay line being connected to a first D/A converting means, which processes a first digital input signal, a modulo m, the opposite end of the other delay line being connected to a second D/A converting means, which processes the second digital input signal, b modulo m;
a plurality 2P of means for multiplying, whose two inputs comprise corresponding outputs of the delay lines, for multiplying its two input signals;
a set of pairs of analog-to-digital converting means, each means connected to the output of a multiplier, for converting an analog modulo-m input number into a digital modulo-m output number;
a first set of 1/2 2P, P=1, 2, 3, . . . , means connected to the outputs of the converting means, for summing the digital modulo m input signals;
a second set of 1/4(2P) means, each means having its two inputs connected to two of the first set of summing means, for summing its digital input signals;
a third, fourth, . . . , set of 1/8 (2P), 1/16(2P), . . . , means, each means having its two inputs connected to one of the preceding pairs of summing means, until there remains one summing means, at the output of which appears a*b modulo m.
8. Apparatus for performing arithmetical calculations on a plurality of digital input signal ai, i=0, 1, 2, . . . , N-1, utilizing residue class arithmetic, comprising:
a means for coding the input digital signal into digital ai modulo mk integers, k = 1, 2, . . . , t;
a plurality N of means, each means having an input connected to the coding means, for converting the digital ai modulo mk integers into corresponding analog al modulo mk signals;
a plurality t of means for delaying the analog ai modulo mk integers, each means having an input connected to a D/A converting means, each delaying means having N outputs, hi mod mk ;
a plurality t of means, connected to the delaying means, for summing the outputs of the delaying means;
a plurality t of means, connected to the t summing means, for converting the analog ai modulo mk integers from the summing means into digital ai modulo mk integers; and
means, connected to the t A/D converting means, for decoding the digital ai modulo mk numbers into a digital output, ##EQU6##
US05/720,915 1976-09-07 1976-09-07 Signal processing devices using residue class arithmetic Expired - Lifetime US4041284A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US05/720,915 US4041284A (en) 1976-09-07 1976-09-07 Signal processing devices using residue class arithmetic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/720,915 US4041284A (en) 1976-09-07 1976-09-07 Signal processing devices using residue class arithmetic

Publications (1)

Publication Number Publication Date
US4041284A true US4041284A (en) 1977-08-09

Family

ID=24895770

Family Applications (1)

Application Number Title Priority Date Filing Date
US05/720,915 Expired - Lifetime US4041284A (en) 1976-09-07 1976-09-07 Signal processing devices using residue class arithmetic

Country Status (1)

Country Link
US (1) US4041284A (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4267580A (en) * 1979-01-08 1981-05-12 The United States Of America As Represented By The Secretary Of The Navy CCD Analog and digital correlators
WO1982002265A1 (en) * 1980-12-22 1982-07-08 James M Mccoskey Prime or relatively prime radix data processing system
US4816805A (en) * 1987-02-02 1989-03-28 Grumman Aerospace Corporation Residue number system shift accumulator decoder
US5117383A (en) * 1989-07-29 1992-05-26 Sony Corporation Digital signal processing circuit using a residue number system
US5189420A (en) * 1990-06-08 1993-02-23 The Mitre Corporation Method and apparatus for direct analog to formatted digital number conversion
KR20020069591A (en) * 2001-02-26 2002-09-05 디브이테크놀로지 Modulo Mersenne-number Analog Digit Parallel Multiplier and Its Technological-application Method
US20030136185A1 (en) * 1999-10-28 2003-07-24 Dutton Robert E. Multiphase flow measurement system
US20050081034A1 (en) * 2001-03-09 2005-04-14 Pkware, Inc. Method and system for asymmetrically encrypting .ZIP files
US20050138088A1 (en) * 2001-03-09 2005-06-23 Yuri Basin System and method for manipulating and managing computer archive files
US20060136514A1 (en) * 1998-09-01 2006-06-22 Kryloff Sergey A Software patch generator
US20060143199A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143237A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143180A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143251A1 (en) * 2000-03-09 2006-06-29 Pkware,Inc. System and method for manipulating and managing computer archive files
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143253A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060155788A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173847A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173848A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20070143387A1 (en) * 2005-12-19 2007-06-21 Aliazam Abbasfar Linear transformation circuit
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US20130050023A1 (en) * 2009-10-06 2013-02-28 Thales Reconfigurable Active Computational Beamforming Antenna
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3167645A (en) * 1959-12-30 1965-01-26 Ibm Method and apparatus for performing arithmetical operations in the system of residual classes
US3191011A (en) * 1961-07-19 1965-06-22 Rca Corp Apparatus for determining the algebraic sign of a residue coded number
US3609328A (en) * 1968-12-19 1971-09-28 Bell Telephone Labor Inc Multiaperture ferrite residue arithmetic unit
US3980874A (en) * 1975-05-09 1976-09-14 Burroughs Corporation Binary to modulo M translation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3167645A (en) * 1959-12-30 1965-01-26 Ibm Method and apparatus for performing arithmetical operations in the system of residual classes
US3191011A (en) * 1961-07-19 1965-06-22 Rca Corp Apparatus for determining the algebraic sign of a residue coded number
US3609328A (en) * 1968-12-19 1971-09-28 Bell Telephone Labor Inc Multiaperture ferrite residue arithmetic unit
US3980874A (en) * 1975-05-09 1976-09-14 Burroughs Corporation Binary to modulo M translation

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4267580A (en) * 1979-01-08 1981-05-12 The United States Of America As Represented By The Secretary Of The Navy CCD Analog and digital correlators
US4458327A (en) * 1979-06-28 1984-07-03 John Larson Prime or relatively prime radix data processing system
WO1982002265A1 (en) * 1980-12-22 1982-07-08 James M Mccoskey Prime or relatively prime radix data processing system
EP0067862A1 (en) * 1980-12-22 1982-12-29 James M Mccoskey Prime or relatively prime radix data processing system.
EP0067862A4 (en) * 1980-12-22 1985-12-19 James M Mccoskey Prime or relatively prime radix data processing system.
US4816805A (en) * 1987-02-02 1989-03-28 Grumman Aerospace Corporation Residue number system shift accumulator decoder
US5117383A (en) * 1989-07-29 1992-05-26 Sony Corporation Digital signal processing circuit using a residue number system
US5189420A (en) * 1990-06-08 1993-02-23 The Mitre Corporation Method and apparatus for direct analog to formatted digital number conversion
US20060136514A1 (en) * 1998-09-01 2006-06-22 Kryloff Sergey A Software patch generator
US20030136185A1 (en) * 1999-10-28 2003-07-24 Dutton Robert E. Multiphase flow measurement system
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20070043780A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
US10949394B2 (en) 2000-03-09 2021-03-16 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US10229130B2 (en) 2000-03-09 2019-03-12 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US9886444B2 (en) 2000-03-09 2018-02-06 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US7890465B2 (en) 2000-03-09 2011-02-15 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US7793099B2 (en) 2000-03-09 2010-09-07 Pkware, Inc. Method and system for encryption of file characteristics of .ZIP files
US20090144562A9 (en) * 2000-03-09 2009-06-04 Pkware, Inc. Method and system for encryption of file characteristics of .ZIP files
US20070118819A1 (en) * 2000-03-09 2007-05-24 Yuri Basin Systems and methods for manipulating and managing computer archive files
US20050120234A1 (en) * 2000-03-09 2005-06-02 Pkware, Inc. Method and system for encryption of file characteristics of .ZIP files
US20070050424A1 (en) * 2000-03-09 2007-03-01 Yuri Basin Systems and methods for manipulating and managing computer archive files
US20070043753A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
US20060143199A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143237A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143180A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143251A1 (en) * 2000-03-09 2006-06-29 Pkware,Inc. System and method for manipulating and managing computer archive files
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143253A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060155788A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173847A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173848A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20070043754A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
US20070043779A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
US20070043781A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
US20070043778A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
US20070043782A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
KR20020069591A (en) * 2001-02-26 2002-09-05 디브이테크놀로지 Modulo Mersenne-number Analog Digit Parallel Multiplier and Its Technological-application Method
US20090240952A9 (en) * 2001-03-09 2009-09-24 Pkware, Inc. Method and system for decryption of file characteristics of .ZIP files
US20050081034A1 (en) * 2001-03-09 2005-04-14 Pkware, Inc. Method and system for asymmetrically encrypting .ZIP files
US20050138088A1 (en) * 2001-03-09 2005-06-23 Yuri Basin System and method for manipulating and managing computer archive files
US8090942B2 (en) 2001-03-09 2012-01-03 Pkware, Inc. Method and system for asymmetrically encrypting .ZIP files
US20050097344A1 (en) * 2001-03-09 2005-05-05 Pkware, Inc. Method and system for decryption of file characteristics of .ZIP files
US9098721B2 (en) 2003-07-16 2015-08-04 Pkware, Inc. Method for strongly encrypting .ZIP files
US20050086474A1 (en) * 2003-07-16 2005-04-21 Pkware, Inc. Method and system for asymmetrically decrypting .ZIP files
US11461487B2 (en) 2003-07-16 2022-10-04 Pkware, Inc. Method for strongly encrypting .ZIP files
US20050091519A1 (en) * 2003-07-16 2005-04-28 Pkware, Inc. Method and system for authentication information encryption for .ZIP files
US7895434B2 (en) 2003-07-16 2011-02-22 Pkware, Inc. Method and system for multiple asymmetric encryption of .ZIP files
US20050086196A1 (en) * 2003-07-16 2005-04-21 Pkware, Inc. Method and system for decrypting strongly encrypted .ZIP files
US10607024B2 (en) 2003-07-16 2020-03-31 Pkware, Inc. Method for strongly encrypting .ZIP files
US20050097113A1 (en) * 2003-07-16 2005-05-05 Pkware, Inc. Method and system for authentication information decryption for .ZIP files
US8225108B2 (en) 2003-07-16 2012-07-17 Pkware, Inc. Method and system for mixed symmetric and asymmetric encryption of .ZIP files
US20050091489A1 (en) * 2003-07-16 2005-04-28 Pkware, Inc. Method and system for multiple asymmetric decryption of .ZIP files
US20050086475A1 (en) * 2003-07-16 2005-04-21 Pkware, Inc. Method and system for mixed symmetric and asymmetric decryption of .ZIP files
US20050086476A1 (en) * 2003-07-16 2005-04-21 Pkware, Inc. Method and system for multiple symmetric decryption of .ZIP files
US20050081031A1 (en) * 2003-07-16 2005-04-14 Pkware, Inc. Method and system for multiple asymmetric encryption of .Zip files
US20050094817A1 (en) * 2003-07-16 2005-05-05 Pkware, Inc. Method and system for multiple symmetric encryption for .ZIP files
US10127397B2 (en) 2003-07-16 2018-11-13 Pkware, Inc. Method for strongly encrypting .zip files
US20110184999A1 (en) * 2005-12-19 2011-07-28 Aliazam Abbasfar Linear Transformation Circuit
US7925686B2 (en) * 2005-12-19 2011-04-12 Rambus Inc. Linear transformation circuit
US20070143387A1 (en) * 2005-12-19 2007-06-21 Aliazam Abbasfar Linear transformation circuit
US20130050023A1 (en) * 2009-10-06 2013-02-28 Thales Reconfigurable Active Computational Beamforming Antenna

Similar Documents

Publication Publication Date Title
US4041284A (en) Signal processing devices using residue class arithmetic
US3665171A (en) Nonrecursive digital filter apparatus employing delayedadd configuration
US4267580A (en) CCD Analog and digital correlators
McClellan Hardware realization of a Fermat number transform
US4216475A (en) Digital beam former
US4646256A (en) Computer and method for the discrete bracewell transform
US4152772A (en) Apparatus for performing a discrete cosine transform of an input signal
US3872290A (en) Finite impulse response digital filter with reduced storage
US3971927A (en) Modular discrete cosine transform system
US3721812A (en) Fast fourier transform computer and method for simultaneously processing two independent sets of data
US4062060A (en) Digital filter
US4093994A (en) Fast discrete transform generator and digital filter using same
Golomb et al. Integer Convolutions over the Finite Field GF(3⋅2^n+1)
Nussbaumer New polynomial transform algorithms for multidimensional DFT's and convolutions
US3582634A (en) Electrical circuit for multiplying serial binary numbers by a parallel number
US4181968A (en) Method and apparatus for forming convolutions of two complex number sequences using the fermat number transform
US4744042A (en) Transform processor system having post processing
US4788654A (en) Device for real time processing of digital signals by convolution
US4334277A (en) High-accuracy multipliers using analog and digital components
US5912827A (en) Digital filter with low rolloff factor
US5168456A (en) Incremental frequency domain correlator
US3412372A (en) Sonar multibeam tracking system including a digital 90 deg. phase shifter
US5233549A (en) Reduced quantization error FIR filter
Gallagher et al. A novel approach for the computation of Legendre polynomial expansions
Nussbaumer Linear filtering technique for computing Mersenne and Fermat number transforms