WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Means and method for implementing a two-dimensional truth-table look-up holgraphic processor    
United States Patent4892370   
Link to this pagehttp://www.wikipatents.com/4892370.html
Inventor(s)Lee; Yun-Parn T. (3991A Miramar St., La Jolla, CA 92037)
AbstractAlgorithms and optical processor architectures for implementing a two-dimensional truth-table look-up processor are disclosed. An optical holographic medium stores the spectral expansion coefficients that map two-dimensional digital inputs of a binary truth-table into two-dimensional outputs of that binary truth table. Several algorithms are described using discrete orthogonal transforms such as one of the Walsh transforms (the Walsh-Hadamard transform, the Rademacher-Walsh transform, the Walsh-Kaczmarz transform) or the Haar transform. These transforms are used to find the corresponding spectral vectors and the corresponding boolean basis vector. The inner product multiplication of the spectral vector with the boolean basis vector yields the digital outputs of the binary truth-table. Another algorithm uses the Reed-Muller expansion which is a non-orthogonal transform. Various architectures of digital optic two-dimensional truth-table look-up processors are also disclosed. They include a coded phase correlator, a matrix multiplication optical processor, a bipolar coded phase optical correlator and a bipolar matrix multiplication optical processor.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4892370
Means and method for implementing a two-dimensional truth-table look-up

     holgraphic processor - US Patent 4892370 Drawing
Means and method for implementing a two-dimensional truth-table look-up holgraphic processor
Inventor     Lee; Yun-Parn T. (3991A Miramar St., La Jolla, CA 92037)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     January 9, 1990
Application Number     07/157,276
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     February 17, 1988
US Classification     359/29 359/1 359/107 359/559 359/561 706/40 708/400 708/410
Int'l Classification     G02B 005/32 G06G 009/00 G06G 007/16
Examiner     Arnold; Bruce Y.
Assistant Examiner     Lerner; Martin
Attorney/Law Firm     Charmasson & Holz
Address
Parent Case     REFERENCE TO RELATED APPLICATION This application is a continuation-in-part of Ser. No. 023,676 filed Mar. 9, 1987 now abandoned.
Priority Data    
USPTO Field of Search     350/3.66 350/3.74 350/162.12 350/162.13 350/162.14 350/162.15 350/355 364/713 364/724 364/726 364/727 364/728.01 364/728.03 364/728.05
Patent Tags     implementing two-dimensional truth-table look-up holgraphic processor
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4686646
Goutzoulis
708/839
Aug,1987

[0 after 0 votes]
4607344
Athale
708/835
Aug,1986

[0 after 0 votes]
4590608
Chen
382/281
May,1986

[0 after 0 votes]
4460969
Chen
708/410
Jul,1984

[0 after 0 votes]
4318581
Guest
359/21
Mar,1982

[0 after 0 votes]
4073010
Casasent
382/278
Feb,1978

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. An optical processor for generating a looked-up digital light signal from input and output data of a truth-table, which comprises:

means for detecting and coding an input light signal emitted by a light source, said light signal representing a plurality of digital input vectors for said binary truth-table;

input means for receiving said input light signal and for transforming said plurality of digital input vectors into a boolean basis vector, in conformance with a predetermined transform;

means for multiplying said boolean basis vector by the truth-table output data corresponding to said input light signal;

optical means impinged by said boolean basis vector for storing a product of said means for multiplying;

means for presenting said product as a spectral expansion vector having coefficients which can be positive, negative or zero, of said output data;

means for performing an inner product of said spectral expansion vector with said boolean basis vector and for generating an output light signal corresponding to said output data; and

output means for receiving said output light signal exiting from said means for generating.

2. The truth-table look-up optical processor as defined in claim 1, wherein said means for performing further comprise means for matrix-multiplying said spectral expansion vector with said boolean basis vector.

3. The truth-table look-up optical processor as defined in claim 2, wherein said means for matrix-multiplying comprises a plurality of cylindrical lenses.

4. The truth-table look-up optical processor as defined in claim 3, wherein at least one of said cylindrical lenses comprises at least one vertical array of cylindrical lenses with different wedge sizes.

5. The truth-table look-up optical processor as defined in claim 3, wherein at least one of said cylindrical lenses comprises a plurality of second cylindrical lenses, an aperture of each of said second cylindrical lenses being substantially four times the area of a pixel on said input means, said input means comprising at least one array of said pixels appearing as light and dark portions of said input light signal.

6. The truth-table look-up optical processor as defined in claim 2, further comprising a tapered raster optical glass placed between said means for storing and said output means.

