|
Description  |
|
|
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 | | |