The present invention relates to a method for computing or optically generating one or more Boolean functions having one or more inputs, e.g., M inputs. The present invention also relates to an optical-electronic computing system for optically computing Boolean functions, which implements the method.
As known, the electronic devices used to perform computations and/or processings on digital data are characterized by limited execution speed. This is because the elementary electronic components forming the computing device, i.e., the transistors, have signal processing speeds limited by propagation delays of the signals themselves, determined by both the finite size of such electronic components and the presence of intrinsic capacitances in the components.
Signal propagation delays increase as the number of electronic devices connected to one another in cascade increases and thus increase in complex devices and apparatuses consisting of a multiplicity of transistors, such as logic gates and processors, for example.
To obviate such drawbacks, it has recently been suggested to use light radiation to transfer and process information.
Some recent technical solutions developed for this purpose aim to make devices equivalent to optical transistors, which can be combined to make complex computing devices, such as optical-type logic gates or optical processors, for example.
For example, some of these solutions utilize the constructive and destructive interference properties of optical cavities to modulate the light radiation intensity with which binary information can be associated: in the case of constructive interference, a higher level of light radiation intensity is associated with logical state “1”, and in the case of destructive interference, a lower level of light radiation intensity is associated with logical state “0”.
Other solutions utilize the non-linear optical effects of materials, such as crystals or liquid crystals, for example, to control the light radiation intensity or the direction of a main optical beam through a control beam.
However, such known optical solutions have the drawback that it is not possible to make an optical device similar to the transistor configured to implement complex apparatuses comparable, in terms of integration scale, with those obtainable using electronic devices and circuits.
Furthermore, common drawbacks of these merely optical approaches are in that it is currently not possible to combine multiple optical devices to make complex computing units while maintaining the small size of such units and logic gate fan-out values comparable to those which can be obtained using electronic devices. In particular, achieving a reasonable fan-out value, which is a parameter indicative of correct information transfer between components mutually connected in a cascade, is a limitation of such approaches.
In order to partially obviate such a drawback, hybrid solutions have been suggested, in particular to make electro-optical computers, in which optical-type information is first transformed into electrical-type information, the latter is processed by a conventional electronic processing unit, and the processing result is converted back into optical-type information.
Although such hybrid solutions allowed mitigating the drawbacks associated with the miniaturization of complex computing units and the transfer of information between components mutually connected in a cascade, the known electro-optical solutions still have limitations in terms of the maximum achievable computing speeds.
Therefore, the need is strongly felt for a solution to process digital data and information optically, in particular to compute a Boolean function optically, which allows overcoming the limitations and drawbacks of the traditional electro-optical solutions.
Therefore, it is the object of the present invention to provide a method for generating or optically computing one or more Boolean functions having one or more inputs, e.g., M inputs, which allows overcoming at least partially the limitations of the computing devices made with optical or electro-optical technology of known type.
Such an object is achieved by a method for optically computing a Boolean function, e.g., with M inputs, with M≥1, according to claim 1.
The present invention also relates to an optical-electronic computing system for optically computing Boolean functions according to claim 11.
In a general exemplary embodiment, the computing system comprises:
The method of the invention and the related computing system advantageously ensure higher computing speeds than those achievable with the known solutions.
Furthermore, the method described above and the related computing system can be used to generate elementary Boolean functions, such as the Boolean algebra NOT, OR, AND, XOR, EXOR functions, or complex Boolean functions, for example. Such elementary functions can be combined to formulate further Boolean functions.
Preferred and advantageous embodiments of the method for optically computing a Boolean function and the related optical-electronic computing system are the subject of the dependent claims.
Further features and advantages of the invention will be apparent from the following description of preferred embodiments thereof, given by way of non-limiting indication, with reference to the accompanying drawings, in which:
Similar or equivalent elements in the aforesaid figures are indicated by the same reference numerals.
With reference to
Such a method 200 for optically computing one or more Boolean functions of the present invention is described with reference to
In the following description, the term random field is used to denote a set of random light intensity variations of points in an observation space S.
The term pseudo-random field is used to denote a set of deterministic light intensity variations of points in the observation space S.
In other words, the random field is not known and needs to be characterized, while the pseudo-random field has known features.
Observation space S means both the three-dimensional space or 3D space and any subset of the three-dimensional space, such as a plane or any 2D surface, a sphere, a line, or any disjointed region of the three-dimensional space. In a particular, but not limiting exemplary embodiment, the observation space S is the surface of a charge-coupled sensor or CCD (Charge-Coupled Device) sensor.
Note that the random or pseudo-random field can be larger than the observation space S. Therefore, the observation space S allows accessing a portion of the random or pseudo-random field.
In general, the suggested method 200 consists in using electromagnetic radiation of coherent or partially coherent type, i.e., a coherent or partially coherent light beam generated by a single source 1, typically a laser source. Alternatively, the method 200 uses independent coherent or partially coherent M sources obtained by splitting the coherent light beam generated by the source itself into a plurality of light beams. Such M light beams are the M inputs of the electro-optical computing system 100 mentioned above.
In the present invention, light beam means a combination of light rays.
The aforesaid electromagnetic radiation of coherent or partially coherent type is, for example, a radiation in the visible spectrum, or an infrared or ultraviolet radiation.
In general terms, with reference to
In particular, each light beam can be ON or OFF irrespective of the others, therefore it is possible to associate the ON light beam with the logical state “1” and the OFF light beam with the logical state “0”.
Furthermore, the system 100 comprises an optical modulation device 3 adapted to generate modulated light beams L2 from the M input light beams L, L1. The system 100 further comprises one or more light diffusing devices 5 operatively associated with the optical modulation device 3 to receive modulated light beams L2 and at least one electronic processing unit 9, 10 configured to control such an optical modulation device 3. Furthermore, the system 100 comprises one or more electro-optical sensors operatively associated with at least one electronic processing unit 9, 10.
In particular, the modulated M light beams L2 are configured to propagate in a free space or can optically guided, using optical fiber cables, towards the aforesaid one or more diffusers 5 to generate random or pseudo-random fields which are used for the computation by means of the method 200 of the invention.
In other words, the random or pseudo-random fields are generated by the aforesaid one or more diffusing devices 5 in the observation space S, e.g., a three-dimensional observation space.
Further structural features of the system 100 will be described in greater detail below.
A general exemplary embodiment of a method 200 for optically computing a Boolean function with M inputs, with M≥1, of the invention is illustrated with a flowchart with reference to
Such a method 200 comprises operational steps which end with the computation or generation of one or more Boolean functions with M inputs. Such operational steps comprise: an encoding step, an error reducing step, a superimposing step, and a computing step.
With reference to
Furthermore, the method 200 includes a step of making 201b the modulated light beams L2 available to the aforesaid one or more light-diffusing devices 5 to generate 2M random or pseudo-random fields 20, each associated with a combination of the modulated light beams L2.
Furthermore, the method 200 includes a step of detecting 201c, by the at least one electronic processing unit 9, 10, by means of the aforesaid one or more electro-optical sensors, 2M Boolean fields 30 each associated with one of the generated 2M random or pseudo-random fields, based on a comparison of the light intensity of points in one or more regions of the observation space S associated with each of the 2M random or pseudo-random fields with at least one threshold light intensity value TH.
Note that each of the 2M Boolean 30 fields includes:
first points of one or more regions of the observation space S in which the light intensity of the related random or pseudo-random field is greater than the at least one threshold light intensity value TH; therefore, such first points are representative of a logical 1;
second points of said one or more regions of the observation space S in which the light intensity of the related random or pseudo-random field is lower than the at least one threshold light intensity value TH; therefore, such second points are representative of a logical 0.
The method 200 further comprises a step of selecting 201d a target Boolean function F with M inputs to be computed.
Additionally, the method 200 allows identifying 201e, by the at least one electronic processing unit 9, 10, active points 31 between the first and second points of each of the derived 2M Boolean functions 30 which satisfy the selected target Boolean function F with M inputs.
In other words, such active points 31 are an optical encoding of the Boolean function with M inputs, and the steps of the method 200 described above collectively form an encoding step 201 of the method of the invention.
Note that the comparison process with at least one threshold value TH of the encoding step 201 consists in applying at least one threshold value for each combination of the M inputs so that all the points in the region or regions of the observation space S will be considered 1 (or 0 in the case of negated Boolean fields) if the radiation intensity of the random or pseudo-random field is above such at least one threshold TH or will be considered 0 (or 1 in the case of Boolean negated fields) if the radiation intensity of the random or pseudo-random field is below the at least one threshold TH.
In an exemplary embodiment, the method 200 includes the step 201c of deriving 2M Boolean fields 30, each associated with one of said generated 2M random or pseudo-random fields 20, comprising a step of comparing the light intensity of the points of one or more regions of the observation space S associated with each of the 2M random or pseudo-random 20 fields with a first TH1 and at least a second TH2 threshold light intensity values.
In this case, each of the 2M Boolean fields 30 includes:
further first points of one or more regions of the observation space S in which the light intensity of the related random or pseudo-random field is between the first TH1 and the at least a second TH2 threshold light intensity values; therefore, the further first points are representative of a logical 1;
further second points of such one or more regions of the observation space S in which the light intensity of the related random or pseudo-random field is outside the light intensity range delimited by the aforesaid first TH1 and at least a second TH2 threshold light intensity value; therefore, the further second points are representative of a logical 0.
The Boolean fields 30 derived in the encoding step 201 can be formally indicated by the expression
where Ci are the Boolean fields, x denotes the spatial coordinates of the Boolean fields, S is the observation space, and i denotes the combination of the inputs i=(a1, . . . , aM), where a1, . . . , aM denote the Boolean inputs.
The encoding step 201 of the method 200 comprises the step of identifying 201e the points or portions of the observation space S so that the target Boolean function F is satisfied from the derived Boolean fields 30.
Note that the target Boolean function F is a relation which associates each combination of the inputs i with one and only one value of the output. Since the function is Boolean, the values of the output can take the logical values 1 or 0.
In general, the target Boolean function F can be defined by the relation:
where B={0,1} is the set of Boolean values.
Therefore, the points or portions of the region or regions of the observation space S which satisfy the target Boolean function F are the points of the space S which satisfy the relation:
From the above and based on the equation (3), it is noted, in more detail, that the active points 31 are the points x of the observation space S so that, for each combination of the inputs i, the value of the target Boolean function F (function of i) is equal to the value of the Boolean field Ci (generated by the combination i) at the point x.
Therefore, the above step of identifying 201e the active points coincides with a step of tracing the points x of the observation space S so that, for each combination of the inputs i, the value of the target Boolean function F (function of i) is equal to the value of the Boolean field Ci (generated by the combination i) at the point x. Such an operation of identifying active points is performed by the processing unit 9, 10 for any point in the observation field x, in particular verifying the equation (3) shown above, i.e., verifying the equivalence F(i)=Ci(x) for any combination of the inputs.
If such an equation at point x is valid for any combination of the inputs, the considered point x will then be identified as an active point 31. Conversely, if for only one combination of the inputs the equivalence F(i)=Ci(x) at point x is not valid as well, then such a point will not be an active point and can be indicated as an inactive point.
Furthermore, as already disclosed above, the diffused light beams are such as to form randomly or pseudo-randomly varying intensity distributions in the observation space S. Although such intensities are random or pseudo-random, by means of step 201c it is possible to derive the 2M Boolean fields, one for each combination of the inputs. Such Boolean fields are distributions of “1” or “0” values in the observation space.
Therefore, knowing the Boolean fields and the target function F, it is possible to discriminate the active points 31 from the inactive points by verifying the aforesaid equation (3) by means of the processing unit 9, 10. In other words, identifying the active points means identifying the position x of such points in the observation space S utilizing the equation (3).
The active points do not need be mutually separated, indeed they can even cover a continuous area of the observation space S. However, all such active points need to satisfy the equation (3), which can be verified by the processing unit 9,10.
From an application point of view, the invention includes making an electro-optical computing system comprising one or more electro-optical sensors distributed in the three-dimensional 3D observation space S. In particular, such sensors can be distributed without necessarily following a well-defined surface. Note that in the example in
Each sensor is configured to measure the intensity of the random or pseudo-random fields at a given location x of the three-dimensional observation space S. From such intensities, it is possible to derive the Boolean fields at the various positions x of the sensors, by means of the processing unit 9, 10.
Furthermore, using the equation (3), the active points 31 can be identified by means of the processing unit 9, 10. Such electro-optical system sensors, located in the observation space S, are operatively associated with the processing unit 9, 10. Therefore, it is reiterated that such a processing unit 9, 10 is adapted to verify the equation (3) at every point x and for every combination of the inputs i.
In addition, it is worth noting that the active points 31 in the observation space are not known beforehand. Therefore, with the present invention, it is not necessary to place the electro-optical sensor before or after a given point. Indeed, the step of identifying 201e the points or portions of the observation space S so that the target Boolean function F is satisfied from the derived Boolean fields (i.e., the active points) is adapted to determine whether the electro-optical sensor is at an active point or an inactive point.
After the aforesaid encoding step 201, the method 200 of the invention includes a general step of computing 202, by the electro-optical computing system 100, the Boolean function with M inputs based on the identified active points 31.
Exemplary embodiment of such a computing step 202 are described with reference to
In an exemplary embodiment, such a computing step 202 of the method comprises the further steps of:
In a particular exemplary embodiment, the aforesaid conveying step 2021 comprises the further steps of:
The steps described above form a superimposing step of the method 200 of the invention. During the superimposing step, the light from the active zones 31, identified in the encoding step 201, is conveyed either totally or partially (according to the value of the thresholds) towards the detection region 12.
Advantageously, the intensity of the light conveyed into the detection region 12 is the result of the computing of the Boolean function with M inputs. Such a conveyed light intensity allows discriminating and recognizing the condition in which such an intensity exceeds the activation threshold THa as the logical state 1 of the Boolean function (or 0 in the case of the negated Boolean function) and recognizing the condition in which such an intensity is below the activation threshold THa as the logical state 0 of the Boolean function (or 1 in the case of the negated Boolean function).
In an exemplary embodiment of the method 200, the aforesaid comparing step 2022 comprises the further steps of:
In a particular exemplary embodiment, the comparing step comprises the step of comparing the first electrical signal E1 with a first ETHa1 and at least a second ETHa2 electrical activation threshold values representative of a first THa1 and at least a second THa2 activation light intensity threshold values, respectively.
Based on the above, the output states U1 of the Boolean function to be computed are converted into electrical signals to make the computation compatible with any electronic circuits.
Note that the activation threshold THa, associated with the electronic comparison means 15, is chosen so that the target Boolean function F is satisfied, i.e., the activation threshold THa is chosen so that it is less than the intensity of the light conveyed on the detection region 12 when the value “1” of the Boolean function (or “0” in the case of the negated function) is expected, even considering the intensity fluctuations due to drifts or noise. Conversely, the activation threshold THa is chosen so that it is higher than the light intensity conveyed on the detection region when the value “0” (or “1” in the case of the negated function) of the Boolean function is expected even considering the intensity fluctuations due to drifts or noise.
In an alternative exemplary embodiment, the method 200 involves two or more activation thresholds associated with the electronic comparison means 15. However, such thresholds are chosen so that the target Boolean function F is satisfied.
In particular, in the case of two activation thresholds THa1, THa2, such thresholds are chosen so that the light intensity conveyed onto the detection region 12 is between such two thresholds when the value 1 of the Boolean function is expected (or 0 in the case of the negated function). Conversely, the light intensity conveyed onto the detection region 12 is provided to be outside the range between the two activation thresholds THa1, THa2 when the value 0 (or 1 in the case of the negated function) of the Boolean function is expected.
Even in the case of multiple activation thresholds, such thresholds are chosen so that the target Boolean function F (or the target Boolean function negated) is satisfied.
Note that the solution of the target Boolean function F with the suggested method 200 is ensured by the fact that, during the encoding step 201, the very points or portions of the Boolean fields 30 which satisfy the target Boolean function F were sought, i.e., the active zones 31 which intrinsically satisfy the function by means of the application of the single, double or multiple thresholds to the corresponding random or pseudo-random fields 20.
Furthermore, the superimposing step of the method advantageously allows implementing various target Boolean functions: in order to implement these functions, it is sufficient to channel the light radiation of the active zones 31 corresponding to the target function into the detection region 12.
Furthermore, the superimposing step of the method is useful for increasing the rejection to noise and drift by superimposing multiple regions which satisfy the same Boolean function.
In an exemplary embodiment of the method, in the case of a single threshold, the activation light intensity threshold THa is computable with the equation:
where N is the number of active zones 31 conveyed towards the detection region 12, TH is the at least one threshold light intensity value, k is an attenuation constant indicating by how much the active zone light intensity 31 is attenuated in the light transfer from the active zone to the detection region 12.
In a further exemplary embodiment, in the case of a number of activation thresholds either greater than or equal to two, the activation light intensity threshold THaj is computable with the equation:
where THj denotes the light intensity threshold values used in the aforesaid comparison 201c with j=1, 2, 3, 4 . . . .
Referring to
In this manner, the computing step 202 of the method 200 of the invention is performed to comprise the further steps of:
The steps of the method 200 described above form an error reducing step. Such an error reducing step allows selecting active points or portions So as to advantageously reduce the possibility of making computing errors in the case of particularly unstable or noisy systems.
The error reducing step can be ignored if the computing system is particularly stable and low-noise or if the active zones are large enough that variations in the random or pseudo-random field intensities in the active zones due to noise or drifts are negligible, i.e., the noise or drifts are negligible compared to the modulus of the difference between the random or pseudo-random field intensities at the considered active point or portion and the threshold value, for each combination of the inputs and for each active zone.
The computing step of the method 200 of the invention includes computing or optically implementing the target Boolean functions F with M inputs, using the M light beams (ON or OFF) as the inputs of the Boolean functions according to the computation needs and the intensity conveyed into the detection region 12 as the output. The function implemented according to the suggested method will correspond to the target function (or multiple target functions if multiple encoding and error reducing steps are taken).
With reference to
In particular, with reference to
In this manner, it is possible to achieve the four possible combinations of the inputs to generate 201b, through a diffuser 5, random or pseudo-random fields 20 which are acquired in the observation space S. Such an observation space S is made, for example, in a plane 7 of a charge-coupled sensor, or charge-coupled device, CCD, of a digital camera.
From the aforesaid generated random or pseudo-random fields 20, there is included a next step 201c of deriving, by a processing unit 9, 10, four corresponding Boolean fields 30 associated with the aforesaid random or pseudo-random fields, based on a comparison with at least one threshold light intensity value TH.
Furthermore, once the target Boolean function F, i.e., the EXOR function, has been selected, there is included a step of identifying 201e the active zones 31 associated with each of the identified Boolean fields 30 using the processing unit 9, 10 of the system 100.
Note that, in this example, the encoding step 201 is performed during the system manufacturing process.
Furthermore, in the case of pseudo-random fields, it is not necessary to use the plane 7 of a charge-coupled sensor (CCD) because the intensity field distribution produced by the diffuser 5 is known beforehand. However, the encoding step 201 is useful for identifying the active zones 31 which satisfy the EXOR function utilizing, for example, the processing unit 9, 10 which applies the above-mentioned thresholds to the known pseudo-random field.
Such a further spatial light modulator 4 is configured to transmit only the random or pseudo-random field light towards the converging lens 11 at the active zones 31, 31′. The lens 11 is adapted to convey the radiation (of the active zones only) towards the detection region 12 close to the focus of the lens.
The comparison with the activation threshold THa is implemented by means of a photodiode 13 which measures the power or intensity in the detection region 12 and converts it into an electrical signal E which is amplified to generate an initial electrical signal E1 to be applied to a threshold comparator 15.
The activation threshold is chosen by following the relation (4), in which the constant k=A*R*G takes into account: the light attenuation A from the active zone 31 to the detection region 12, the power-current conversion constant R of the photodiode 13, and the gain G of the amplifier 14. Thus, the threshold of the comparator 15 implements one or more of the activation thresholds THa, chosen according to the criteria described in the superimposing step.
The Applicant notes that, in particular, once the encoding 201 has been performed, the aforesaid computing step to compute the EXOR function is extremely fast. Indeed, as the transmission of the light beams associated with the active zones 31, 31′ of the random or pseudo-random fields to the converging lens 11 occurs at the speed of light, the only propagation delays are substantially determined by the photodiode 13, the amplifier 14, and the comparator 15. However, these electronic devices, are very fast because they are made with elementary electronic components used for applications in telecommunications having clock frequencies above 10 GHz.
Referring to
The electro-optical computing system or simply system 100 comprises a coherent or partially coherent source 1 of the light beams L, e.g., a laser source, where such a laser comprises M light beams with M≥1.
The system 100 optionally includes a collimator device 2 adapted to generate collimated M laser beams L1 from the laser beam L emitted by source 1.
Such M beams laser L, L1 are the M inputs of the electro-optical computing system 100.
Furthermore, the system 100 comprises an optical modulation device or spatial light modulator or modulator 3, adapted to generate modulated light beams L2 from the M input light beams L, L1.
For example, the spatial light modulator 3 is embodied by the DLP 6500 modulator from Texas Instruments.
Such a spatial light modulator 3 is controlled by at least one electronic processing unit 9, 10 of the system 100 to separate the M input laser beams L1 into M×N groups of laser beams L2 from individual pixels or groups of pixels associated with the modulator 3. In other words, the modulator 3 is configured to generate M×N groups of modulated laser beams L2.
The example in
Note that the M×N groups of laser beams L2 are the inputs of N devices which implement or compute N Boolean functions with M inputs according to the method 200 of the invention.
The system 100 further comprises one or more light-diffusing 5 associated with the optical modulation device 3 to receive the modulated light beams L2.
In particular, the modulator 3 is configured to turn on or off each of the aforesaid groups of modulated laser beams L2 irrespective of the others by deviating the input laser radiation L1 towards the aforementioned one or more diffusers 5 (logic state 1 or ON) or to an absorber (logic state 0 or OFF), not shown in
In an alternative exemplary embodiment, the input laser beam L, L1 can be split into multiple sub-beams by means of a beam-splitter device. Such sub-beams exiting from the beam-splitter can be appropriately modulated by any optical modulator, e. g., of electric-optic or acoustic-optic type, or by optical shutters.
Furthermore, the system 100 comprises a light-reflecting element 6, e.g., a mirror, and the groups of laser beams exiting from the diffuser 5, i.e., the diffused laser beam groups L3 exiting from the diffuser 5, propagate in the free space towards such a mirror 6. In particular, such a mirror 6 is reversibly movable, by the first electronic processing unit 10, from a first operating position in which laser beam groups L3 exiting from the diffuser 5 are conveyed towards an observation space S to a second operating position.
When the mirror 6 is in the aforesaid first operating position, such a mirror is configured to reflect the diffused laser ray groups L3 towards the S observation space which is made, for example, in a plane 7 of a charge-coupled device (CCD) sensor of a digital camera. Such a charge-coupled sensor is an electro-optical sensor operatively associated with the electronic processing unit 9, 10.
In a different exemplary embodiment, such a light reflection element 6 is embodied by a beam splitter which, with respect to the mirror, is in a fixed position and does not need to be moved.
Each of the laser groups L3 diffused towards the plane 7 of the CCD sensor is configured to generate a respective random or pseudo-random 20 field in the observation space S.
Furthermore, to ensure that the various diffused laser beam groups L3 remain separate from each other and thus independent, the system 100 involves the use of first separators 8, for example made of absorbent material, placed between the diffuser 5 and the observation space S. Such an absorbent material generally comprises blackened material, paper, plastic, metal (e.g., black anodized aluminum) configured to absorb laser radiation well.
The digital camera in the observation space S is operatively associated with the second electronic processing unit 9 of the traditional type adapted to select the regions of 2M random or pseudo-random fields in the observation space S as specified in the encoding and error reducing steps of the method 200 of the invention.
The modulator 3 is configured to sequentially turn on or off the input laser beam groups L1 to generate modulated laser beams L2 in an encoding step of the method of the invention by deviating such beams towards the diffuser 5.
By means of the second electronic processing unit 9 and the camera, the system 100 is configured to select the active zones 31 which satisfy the target Boolean function F which is desired to be computed, in particular by setting appropriate thresholds TH in the aforesaid encoding step.
In an exemplary embodiment, the aforementioned second electronic processing unit 9 of the system 100 is also configured to select the first active zones 31′ in the error reducing step of the method 200.
Once the active zones 31, 31′ have been selected, the system 100 is configured to perform a superimposing step of the method 200 in which the mirror 6 is moved to take the second operating position.
In such a second operating position of the mirror 6, the laser beam groups L3 diffused by the diffuser 5 are directly conveyed to a further spatial light modulator or further modulator 4, e.g., of a similar type as the spatial light modulator 3.
In order to ensure that the various diffused laser beam groups L3 remain mutually separate and thus independent, the system 100 comprises second separators 8′, similar to the first separators 8, placed between the diffuser 5 and the further spatial light modulator 4. In particular, such second separators 8′ are configured to send the separate laser beam groups on the further modulator 4 to generate the first laser beams L4.
To ensure that the random or pseudo-random fields generated on observation plane 7 have the same distribution as the random or pseudo-random fields on the additional spatial light modulator 4, the system 100 is designed to ensure that the distance between the mirror 6 and the camera is equal to the distance between the mirror 6 itself and such a further spatial light modulator 4.
Furthermore, the system 100 comprises converging lenses 11 adapted to receive only the first laser beam groups L4 corresponding to the active zones 31, 31′ conveyed by the additional spatial light modulator 4.
In an exemplary embodiment, laser radiation not corresponding to the active zones is diverted to a respective absorber (not shown in
In particular, the system 100 comprises four converging lenses 11 in the example in
Furthermore, the system 100 comprises the first electro-optical sensors 13 configured to convert the laser radiation concentrated by each lens 11 into a respective electrical signal E. In particular, the system 100 comprises four photodiodes 13. A respective amplifier device 14 is connected to the output of each photodiode 13.
The amplified electrical signal E1 or first electrical signal E1 output from the amplifiers 14 is proportional to the power or intensity of the integrated laser radiation on the area of the photodiodes 13.
Furthermore, the system 100 comprises comparators 15, e.g., with single-threshold or multiple-threshold, configured to receive the first electrical signals E1 as input. In particular, the thresholds of such comparators 15, ETHa if single threshold or ETHa1 and ETHa2 if double threshold, are chosen according to the superimposing step of the method of the invention.
As mentioned above, the modulator 3, according to the computing needs, is configured to control the M inputs of the Boolean function to be computed so that they take either logic high value or logic “1” (ON) or logic low value or logic “0” (OFF). The outputs U1 of the comparators 15, either single-threshold or multiple-threshold, are the output states of the computed target Boolean function F. In other words, the thresholds of the comparators 15 are representative of the activation thresholds, chosen according to the criteria described in the superimposing step of the method of the invention.
Note that other systems than that described above can be made to perform the suggested method for optically computing a Boolean function with M inputs.
In addition to the advantages already reported above, the method 200 for optically computing a Boolean function with M inputs and the related electro-optical computing system 100 have further advantages and achieve the preset purposes.
In particular, the suggested method 200 allows optically computing any Boolean function with M inputs. Such a function to be computed can be simply established by modifying a respective software program stored in a memory operatively associated with the electronic processing unit 9, 10 of the system 100 without requiring changes to the hardware structure of the system itself.
Therefore, the system 100 implementing the method of the invention is a universal programmable Boolean function generator.
An additional advantage is that, if modulators and high-definition CCDs are used, the method of the invention allows increasing the number of Boolean functions which can be computed or generated.
The invention further relates to a computer program comprising an application code executable by at least one electronic processing unit 9,10 of the electro-optical system 100 for computing one or more Boolean functions with M inputs, to implement the method 200 of the present invention.
In order to meet contingent needs, those skilled in the art may make changes and adaptations to the method and the electro-optical computing system for generating Boolean functions described above or can replace elements with others which are functionally equivalent without departing from the scope of the following claims. Each of the features described above as belonging to a possible embodiment can be implemented irrespective of the other embodiments described.
Number | Date | Country | Kind |
---|---|---|---|
102022000001982 | Feb 2022 | IT | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IB2023/050877 | 2/1/2023 | WO |