7. The truth-table look-up optical processor as defined in claim 2, further comprising at least one Fourier transform lens.

8. The truth-table look-up optical processor as defined in claim 1, wherein said means for performing further comprise means for correlating said spectral expansion vector with said boolean basis vector.

9. The truth-table look-up optical processor as defined in claim 8, wherein said means for correlating comprises means for Fourier transforming said boolean basis vector.

10. The truth-table look-up optical processor as defined in claim 9, wherein said means for Fourier-transforming comprises at least one Fourier transform lens.

11. The truth-table look-up optical processor as defined in claim 1 further comprising means for polarizing said input light signal prior to impinging of said input light signal upon said means for detecting.

12. The truth-table look-up optical processor as defined in claim 1 further comprising means for analyzing said boolean basis vector exiting from said input means.

13. The truth-table look-up optical processor as defined in claim 1, wherein said predetermined transform is selected from a set of orthogonal transforms.

14. The truth-table look-up optical processor as defined in claim 13, wherein said predetermined transform is a Walsh transform.

15. The truth-table look-up optical processor as defined in claim 14, wherein said predetermined transform is a Walsh-Hadamard transform.

16. The truth-table look-up optical processor as defined in claim 14, wherein said predetermined transform is a Rademacher-transform.

17. The truth-table look-up optical processor as defined in claim 14, wherein said predetermined transform is a Walsh-Kaczmarz transform.

18. The truth-table look-up optical processor as defined in claim 13, wherein said predetermined transform is a Haar transform.

19. The truth-table look-up optical processor as defined in claim 1, wherein said predetermined transform is a Reed-Muller expansion.

20. The truth-table look-up optical processor as defined in claim 1, wherein said optical means for storing comprises at least one computer-generated hologram.

21. The truth-table look-up optical processor as defined in claim 1, wherein said light source is a coherent light source.

22. The truth-table look-up optical processor as defined in claim 1, wherein said input means comprises a two-dimensional spatial light modulator.

23. The truth-table look-up optical processor as defined in claim 22, wherein said modulator comprises non-linear gates.

24. The truth-table look-up optical processor as defined in claim 22, wherein said modulator comprises bipolar encoding of the source array.

25. The truth-table look-up optical processor as defined in claim 1, wherein said output means comprises a charge-coupled device (CCD) array.

26. The truth-table look-up optical processor as defined in claim 25, wherein said device array comprises a charge-coupled-packet-magnitude comparator.

27. The truth-table look-up optical processor as defined in claim 1 forming an integral part of a two-dimensional matrix numerical unit.

28. The truth-table look-up optical processor as defined in claim 1 forming an integral part of a neural network.

29. The truth-table look-up optical processor as defined in claim 1 forming an integral part of a numerical optical computer.

30. The truth-table look-up optical processor as defined in claim 1 forming an integral part of a non-erasable memory.

31. A method for implementing a truth-table look-up optical processor comprising the steps of:

selecting a binary truth-table comprising a plurality of digital input vectors and a plurality of digital outputs;

coding an input light signal so that said coded input light signal represents said digital input vectors;

selecting a transform and performing an operation on said digital outputs by said transform so as to obtain a spectral expansion vector corresponding to said binary truth-table;

generating a boolean basis vector corresponding to said digital input vectors by means of said transform;

encoding said coded light signal so that said encoded light signal represents said boolean basis vector;

performing an inner product of said spectral expansion vector with said boolean basis vector, the result of said inner product yielding said digital outputs of said binary truth-table; and

outputting said encoded light signal after said boolean basis vector corresponding to said encoded light signal has undergone said inner product operation, said output light signal representing said digital outputs of said binary truth-table.

32. The method for implementing a truth-table look-up optical processor as defined in claim 31, further comprising the step of coding said digital input vectors and said digital outputs in a Galosis field {0,1}.

33. The method for implementing a truth-table look-up optical processor as defined in claim 31, further comprising the step of coding said digital input vectors and said digital outputs in a set {-1,+1}.

34. The method for implementing a truth-table look-up optical processor as defined in claim 31, further comprising the step of coding said digital input vectors and said digital outputs in a set {-1,0,+1}.

35. The method for implementing a truth-table look-up optical process as defined in claim 33 or claim 34 wherein said step of performing said inner product further comprises the step of performing said inner product separately in each respective domain of the real domain, the combination of the positive domain and of the negative domain of the boolean basis vector with the positive domain and the negative domain of the spectral expansion vector yielding four types of digital outputs.

