Page 496 - Introduction to Information Optics
P. 496
9.2. Parallel Optical Logic and Architectures 48 I
By controlling the ON or OFF state of each LED, all logical operations can
be obtained. Each switching state of the LED array corresponds to one logical
operation. This technique has been extended to perform logical operations of
multiple variables [42,43]. Shadow-casting with a source array is equivalent
to the generation of multiple copies of the coded image and an overlap of the
multiple images. Therefore, with spatial encoding, parallel optical logic oper-
ations can also be performed by multiple imaging using a lenslet array and
decoding mask [44]. The output may have the same format as the encoded
input, thus making the system cascadable. On this basis, a compact logic
module using prisms and polarization elements can be implemented [45].
Parallel logic operations can also be performed by use of nonlinear encoding
and nonlinear devices, such as polarization encoding and two-beam coupling
in a photorefractice crystal [46], birefringence spatial encoding and field-
enhanced effect of BSO crystal [47], hybrid intensity-polarization encoding
and liquid crystal device [48].
9.2.2. SPACE-VARIANT OPTICAL LOGIC
The simplest way to perform space-variant logic operations is to utilize the
spatial encoding-decoding method [49], By appropriately encoding and over-
lapping the 2D input data, all logical operations can be obtained by decoding
at prescribed subcells of the output pixel. The decoding mask can be space
variant so that space-variant logic operations can be performed in parallel.
This scheme has been extended to perform space-variant signed logic oper-
ations in arithmetic operations [50]. To reduce the number of decoding masks,
several subcells of a coded pixel can be used for decoding in parallel [51]. By
using additional polarization encoding in an optical shadow-casting system
[52], a higher degree of freedom can be obtained, and logical operations on
multiple variables can be processed with a smaller encoding area. Various
logical operations can be obtained by changing the decoding mask. This
method can also be used for parallel multiple logical operations on binary and
multiple-valued variables by incorporating a space-variant polarized decoding
mask [53,54,55]. Space-variant operations can also be realized by using
multiple source arrays [56] and by using different encoding in different areas
of the output pixel [57].
9.2.3. PROGRAMMABLE LOGIC ARRAY
A programmable logic array is a structure for implementing an arbitrary
general-purpose logic operation [58]. It consists of a set of AND gates and a
set of OR gates. With the help of coding of the input signal, various

