Claims
- 1. A method of programmably performing optical computation using a plurality of spatial light modulators to impress images corresponding to data onto a data beam, said method comprising the steps of:
- (a) programmably selectively performing a desired optical computation from a plurality of performable optical computations including Fourier transform, correlation, convolution and ambiguity function calculations;
- (b) applying respective data to a selected subset of said modulators to impress corresponding data images onto said beam; and
- (c) applying uniform data to the remaining ones of said modulators so as to impress corresponding uniform data images onto said beam such that said selected subset of said modulators is determined by the programmably selected optical computation.
- 2. The method of claim 1 further comprising the steps of:
- (a) sequentially providing data to be applied to a first one of said selected subset modulators;
- (b) sequentially providing data to be applied to a second one of said selected subset of said modulators; and
- (c) continuously providing uniform data to be applied to a third one of said modulators.
- 3. The method of claim 2 wherein said modulators spatially represent the data applied thereto, wherein an accumulator is used to sum the spatially represented data as impressed onto said beam and wherein said modulators include one and two-dimensional spatial light modulators for selectively impressing data images onto said beam as rows and columns oriented mutually orthogonal to said beam, said method further comprising the steps of:
- (a) sequentially shifting the data summed into said accumulator with respect to the rows of said modulators; and
- (b) summing the data spatially represented on said beam with the corresponding shifted spatially summed data of said accumulator.
- 4. The method of claim 3 further comprising the step of recirculating the data provided to selected ones of said selected subset of said modulators so as to periodically reapply the data to the selected ones of said modulators.
- 5. A method of programmably performing a cross correlation or sliding window cross correlation calculation of two-dimensional data with one- or two-dimensional reference data using an optical processor capable of impressing a plurality of data images onto a data beam using spatial light modulators, including crossed one-dimensional spatial light modulators, said method comprising the steps of:
- (a) buffering the one or two-dimensional data reference;
- (b) buffering the two-dimensional data matrix to be acted upon;
- (c) sequentially providing first data from the data reference to a first one-dimensional spatial light modulator so as to impress a first data image onto said beam;
- (d) sequentially providing second data from the two-dimensional data matrix to a second one-dimensional, spatial light modulator so as to impress a second data image onto said beam; and
- (e) spatially summing the data represented by the combination of said first and second data images on said data beam with a sequential provision of said first and second data.
- 6. The method of claim 5 wherein the method is a method of performing an one-dimensional cross correlation function calculation of two-dimensional data with one-dimensional mask data reference;
- wherein step (c) is further characterized as applying the respective rows of the buffered data reference to the corresponding columns of the first one-dimensional spatial light modulator;
- wherein step (d) is further characterized as applying the last matrix column of the buffered two-dimensional data matrix to be correlated to the respective rows of the second one-dimensional spatial light modulator and providing uniform data to all remaining ones of said spatial light modulators;
- the method further comprising the steps of:
- (f) respectively recirculating the two-dimensional data matrix to be correlated so as to provide new last column of respective data to be applied to the second one-dimensional spatial light modulator;
- (g) respectively shifting the spatially summed data in an accumulator with a sequential provision of said first and second data images; and
- (h) repeating steps (d) through (g) until all columns of the buffered two-dimensional data to be correlated have been sequentially transferred to the respective rows of the second one-dimensional spatial light modulator.
- 7. The method of claim 6 wherein said step of respectively shifting the spatially summed data is further characterized as repetitively occurring with each said sequential providing of said first and second data.
- 8. The method of claim 5 wherein for the method of performing an one-dimensional, sliding window cross correlation function calculation of two-dimensional data with one-dimensional reference data on a data beam,
- step (b) further comprises row buffering an intial portion of a two-dimensional input data stream;
- step (c) is further characterized as applying the respective buffered row data reference to the corresponding columns of the first one-dimensional spatial light modulator;
- step (d) is further characterized as applying to the respective rows of the second one-dimensional spatial light modulator, corresponding datum from a contiguous portion of said input data stream and further comprising the step of providing uniform data to any unused ones of said spatial light modulators of said optical processor so as to correspondingly impress uniform data images onto said beam;
- step (e) is further characterized as summing into an accumulator the products of the intersecting row data reference and said contiguous portion of said input data stream as provided to said first and second one-dimensional spatial light modulators, respectively, to produce thereby cumulative two-dimensional resultant data matrix;
- and further comprising the steps of:
- (f) sequentially shifting the next input data stream datum into said buffered portion so as to shift the application of said contiguous portion of said input data stream in a predetermined row data shift direction;
- (g) shifting said cumulative two-dimensional resultant data matrix in said accumulator in said predetermined row data shift direction and clearing the first matrix column of the resultant data matrix corresponding to the row of the second one-dimensional spatial light modulator to which the next input stream datum is applied; and
- (h) repeating steps (b) through (g) and sequentially buffering the last matrix column data of said two-dimensional resultant data matrix shifted out during step (g) to form a two-dimensional most recent sliding window cross-correlation resultant data matrix.
- 9. The method of claim 5 wherein said optical processor further includes a two-dimensional spatial light modulator, said method further comprising the step of providing third data to said two-dimensional modulator so as to impress a third data image onto said beam.
- 10. The method of claim 9 wherein said two-dimensional spatial light modulator is characterized as impressing said third data onto said beam as data image rows and columns thereof and wherein the step of providing said third data further includes the step of shifting said third data along the rows of said two-dimensional spatial light modulator with each sequential provision of said first and second data.
- 11. The method of claim 10 wherein the step of providing said third data further includes the step of recirculating that portion of said third data effectively shifted from the last row of said two-dimensional spatial light modulator so as to provide that portion of said third data to the first row of said two-dimensional spatial light modulator.
- 12. The method of claim 11 further comprising the step of providing uniform data to any unused ones of said spatial light modulators so as to correspondingly impress uniform data images onto said data beam.
- 13. The method of claim 10 further comprising the step of providing uniform data to any unused ones of said spatial light modulators so as to correspondingly impress uniform data images onto said data beam.
- 14. A method of performing a two-dimensional Fourier transform of a two-dimensional data matrix having rows and columns, on a data beam using a plurality of spatial light modulators and a spatial accumulator, said method comprising the steps of:
- (a) buffering a Fourier transform coefficient matrix having rows and columns for the first data dimension;
- (b) buffering said two-dimensional data matrix to be transformed;
- (c) applying the buffered Fourier transform coefficients of the last column of said Fourier transform coefficient matrix to the respective rows of a first one-dimensional spatial light modulator;
- (d) applying the buffered data of the last row of said two-dimensional data matrix to be transformed to the respective columns of a second one-dimensional spatial light modulator;
- (e) providing uniform data to all remaining ones of said spatial light modulators;
- (f) summing into said spatial accumulator the products of the intersecting data provided on said first and second one-dimensional spatial light modulators as effectively impressed on, combined, and received from said data beam;
- (g) respectively recirculating said two-dimensional data matrix and said Fourier transform coefficient matrix so as to provide new last columns and rows of respective coefficients and data to be applied to said first and second one-dimensional spatial light modulators;
- (h) repeating steps (c) through (g) for each row of said two-dimensional data matrix;
- (i) buffering said summed first data dimension resultant data from said spatial accumulator in place of said two-dimensional data matrix to be transformed;
- (j) buffering a Fourier transform coefficient matrix for the second data dimension in place of said Fourier transform coefficient matrix for the first data dimension; and
- (k) repeating steps (c) through (g) for each row of said summed first data dimension resultant data.
- 15. A method of performing a two-dimension cross correlation of a two-dimensional data matrix on a data beam using a plurality of spatial light modulators and a spatial accumulator, said method comprising the steps of:
- (a) buffering a two-dimensional correlation mask data matrix;
- (b) buffering said two-dimensional data matrix to be correlated;
- (c) applying the buffered said correlation mask data matrix to the corresponding spatial positions of a two-dimensional spatial light modulator;
- (d) applying a datum of said two-dimensional data matrix to be correlated, obtained from a predetermined row and column buffer position, to a zero-dimensional spatial light modulator;
- (e) providing uniform data to all remaining ones of said spatial light modulators;
- (f) summing into said spatial accumulator the products of the intersecting said correlation mask data matrix and said datum of said two-dimensional data matrix to be correlated, as provided to said two- and said zero-dimensional spatial light modulators, respectively, to thereby produce cumulative two-dimensional resultant data;
- (g) recirculating the buffered said two-dimensional data matrix to be correlated in a first data matrix direction so as to provide a new datum at said predetermined row and column buffer position;
- (h) recirculating said cumulative two-dimensional resultant data similarly in said first data matrix direction;
- (i) repeating steps (c) through (h) for each row or column in said first data matrix direction of said two-dimensional data matrix to be correlated;
- (j) recirculating the buffered said two-dimensional data matrix to be correlated in a second data matrix direction so as to provide a new datum at said predetermined row and column buffer position;
- (k) recirculating said cumulative two-dimensional resultant data similarly in said second data matrix direction; and
- (l) repeating steps (i) through (k) for each row or column in said second data matrix direction of said two-dimensional data matrix to be correlated.
- 16. A method of performing a one-dimensional, sliding window cross ambiguity function calculation for one-dimensional data on a data beam using a plurality of spatial light modulators and a spatial accumulator, comprising the steps of:
- (a) buffering a two-dimensional Fourier transform coefficient mask data matrix;
- (b) row buffering a one-dimensional reference data template;
- (c) row buffering an initial portion of a one-dimensional input data stream;
- (d) applying the respective buffered Fourier transform coefficients of the last matrix column of said Fourier transform coefficient mask data matrix coefficients to respective rows of a first one-dimensional spatial light modulator;
- (e) applying the respective buffered row of said reference data template data to the corresponding columns of a second one-dimensional spatial light modulator;
- (f) applying to the respective columns of a third one-dimensional spatial light modulator, corresponding datum from a contiguous portion of said input data stream;
- (g) providing uniform data to all remaining ones of said spatial light modulators;
- (h) summing into said accumulator the products of the intersecting said Fourier transform coefficient mask data matrix, said row of said reference data template data, and said contiguous portion of said input data stream as provided to said first, second, and third one-dimensional spatial light modulators, respectively, to thereby produce cumulative two-dimensional resultant data matrix;
- (i) sequentially shifting the next datum of said input data stream into said buffered portion so as to shift the application of said contiguous portion of said input data stream in a predetermined row data shift direction;
- (j) recirculating the buffered said Fourier transform coefficient mask data matrix in said predetermined row shift data direction so as to provide the next sequential column of said Fourier transform coefficient mask data matrix to be applied to said first one-dimensional spatial light modulator;
- (k) shifting said cumulative two-dimensional resultant data matrix in said predetermined row data shift direction and clearing the first matrix column of said resultant data matrix corresponding to the column of said third one-dimensional spatial light modulator to which the next datum of said input data stream is applied; and
- (l) repeating steps (d) through (k) and sequentially buffering the last matrix column data of said two-dimensional resultant data matrix shifted out during step (k) to form a two-dimensional most recent sliding window cross-ambiguity resultant data matrix.
Parent Case Info
This application is a continuation of application Ser. No. 713,063, filed Mar. 18, 1985, and now abandoned.
US Referenced Citations (13)
Foreign Referenced Citations (2)
Number |
Date |
Country |
3121436 |
Apr 1982 |
DEX |
3218244 |
Nov 1983 |
DEX |
Non-Patent Literature Citations (2)
Entry |
Applied Optics, vol. 23, No. 6, Mar. 1984, New York, (US), Verber et al.: "Pipelined Polynominal Processors Implemented with Integrated Optical Components", pp. 817-821. |
Patents Abstracts of Japan, vol. 7, No. 51 (p-179) (1196), Feb. 26, 1983 & JP, A157198434 (Yokogawa), Dec. 6, 1982. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
713063 |
Mar 1985 |
|