36. The method for implementing a truth-table look-up optical processor as defined in claim 35, wherein the step of performing said inner product further comprises the step of summing said positive digital outputs and the step of summing said negative outputs.

37. The method for implementing a truth-table look-up optical processor as defined in claim 36, wherein the step of performing said inner product further comprises the step of comparing said summed positive outputs with said summed negative outputs.

38. The method for implementing a truth-table look-up optical processor as defined in claim 31 wherein the step of performing said inner product comprises the step of matrix-multiplying said boolean basis vector with said spectral expansion vector.

39. The method for implementing a truth-table look-up optical processor as defined in claim 31, wherein the step of performing said inner product comprises the step of correlating said boolean basis vector with said spectral expansion vector.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

The invention relates to holographic optical processors for two-dimensional truth-table look-up processing and to the algorithms and computational procedures used therein. More specifically, the invention relates to the mapping of digital input data vectors into digital output data by means of spectral expansion vectors and to the algorithms and computational transformations needed to calculate the coefficients of those spectral expansion vectors. The present invention also relates to architectures of optical holographic processors used for implementing those algorithms.

BACKGROUND OF THE INVENTION

For many years, there has been considerable research in optical digital computing systems with the objective of developing and implementing parallel processing systems. The advantages of using optical systems allowing high throughput parallel processing with very high space-bandwidth products are well known to the persons skilled in the art. Nevertheless, most optical systems heretofore used have been analog in nature and have therefore sacrificed some of the accuracy and flexibility that digital computing can provide. Furthermore, analog optical systems have severe limitations in the sizes of the operational gates. Continuing efforts in which the object of the present invention partakes have been made to combine optical systems and digital algorithms in order to obtain the benefits of both.

In the article entitled "Coherent optical implementation of generalized two-dimensional transforms", by James R. Leger and Sing. H. Lee, Optical Engineering, Vol. 18, no. 5, 1979, there is disclosed a coded phase coherent optical processor capable of performing two dimensional linear transformations. The set of two-dimensional Walsh functions is chosen as a transform basis. The coherent optical correlator performs a correlation function between a two-dimensional object image and the Walsh-Hadamard transform of that image. The optical output plane consists of delta functions which represent the maximum of eight discrete levels of the Walsh-Hadamard transformation. However, without the accurate computation of spectral expansion functions and accurate data encoding of computer generated holograms, the coded phase optical correlator can only play a limited role for optical image processing and optical pattern recognition. This article is hereby incorporated by reference.

In U.S. Pat. No. 4,318,581 to Guest, published in March 1982 and in the article entitled "Two proposed holographic numerical optical processors", by C. C. Guest and T. K. Gaylord, SPIE, Vol. 185, 1979, there are disclosed two holographic numerical optical processors based on EXCLUSIVE OR processing and NAND-OR-OR processing. Input data words of the truth table perform either EXCLUSIVE OR or NAND-OR-OR processing on partially recorded truth table input data word array with truth values "1". After logical operations have occurred, the output row photoconductor arrays are filled with the necessary patterns such that the truth table output data words can be reconstructed through the photoconductor arrays. The optical processors described in the two references hereabove mentioned, which are incorporated by reference, provided an advance in the prior art of the time insofar as they had a simple structure. Furthermore, the mapping relation existed for both the location addressable memory and the content addressable memory. Additionally, the truth table look up processing could be performed for either numerical arithmetic operations or boolean logic operations. However, in the Guest patent, the digital inputs and digital outputs are one-dimensional. There is no teaching in the Guest patent of any possibility to extend the computational methods to a two-dimensional input. Futhermore, the hologram recorded in the storage medium comprises solely the pattern of the corresponding truth table input pattern corresponding to the value 1 as an output value. Such hologram recording saves considerable space but can only allow logic operations on the digital inputs. Guest illustrates it with the use of the XOR and the NAND-OR-OR logical operations. The XOR operation, for instance, is performed by appropriately phase shifting between the reference beam and the object beam. When the number of digital inputs becomes large, severe problems arise in the recording of large truth-tables in the hologram, thereby limiting the use of the Guest processor to modest input sizes.

Another recent approach to optical truth table look-up processing has been disclosed in an article by Shing-Hon Lin, Thomas F. Krile and John F. Walkup, entitled "Optical triple-product processing in logic design", Applied Optics, Vol 25, no. 18, 1986, which is hereby incorporated by reference. In this article, triple-product processing is used to perform a generalized bilinear transform on two different input functions to produce the outputs of the truth table. Yet, the triple-product processor utilizes two input planes, thereby preventing the two-dimensional space bandwidth product from being fully used. An additional drawback resides in the lack of accuracy in the computation of the spectral mapping coefficients by the generalized bilinear transform for truth table mapping.

