US4764891A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Programmable methods of performing complex optical computations using data processing system
Assignee: The AT&T MVPD Group LLC
•
Filing: 1987-11-12
•
Granted: 1988-08-16
•
Expires: 2007-11-12
Abstract
Abstract Methods of performing complex optical computations, preferably using a programmable optical data processor having a plurality of spatial light modulators to impress data onto a data beam. Data can be applied to a subset of the modulators so as to impress a corresponding data image onto the beam; with uniform data applied to the remaining ones of the modulators so as to impress corresponding uniform data images onto the beam such that the computation performed is dependent on the data applied to the subset of the modulators. Any one of a number of performable optical computations can be programmably performed by providing data to selected subsets of the plurality of spatial modulators.
Inventors
- 👤 Jan Grinberg
- 👤 Graham R. Nudd
- 👤 Bernard H. Soffer
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 05:48
CPC Classifications
G; G06; G06E; G06E3/00; G06E3/001; G06E3/005
Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
112 words
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.
Claim 2
Independent Claim
112 words
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.
Claim 3
Dependent Claim
60 words
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.
Claim 4
Dependent Claim
103 words
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.
Claim 5
Dependent Claim
38 words
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.
Claim 6
Independent Claim
159 words
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.
Claim 7
Independent Claim
159 words
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.
Claim 8
Dependent Claim
190 words
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.
Claim 9
Dependent Claim
32 words
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.
Claim 10
Dependent Claim
306 words
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.
Claim 11
Dependent Claim
41 words
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.
Claim 12
Dependent Claim
65 words
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.
Claim 13
Dependent Claim
57 words
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.
Claim 14
Dependent Claim
34 words
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.
Claim 15
Dependent Claim
34 words
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.
Claim 16
Independent Claim
284 words
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.
Claim 17
Independent Claim
284 words
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.
Claim 18
Independent Claim
300 words
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.
Claim 19
Independent Claim
300 words
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.
Claim 20
Independent Claim
379 words
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.
Claim 21
Independent Claim
379 words
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.
References Cited (Backward Citations)
US3989355A
Cited
US4225938A
Cited
DE3121436A1
Cited
US4440472A
Cited
JPS57198434A
Cited
DE3218244A1
Cited
US4588255A
Cited
US4567569A
Cited
US4544229A
Cited
US4544230A
Cited
US4579417A
Cited
US4595994A
Cited
US4697247A
Cited
US4569033A
Cited
US4556950A
Cited
US4686646A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1991-08-16 | 1992-02-15 | 1992-08-16 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1995-08-16 | 1996-02-15 | 1996-08-16 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1999-08-16 | 2000-02-15 | 2000-08-16 | $7700.00 | Window Closed / Lapsed |