All the disadvantages hereabove described in connection with optical systems of the prior art are overcome by the optical system of the present invention. The system architecture according to the present invention is intrinsically a massively parallel logic device which can run at the highest possible speed permitted in operations of basic micro-level computing functions. The optical system of the present invention is equivalent to an optical two-dimensional, large-scale integrated circuit with at most a one- or two-gate delay. Not only can it run at extremely high speeds, but it obviates the problems caused by radiation and the spurious effects produced by electromagnetic field interferences.

SUMMARY OF THE INVENTION

The principal object of the present invention is to provide the transforms and the computational algorithms necessary to compute the spectral expansion vectors to be used in truth-table look-up processing.

Another object of the present invention is to find the linear or non-linear boolean basis vector corresponding to the spectral expansion vector that needs be implemented in the input plane of a optical holographic processor.

A further object of the present invention is to provide optical holographic processor architectures comprising a holographic storage medium susceptible to store the coefficients of the spectral expansion vector and which perform the mapping of digital input vectors into digital outputs by means of the spectral expansion vector. In the preferred embodiments of the present invention, the spectral expansion vector can be computed using a {0,1} coding or a bipolar coding {-1,+1}.

A further object of the present invention is the use of the universal optical holographic processor of the present invention as the basic building block in future applications, such as optical digital computers and associated parallel processing computers. Such applications of the present invention will become all the more apparent as improvements will be made to optoelectronic gates which would greatly improve the input planes of the present invention.

The present invention discloses a truth-table look-up optical processor comprising means for detecting and coding an input light signal emitted by a light source, the coded light signal representing a plurality of digital input vectors of a binary truth-table; means for receiving the coded input light signal and for encoding the coded input light signal so as to transform the plurality of digital input vectors into a boolean basis vector, the boolean basis vector being derived from the plurality of digital input vectors in conformance with a predetermined transform; means for storing at least one hologram representing the product of the predetermined transform with the digital outputs of the binary truth-table, the product characterizing the spectral expansion vector of the digital outputs, the spectral expansion vector having coefficients which can be positive, negative or zero, the coded light signal encoded to form the boolean basis vector being incident upon the storing means; means for preforming the inner product of the spectral expansion vector with the boolean basis vector and for generating an output light signal corresponding to the digital outputs of the binary truth-table; and output means for receiving the output light signal exiting from the generating means.

The present invention also discloses a method for implementing a truth-table look-up optical processor comprising the steps of selecting a binary truth-table comprising a plurality of digital input vectors and a plurality of digital outputs; coding an input light signal so that the coded input light signal represents the digital input vectors; selecting a transform and performing the operation on the digital outputs by the transform so as to obtain a spectral expansion vector corresponding to the binary truth-table; generating from the digital input vectors so as to obtain a boolean basis vector corresponding to the digital input vectors; encoding the coded light signal so that the encoded light signal represents the boolean basis vector; performing the inner product of the spectral expansion vector with the boolean basis vector, the result of the inner product yielding the digital outputs of the binary truth-table; and outputting the encoded light signal after the boolean basis vector corresponding to the encoded light signal has undergone the inner product operation, the output light signal representing the digital outputs of the binary truth-table.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention will become apparent from a consideration of the following description taken in reference to the following drawings in which:

FIG. 1 shows the computational structure chart representing the various transforms used in implementing a truth-table look-up processor according to the present invention;

FIG. 2a shows the complete orthogonal set of Rademacher functions for n=3, generated from the Rademacher basis function.

FIG. 2b shows the 2.sup.n .times.2.sup.n Rademacher-Walsh transform with n=3;

FIG. 3a shows the 2.sup.n .times.2.sup.n Haar transform with n=3;

FIG. 3b shows the 2.sup.n .times.2.sup.n normalized Haar transform with n=3;

FIG. 4 is a block diagram showing the different architectures implemented in the holographic truth-table look-up processor of the present invention;

FIG. 5a shows the first half of a computational flow diagram illustrating the method for implementing a turth-table look-up optical processor according to the present invention;

FIG. 5b is the second half thereof

FIG. 6a is the first half of a more detailed computational flow diagram illustrating the computation of the spectral expansion vector;

FIG. 6b in the second half thereof

FIG. 7 illustrates the first embodiment of the present invention representing a coded phase optical correlator;

FIG. 8 represents a detailed architecture of an input plane in the optical correlator of FIG. 7 wherein a 3-variable input vector is mapped into a boolean basis vector using the Rademacher-Walsh transform;

FIG. 9 represents another architecture of an input plane in the optical correlator of FIG. 7 wherein a 3-variable input vector is mapped into a boolean basis vector using a linear operation;

FIG. 10 represents another architecture of an input plane in the optical correlator of FIG. 7 wherein a 3-variable input vector is mapped into a boolean basis vector using the Reed-Muller expansion and a coding in the field {0,+1};

FIG. 11 illustrates a two-dimensional representation of the input planes in the coded phase optical correlator of FIG. 7;

FIGS. 12a, 12b, 12c and 12d show the special encoding used in the input planes for the boolean basis vector (FIGS. 12a and 12c) and in the storage medium for the spectral expansion vector (FIGS. 12b and 12d) for a two-dimensional bipolar matrix multiplication processor as shown in FIG. 14;

FIG. 13 illustrates a two-dimensional representation of the input plane used in the bipolar matrix multiplication processor as shown in FIG. 14, wherein a 3-variable input vector is mapped into a boolean basis vector by means of the Rademacher-Walsh transform;

FIG. 14 illustrates a second preferred embodiment of the present invention representing a two-dimensional bipolar multiplication processor for implementing a truth-table look-up optical processor;

FIGS. 15a, 15b, 15c and 15d show the special encoding used in the input planes for the boolean basis vector (FIG. 15a) and used in the storage medium for the spectral expansion vector (FIG. 15d) as well as the digital output in the form of a pixel (FIG. 15c) and in the output plane (FIG. 15d), this special encoding being used for the bipolar optical correlator of FIG. 16;

FIG. 16 illustrates the third preferred embodiment of the present invention representing a two-dimensional bipolar optical correlator for implementing a truth-table look-up processor;

FIG. 17 illustrates the fourth preferred embodiment of the present invention representing a two-dimensional matrix multiplication processor for implementing a truth-table optical processor; and

FIG. 18 illustrates a cylindrical lens consisting of a vertical array of cylindrical lenses with different wedge sizes to be used in the matrix multiplication processor of FIG. 17.

DESCRIPTION OF THE PREFERRED EMBODIMENTS OF THE INVENTION

In order to gain a full understanding of the architectures and of the algorithms disclosed in this specification, it will be useful to the reader to present the theoretical background underlying the present invention. The various computational transformations used in this disclosure the truth-table look-up processing will thus be described in the following theoretical discussion.

THEORETICAL BACKGROUND

Any combinatorial digital function can be expressed as a truth table representation, a Karnaugh map representation or a canonical form representation. By way of specific example, in the boolean binary domain, it will be assumed that a binary truth table with two stable states [0,1] contains m inputs of boolean variables and n outputs of boolean variables. The logical relationship between the inputs of the truth table x.sub.i and the output of the truth table y.sub.k can thus be defined by the following equation:

y.sub.k =f.sub.k (x.sub.1,x.sub.2, . . . ,x.sub.m), x.sub.i element of {0,1}, i=1, . . . m. (1)

For the jth truth table, equation (1) can be rewritten as follows:

y.sub.kj =f.sub.kj (x.sub.1j,x.sub.2j, . . . ,x.sub.mj), x.sub.ij element of {0,1} (2)

wherein

1<k<=n, 1<j<=N

m is the number of input elements in a truth table;

n is the number of output elements in a truth table;

N is the total number of truth tables.

Boolean truth table mapping encompasses a very broad range of the boolean spectrum. For example, for m inputs of a binary truth table, there exists 2.sup.2.spsp.m different combinations of truth table outputs. In order to implement truth table look-up processing in an optical system, the computational algorithm must find the boolean basis vector in order to perform the linear operation with the corresponding spectral expansion vector. In most cases, the boolean basis vector is derived from the nonlinear boolean operation among the truth table input variables. Reference is now made to FIG. 1 which illustrates in a schematic fashion the various subcategories derived from Boolean truth table mapping. Various transforms which will be described hereinafter are represented in FIG. 1 and have been developed to find the spectral expansion vector, as schematized in the steps 1 and 2. In the preferred embodiments of the present invention, Walsh transforms, represented by the boxes 3,4,5, the Haar transform (box 6) and the Reed-Muller expansion (box 7) form the basis to compute the spectral expansion vector of a binary truth table. Further details can be found in the following references, copies of which are hereby incorporated by reference. These reference articles are the following: "A transform approach to logic design", by R. Lechner, IEEE transaction on Computers, Vol C-19, No. 7, July 1970; "The application of the Rademacher-Walsh transform to boolean classification", by C. Edwards, IEEE transaction on computers, Vol C-24, No. 1, January 1975; and "A note on minimal Reed-Muller canonical forms of switching functions", IEEE Transactions on Computers, March 1977. The transforms hereabove mentioned have been heretofore studied for their interesting mathematical properties but have found limited applications in analog devices. It is furthermore believed by applicant that they have never been used to implement truth-table look-up optical processing and more particularly to find the spectral expansion vector according to the following relation: ##EQU1## where

(S.sub.0,S.sub.1, . . . ,S.sub.l) is the spectral expansion column vector; (x.sub.0, x.sub.1, . . . , x.sub.1 @ x.sub.2 @ x.sub.3 . . . @ x.sub.m) is the boolean basis row vector; and

@ is the boolean operator.

Different boolean operators exist in different transforms and the sequences of these boolean basis vectors must match with the corresponding transforms. Various computational algorithms have been implemented, for instance, for transforming a m vector truth table over the 2 element Galois field GF (2)=[0,1] into a spectral domain. By means of the appropriate matrix multiplication or spectral expansion method, the necessary computational procedure results in no loss of information of the original boolean domain. Conversely, such a procedure allows the inverse transformation to convert back to the boolean domain.

The following theorem summarizes in a mathematical but concise way the underlying theoretical fundamentals of the methods and embodiments disclosed in the present invention.

Theorem: If y=f(x.sub.i) is a truth table representation of the binary truth table input variables x.sub.i, where i=1,2,3, . . . ,mthen the following relations hold true: ##EQU2## where

[T.sup.m ] is the appropriate 2.times.2 discrete orthogonal transform;

x.sub.i is the truth table boolean variables using a {0,1} coding;

z.sub.i is the truth table boolean variables using a {-1+1} coding;

X.sub.p (x.sub.i) is the boolean basis vector using a {0,+1} coding;

R.sub.p (z.sub.i) is the boolean basis vector using a {-1,+1} coding;

S(W) denotes the spectral expansion vector using a {0,+1} coding;

R(W) denotes the spectral expansion vector using a {-1,+1} coding;

[Y] and [Z] are the digital outputs of the truth-table using respectively a {0,+1} coding and a {-1,+1} coding;

.circle.x is the inner product operation

The Walsh transforms appear to be of particular interest. In order to more fully understand the present invention, these particular transforms will be described in greater details. Several different sequence orderings of the rows of Walsh orthogonal matrices lead to a set of transforms well known in the art under the names of: (1) Hadamard transform (or Walsh-Hadamard transform) (2) Rademacher-Walsh transform (3) Walsh transform (or Walsh-Kaczmarz transform). Although the sequence orderings of these different orthogonal transforms are different, the information contests are identical for all of them.

Hadamard Transform

This transform, also called Walsh-Hadamard transform, is a discrete orthogonal transform in which the following relation holds: ##EQU3##

This transform is considered to be symmetric and the inner product of any two matrix rows have the orthogonal property.

The following example of truth table will elucidate how the Hadamard transform actually operates on truth tables. By way of specific example, given a three variable truth table, the output of the truth table forms the column vector as indicated by f(x) in the chart hereinbelow. Bipolar coding {+1,-1} is performed on f(x) to yield f(z).

__________________________________________________________________________ ##STR1## ##STR2## __________________________________________________________________________

The Walsh-Hadamard transform is then applied to the column vector f(z). The multiplication of this vector by this matrix yields the spectral expansion vector, as summarized in the calculations set forth below: ##EQU4##

It should be noted that in the above computations, the conversion relation between the bipolar coding {+1,-1} and the {0,1} coding is simply given by the following equation:

f(z)=1-2f(x)

or in terms of each output element:

z.sub.i =1-2x.sub.i, for i=1, . . . ,m.

Furthermore, the mathematical multiplication of {+1,-1} is equivalent to an EXCLUSIVE-OR operation of the {0,1+} coding. In other words, 1.times.-1=-1 is simply equivalent to 0.sym.1=1. Accordingly, the boolean basis vector (R0, R1, R2, . . . ,R1R2R3) in bipolar operation is equivalent to (1,.chi..sub.1,.chi..sub.2, . . . , .chi..sub.1 .sym..chi..sub.2 .sym..chi..sub.3)=(.chi..sub.0,.chi..sub.1,.chi..sub.2, - - - ,.chi..sub.1 .sym..chi..sub.2 .sym..chi..sub.3) using the {0,1} coding.

Rademacher-Walsh transform

The Rademacher-Walsh transform is another Walsh transform in which the matrix coefficients have been rearranged in a different order. Such a rearrangement does not affect the orthogonal property of discrete orthogonal matrices. Typically denoted by Rad(j,k), where k varies between 0 and 1, the Rademacher function wherefrom is derived the Rademacher transform is by definition given by the following equation:

Rad(j,k)=sign {sin 2j k} 1.0 where k=0, . . . , 1

The Rademacher function forms the basic sequence of the Rademacher-Walsh transform. The complete orthogonal set of Rademacher functions is shown in FIG. 2(a), and the Rademacher-Walsh transform itself is shown in FIG. 2(b) for n=3. Using the three variable truth table defined in the previous example for Hadamard transforms, the same computational procedure yields the following results. The truth table output f(z) or f(x) can be expressed as: ##EQU5## using a {-1,+1} coding. This is equivalent to ##EQU6## using a {0,1} coding.

Walsh-Kaczmarz Transform

The Walsh function Wal(j,k) can be considered as being composed of Rademacher functions. The following definition clearly illustrates this relation.

Wal(0,k)=Rad(0,k)=1;

Wal(1,k)=Rad(1,k);

Wal(2,k)=Rad(1,k)Rad(2,k);

Wal(3,k)=Rad(2,k);

Thus, taking the Rademacher functions as a basis set, the complete set of Walsh functions is the multiplicative closure of the set of Rademacher functions, which give another class of orthogonal transforms, called Walsh transforms (or Walsh-Kaczmarz transforms.)

The same computational procedure used for the previous three variable truth table yields the following results for the table output: ##EQU7## using a {-1,+1} coding. This is equivalent to: ##EQU8## using a {0,1} coding.

It should be noted, however, that the above examples are all in the positive number regions. Yet, not all the spectrum vectors are in the positive number region. Some of the spectrum vectors must therefore perform the truth table mapping in the negative number region. If one assumes a three variable truth table boolean function f.sub.2 (x)=x.sub.1,x.sub.2,x.sub.3 +x.sub.2, the Rademacher-Walsh spectrum can be derived as shown hereinbelow:

______________________________________ x.sub.1 x.sub.2 x.sub.3 f.sub.2 (x) f.sub.2 (z) ______________________________________ 0 0 0 1 -1 0 0 1 1 -1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 -1 1 0 1 1 -1 1 1 0 0 1 1 1 1 1 -1 ______________________________________ S(W) = 1/8(-2,2,-6,2,-2,-2,-2,2) ##EQU9##

All the transforms mentioned above are Walsh orthogonal transforms. There are alternative orthogonal transforms which may be deployed for the transformation of digital data into the spectral domain. This class of transforms is not a variant of the Hadamard transforms or of the Rademacher-Walsh transforms which would undergo a rearrangement of rows or columns. Yet, these transforms are useful alternative means of computation for spectral vectors. The most important ones are the Haar transform and the Reed-Muller expansion.

Haar transform

The Haar transform is defined as follows: ##EQU10##

The Haar transform is confined in the range of {0,+2} where N=0,1,2, . . . . This set of Haar transforms for any n constitutes a complete set of orthogonal transforms. The inverse of the Haar transform is given by the orthogonal transform relation: ##EQU11## where K is a scaling constant and [H].sup.h represents the hermitian conjugate matrix of the Haar transform. Using the above-definition, a Haar transform of 2.sup.n .times.2.sup.n where n=3 is shown in FIG. 3(a).

Since the spectral expansion vector represents the correlation between the xi inputs and a combination of the xi inputs and the outputs of the truth table function, it is appropriate to rescale the Haar function to a normalized value {0,+1}. A normalized Haar transform of 2.sup.n .times.2.sup.n, where n=3 is shown in FIG. 3(b). However, with these normalized values, the relation yielding the inverse transform ##EQU12## no longer holds true. In order to compare with Walsh orthogonal transforms, the same three variable truth table used in connection with the presentation of the Walsh transforms will be employed. If one assumes that the normalized Haar transform is [H].sub.n, then the corresponding Haar transform spectral expansion vector can be expressed as

[H].sub.n [f(z)]=[h(.omega.)],

so that the following relations hold true: ##EQU13## where

f(z)=1-2 f(x)

z1=1-2 x1

z2=1-2 (x1.x2)

z3=1-2 (x1.x2)

z4=1-2 (x1.x2.x3)

z5=1-2 (x1.x2.x3)

z6=1-2 (x1.x2.x3)

z7=1-2 (x1.x2.x3)

Thus, f(z) can be simplified to the following relation: ##EQU14##

Reed-Muller expansion

Another set of transforms, the so-called Reed-Muller expansion, has also been found to be of particular interest of truth-table look-up optical processing systems.

The Reed-Muller expansion is known by mathematicians. Reference is made more particularly to the article entitled "A note on minimal Reed-Muller canonical forms of switching functions", by K. L. Kodanpani and Rangaswamy V. Setlur, IEEE Transactions on Computers, March 1977. Unlike the method using discrete orthogonal transforms hereabove described, the Reed Muller expansion of truth tables cited in this article forms a non-orthogonal expansion. The Reed Muller expansion is the digital equivalent expansion of the Taylor series expansion for continuous functions.

The difference of any boolean function f(x) with respect to the boolean variable x.sub.j is given by

df.omega./d.chi..sub.j =f(.chi..sub.0,.chi..sub.1, . . . , tj, . . . .chi..sub.n).sym.f(.chi..sub.0,.chi..sub.1, . . . ,.chi..sub.j, . . . .chi..sub.n)

Hence, the Reed Muller expansion of m inputs truth table can be expressed as ##EQU15## is a fixed point at which the given function is expanded. [Y] is the truth table column vector, "-" in the expansion is the arithmetic subtraction. Given the three variable truth table example used hereabove, the expansion at H=(0,0,0) can be derived as follows: ##EQU16##

______________________________________ x.sub.1 x.sub.2 x.sub.3 f(x) ______________________________________ 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 ______________________________________ ##STR3##

DETAILED DESCRIPTION

Four basic preferred embodiments of the invention implementing a two dimensional truth table look-up processor are disclosed herein. This is schematically illustrated in the block-diagram represented in FIG. 4. The present invention contemplates two types of inner product: the matrix multiplcation and the correlation function. Yet, it will be apparent to the person skilled in the art that other types of inner product can be envisioned such as the convolution product if appropriate optical elements are used to perform such a product. Furthermore, the spectrum vectors may be in the negative domain. If such is the case, the coding must be performed in the bipolar set {-1,+1} rather than the field {0,+1} (bipolar coding). The combination of the coding possibilities and of the inner product alternatives generates four cases embodied in the four preferred embodiments of the present invention (boxes 9,10,11 and 12 in FIG. 4).

Theoretically any optical matrix multiplier or optical correlator can perform the inner product operation. As shown in the theoretical discussion set forth hereabove, the mapping relation can be decomposed into two vectors, the boolean basis vectors Ri and the spectral expansion vectors Si. Such decomposition is valid for both linear and nonlinear truth table mapping. The output vectors can be expressed in matrix form [O]=[R][S]: ##EQU17## where m=1,2,3, . . . M and q=1,2, . . . G.

For the optical coded phase correlator implementation, the spectral expansion vectors form a unique mapping between the input variables and the output variables. If one supposes that a set (R1,S1), (R2,S2), (R3,S3), . . . (Rn,Sn) Boolean truth table mappings exists, each Si consists of 2.sup.m spectral expansion vectors for m inputs of truth table, every expansion coefficient being in the positive number region. These sets of spectral expansion vectors, after being Fourier transformed, may perform the two dimensional correlation function after all the mapping functions of each binary vector and for each truth table have been verified in the positive number region.

In a two dimensional coherent optical correlator, let the output be a two dimensional array, represented by O (x',y'), and let the input be a two dimensional array represented by R(x,y). The complex spatial filter is further represented by S(x-x',y-y'). Hence the following relation holds:

O(x',y')=.intg..intg.R(x,y)S(x-x',y-y')dxdy

In other words, the output function O(x',y') represents the two dimensional n.times.N truth table output array. R(x,y) represents the two dimensional 2.sup.m .times.N truth table input array and S(x-x',y-y') represents the 2.sup.m .times.n.times.N spectral expansion vectors, Fourier transformed and stored in the holographic medium on the filter plane. In a simple matrix form, o=[S]r, where r represents the column vectors of [R], and the vectors o are the column vectors of [O]. The inner product of two vectors is equivalent to a cross correlation operation evaluated for a zero relative shift of the two functions being correlated, where [S] is the four dimensional tensor matrix of spectral expansion vectors.

However, if the spectral expansion vectors are not a