An optical computing device and method
Patent Information
- Application Number
- CN202110601682.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-31
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2041-05-31
AI Technical Summary
然而由于光电混合AI芯片受平面上工艺的限制,使得基于光电混合AI芯片当前的平面制备工艺,仅能实现片上的一维傅里叶变换,而无法在片上制备用于实现二维傅里叶变换的立体式结构透镜
[0028]Thirdly, this application provides an optical chip on which an optical computing device as provided in the first aspect and any of its possible design methods is deployed.
Smart Images

Figure CN115481361B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of optical processing technology, and more particularly to an optical computing device and method. Background Technology
[0002] Currently, there is a widespread demand for high-speed intelligent processing of image and video data, posing significant challenges to optoelectronic hybrid artificial intelligence (AI) chip technology. One important technical requirement is to use optoelectronic hybrid AI chips to perform two-dimensional Fourier transforms on two-dimensional image and video data in order to extract features from image frames in images or videos.
[0003] In Fourier optics, lenses possess the property of two-dimensional Fourier transform. Therefore, two-dimensional Fourier transforms can typically be achieved in three-dimensional space using stereoscopic lenses. However, due to the limitations of planar fabrication processes in optoelectronic hybrid AI chips, current planar fabrication techniques for these chips can only achieve one-dimensional Fourier transforms on-chip, making it impossible to fabricate stereoscopic lenses on-chip for realizing two-dimensional Fourier transforms.
[0004] Therefore, how to implement the two-dimensional Fourier transform of data on a hybrid optoelectronic AI chip is a technical problem that urgently needs to be solved. Summary of the Invention
[0005] This application provides an optical computing device and method that realizes a two-dimensional Fourier transform of input data.
[0006] To achieve the above objectives, this application provides the following technical solution:
[0007] In a first aspect, this application provides an optical computing device, comprising: a beam splitting and phase shifting module for receiving multiple input optical signals indicating input data, and outputting multiple sets of intermediate optical signals based on the multiple input optical signals; and a beam combining module for receiving the multiple sets of intermediate optical signals and obtaining multiple output optical signals based on the multiple sets of intermediate optical signals, wherein the output data indicated by the multiple output optical signals is the data obtained by performing a two-dimensional Fourier transform on the input data.
[0008] Each input optical signal is used to obtain one set of intermediate optical signals from multiple sets of intermediate optical signals. One of the multiple input optical signals is used to indicate one element of the input data, which includes multiple elements. Each of the multiple output optical signals includes one intermediate optical signal from each set of intermediate optical signals.
[0009] As can be seen, since the signals input to the optical computing device, the signals processed in the optical computing device, and the signals output by the optical computing device are all optical signals, the optical computing device provided in this application has the characteristics of high efficiency and low latency when implementing the two-dimensional Fourier transform of data, compared with the two-dimensional Fourier transform process based on electrical computing.
[0010] Furthermore, the optical computing device provided in this application can be fabricated on an optical chip using a planar fabrication process. In this way, the optical chip equipped with the optical computing device provided in this application can perform two-dimensional Fourier transforms of data with high efficiency and low latency. Compared to using lenses to perform two-dimensional Fourier transforms of data, the optical chip equipped with the optical computing device provided in this application has the advantages of compact structure and small size, thus facilitating integrated applications.
[0011] In one possible design, the input data includes two-dimensional data. Through this possible design, embodiments of this application achieve two-dimensional Fourier transform of the two-dimensional data via optical input and output, improving the efficiency of the two-dimensional Fourier transform.
[0012] In another possible design, the aforementioned beam-splitting phase-shifting module includes multiple beam-splitting phase shifters. Each beam-splitting phase shifter receives an input optical signal and outputs one set of intermediate optical signals from a plurality of intermediate optical signals based on the received input optical signal. Each beam-splitting phase shifter includes multiple output ports, each of which outputs one intermediate optical signal. The aforementioned beam-combining module specifically receives multiple sets of intermediate optical signals from the multiple beam-splitting phase shifters and combines the intermediate optical signals output from the output ports of the multiple beam-splitting phase shifters with the same port number into a single output optical signal, thereby obtaining multiple output optical signals.
[0013] In another possible design, each of the aforementioned multiple beam splitter phase shifters is specifically used to receive an input optical signal, split the received input optical signal into a group of sub-optical signals, and adjust the phase of each sub-optical signal in the group of sub-optical signals to obtain a group of intermediate optical signals.
[0014] In another possible design, each of the above-mentioned beam-splitting phase shifters includes a beam splitter and multiple phase shifters. The beam splitter is used to split the received input optical signal into a set of sub-optical signals. The multiple phase shifters are used to adjust the phase of each sub-optical signal in the set of sub-optical signals to obtain a set of intermediate optical signals.
[0015] In another possible design, the phase offset of each of the multiple phase shifters when adjusting the phase of the sub-optical signal satisfies the formula: ψ(x,y,u,v)=exp(i·2π(ux / m+uy / n)). Here, ψ represents the phase offset. The combination of x and y represents the number of the beam-splitter phase shifter, and the numbers of the multiple beam-splitter phase shifters correspond to the position numbers of multiple elements in the above two-dimensional data. The combination of u and v represents the port number of the output port of the beam-splitter phase shifter, and each of the multiple beam-splitter phase shifters includes multiple output ports. The values of x and u are integers between [1, m], and the values of y and v are integers between [1, n], where m and n are both positive integers greater than 1, and i is an imaginary number.
[0016] Based on the aforementioned possible implementation methods, the input optical signal is processed by a beam splitting and phase shifting module and a beam combining module to output an output optical signal indicating the output data after the two-dimensional Fourier transform of the input data. This is equivalent to realizing the two-dimensional Fourier transform of the data through optical computing. Thus, compared to the two-dimensional Fourier transform of data implemented by electrical computing, the optical computing device provided in this application can achieve the two-dimensional Fourier transform of the input data with high efficiency and low latency by optically processing the input optical signal indicating the input data.
[0017] In another possible design, the beam splitter includes any one of the following structures: an optical waveguide bifurcation structure, a grating structure, or a directional coupler structure.
[0018] In another possible design, each of the aforementioned phase shifters includes a waveguide.
[0019] In another possible design, the aforementioned beamforming module includes a three-dimensional waveguide connection structure or a waveguide network on a two-dimensional plane, with the crossover points of the waveguides in the waveguide network connected by couplers.
[0020] In another possible design, each of the aforementioned multiple beam splitters includes a diffraction structure whose structural parameters are obtained through iterative training using a simulation system.
[0021] Typically, the optical waveguide bifurcation structure, grating structure, directional coupler structure, waveguide, and diffraction structure mentioned above can all be structures fabricated on an optical chip. In this way, the device provided in this application can realize the two-dimensional Fourier transform of data through on-chip structures, thereby filling the technological gap in performing two-dimensional Fourier transforms of data based on on-chip structures.
[0022] Secondly, this application provides an optical computing method for performing a two-dimensional Fourier transform on data. The method includes: receiving multiple input optical signals indicating input data; outputting multiple sets of intermediate optical signals based on the multiple input optical signals; and obtaining multiple output optical signals based on the multiple sets of intermediate optical signals. The output data indicated by the multiple output optical signals is data obtained after performing a two-dimensional Fourier transform on the input data. Each input optical signal is used to obtain one set of intermediate optical signals from the multiple sets of intermediate optical signals, and one of the multiple input optical signals indicates one element of the input data comprising multiple elements. Each of the multiple output optical signals includes one intermediate optical signal from each set of intermediate optical signals.
[0023] In one possible design approach, the input data mentioned above includes two-dimensional data.
[0024] In another possible design, the above-mentioned output of multiple sets of intermediate optical signals based on the multiple input optical signals includes: outputting one set of intermediate optical signals from the multiple sets of intermediate optical signals based on each of the multiple input optical signals. The above-mentioned obtaining multiple output optical signals based on the multiple sets of intermediate optical signals includes: combining intermediate optical signals output from output ports with the same port number into a single output optical signal, thereby obtaining multiple output optical signals.
[0025] In another possible design, the above-mentioned outputting one set of intermediate optical signals from multiple sets of intermediate optical signals based on each of the multiple input optical signals includes: splitting each received input optical signal into a set of sub-optical signals, and adjusting the phase of each sub-optical signal in the set of sub-optical signals to obtain a set of intermediate optical signals.
[0026] In another possible design, the phase offset adjusted when adjusting the phase of each sub-optical signal in a set of sub-optical signals satisfies: ψ(x,y,u,v)=exp(i·2π(ux / m+uy / n)). Here, ψ represents the phase offset. The combination of x and y represents the element number in the above two-dimensional data. The combination of u and v represents the port number of the output port used to output the intermediate optical signal. x and u are integers between [1, m], y and v are integers between [1, n], m and n are both positive integers greater than 1, and i is an imaginary number.
[0027] It should be understood that the beneficial effects of the second aspect and any of its possible design methods can be referenced from the beneficial effects of the first aspect and any of its possible design methods, which will not be elaborated here.
[0028] Thirdly, this application provides an optical chip on which an optical computing device as provided in the first aspect and any of its possible design methods is deployed.
[0029] It is understood that any of the devices or optical chips provided above can be applied to the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods, and will not be repeated here. Attached Figure Description
[0030] Figure 1a This is a schematic diagram of the structure of an optical computing device provided in an embodiment of this application;
[0031] Figure 1b A schematic diagram of a two-Fourier transform system provided in an embodiment of this application;
[0032] Figure 2 A schematic diagram illustrating k beam splitter phase shifters receiving k input optical signals in a beam splitter phase shifter module provided in an embodiment of this application;
[0033] Figure 3 This is a schematic diagram of k sets of intermediate optical signals output after k beam splitters and phase shifters process k input optical signals, as provided in an embodiment of this application.
[0034] Figure 4 A schematic diagram illustrating the processing flow of a beam splitter for receiving input optical signals, provided in an embodiment of this application;
[0035] Figure 5 A schematic diagram of a waveguide network provided in an embodiment of this application;
[0036] Figure 6 A schematic diagram of another two-Fourier transform system provided in this application embodiment;
[0037] Figure 7 A schematic diagram of another two-Fourier transform system provided in this application embodiment;
[0038] Figure 8 A schematic flowchart of an optical computing method provided in an embodiment of this application;
[0039] Figure 9 This is a schematic diagram of an optical computing method provided in an embodiment of this application. Detailed Implementation
[0040] To better understand the embodiments of this application, some terms or technologies involved in the embodiments of this application are explained below:
[0041] 1) Two-dimensional Fourier transform
[0042] The Fourier transform is a fundamental tool in many signal processing methods and has wide applications. As an example, by performing a two-dimensional Fourier transform on the two-dimensional data of an image, features can be extracted from the image.
[0043] Typically, when processing data using Fourier transform in a computer, a discrete Fourier transform is required. Specifically, for the two-dimensional Fourier transform, the discrete two-dimensional Fourier transform can be defined by the following formula (1):
[0044]
[0045] Here, A(x,y) represents the input two-dimensional data, i.e., the two-dimensional data to be subjected to a two-dimensional Fourier transform. x and y are the indices of the input two-dimensional data in two directions (including direction 1 and direction 2) in the two-dimensional plane. x takes the value of an integer between [1, M], and y takes the value of an integer between [1, N]. Here, M and N are both integers greater than or equal to 1, and M is the number of x values, and N is the number of y values. It can be seen that the size of the matrix used to represent the input two-dimensional data is M×N. j is the imaginary number.
[0046] B(u,v) represents the output two-dimensional data, which is the two-dimensional data obtained after the input two-dimensional data undergoes a two-dimensional Fourier transform. u and v are the indices in two directions of the two-dimensional plane, with u taking integer values between [1, M] and v taking integer values between [1, N]. It can be seen that the range of values for u and v is the same as the range of values for x and y, and the number of values for u is the same as the number of values for x (M), and the number of values for v is the same as the number of values for y (N). In other words, the matrix used to represent the two-dimensional data after the two-dimensional Fourier transform is M×N in size.
[0047] It can be seen that the size of the matrix used to represent the two-dimensional data does not change before and after the Fourier transform.
[0048] 2) Other terms
[0049] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0050] It should be understood that the terminology used in the description of the various examples described herein is for the purpose of describing the specific examples only and is not intended to be limiting.
[0051] In the embodiments of this application, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0052] It should be understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0053] It should also be understood that the term “comprising” (also referred to as “includes”, “including”, “comprises” and / or “comprising”) as used in this specification specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0054] It should also be understood that the term "if" can be interpreted as meaning "when" or "upon" or "in response to determination" or "in response to detection." Similarly, depending on the context, the phrases "if determination..." or "if detection [the stated condition or event]" can be interpreted as meaning "when determination..." or "in response to determination..." or "when detection [the stated condition or event]" or "in response to detection [the stated condition or event]."
[0055] It should be understood that phrases such as "an embodiment," "an embodiment," and "a possible implementation" throughout the specification mean that a specific feature, structure, or characteristic related to an embodiment or implementation is included in at least one embodiment of this application. Therefore, phrases such as "in an embodiment," "an embodiment," and "a possible implementation" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.
[0056] This application provides an optical computing device that processes multiple input optical signals indicating input data to output multiple output optical signals. The data indicated by the multiple output optical signals is the data obtained by performing a two-dimensional Fourier transform on the input data. In other words, this optical computing device implements a two-dimensional Fourier transform on the input data.
[0057] refer to Figure 1a , Figure 1a A schematic diagram of the structure of an optical computing device provided in an embodiment of this application is shown. Figure 1a As shown, the optical computing device includes a beam splitter phase shifter module and a beam combiner module, which are connected by a waveguide. For a detailed description of the beam splitter phase shifter module and the beam combiner module, please refer to the descriptions of beam splitter phase shifter module 12 and beam combiner module 13 below; they will not be repeated here.
[0058] The aforementioned optical computing device may be an optical chip, or a functional module within an optical chip used to perform a two-dimensional Fourier transform on the input data. This application does not limit this aspect.
[0059] This application also provides a two-dimensional Fourier transform system, which includes the aforementioned optical computing device, preprocessing module, and post-processing module. For simplicity, this application will refer to the "two-dimensional Fourier transform system" as the "transform system" in the following embodiments.
[0060] The preprocessing module is used to process the input data (e.g., two-dimensional data to be transformed) to obtain multiple input optical signals indicating the input data. The postprocessing module is used to process multiple output optical signals output by the optical computing device to obtain the output data after the input data has undergone two-dimensional Fourier transform.
[0061] The following example uses an optical chip as an example of an optical computing device. (Refer to...) Figure 1b , Figure 1b A schematic diagram of a two-Fourier transform system provided in an embodiment of this application is shown.
[0062] like Figure 1b As shown, the conversion system 10 includes a beam splitting and phase shifting module 12 and a beam combining module 13 deployed on an optical chip 11, as well as a preprocessing module 14 and a postprocessing module 15. The structures of the beam splitting and phase shifting module 12, the beam combining module 13, the preprocessing module 14, and the postprocessing module 15 will be described below according to the order in which the various modules in the conversion system 10 perform the steps in implementing the method provided in the embodiments of this application.
[0063] The preprocessing module 14 includes a calculation submodule 141 and an electro-optical conversion submodule 142, and is used to process input data (e.g., two-dimensional data to be transformed) to obtain multiple optical signals indicating the input data. The input data is generally the two-dimensional data to be transformed. It can be understood that one data point in the two-dimensional data to be transformed is one element in the input data.
[0064] Specifically, the calculation submodule 141 can be used to acquire input data that includes multiple elements. For ease of description, the embodiments of this application will be described below using the example that the input data acquired by the calculation submodule 141 includes multiple elements and is a two-dimensional data to be transformed containing m×n data. Here, m and n are both positive integers.
[0065] Optionally, the calculation submodule 141 can expand the acquired two-dimensional data to be transformed, which includes m×n data points, into a set of one-dimensional data points, which includes k data points. Here, k is a positive integer. It can be seen that the matrix corresponding to the two-dimensional data to be transformed contains m×n data points, and m×n=k. For a detailed description of how the calculation submodule 141 expands the two-dimensional data to be transformed into a set of one-dimensional data points including k data points, please refer to the method description below; it will not be repeated here.
[0066] It should be understood that the computing submodule 141 can be any device, apparatus, or module with computing processing capabilities. This application does not limit the specific form of the computing submodule 141.
[0067] As an example, computing submodule 141 may be a general-purpose computer device, a laptop computer, or a tablet computer, or computing submodule 141 may be one or more general-purpose central processing units (CPUs), or one or more other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, graphics processing units (GPUs), neural processing units (NPUs), tensor processing units (TPUs), or artificial intelligence chips, etc.
[0068] The electro-optical conversion submodule 142 can be used to generate k optical signals to indicate the two-dimensional data to be transformed, based on predefined rules and the two-dimensional data to be transformed obtained by the calculation submodule 141, and output the k optical signals to the beam splitting and phase shifting module 12 in the optical chip 11. It should be understood that one of the k optical signals is used to indicate one data point in the two-dimensional data to be transformed.
[0069] It should be understood that different data can be represented by light signals with different light intensities, or different data can be represented by light signals with different light spot shapes. This application does not limit this.
[0070] In this case, the above-mentioned predefined rules may include the correspondence between different light intensities of the optical signal and data, or the above-mentioned predefined rules may include the correspondence between different light spot shapes of the optical signal and data. This application embodiment does not limit this.
[0071] The following explanation uses the predefined rules mentioned above, including the correspondence between different light intensities of optical signals and data, as an example.
[0072] Optionally, the electro-optical conversion submodule 142 can be a light-emitting array. In this way, by controlling the light intensity of each point light source in the light-emitting array according to the correspondence between different light intensities of the light signals and the data in the predefined rules, k light signals corresponding one-to-one with k data points in the two-dimensional data to be transformed can be generated.
[0073] Optionally, the electro-optical conversion submodule 142 can also be an optical modulator. In this way, based on the correspondence between the light intensity of the optical signal and the data in the predefined rules, the intensity of the background light field of the light source is modulated by the optical modulator to obtain k optical signals that correspond one-to-one with the k data points in the two-dimensional data to be transformed. The background light field can be the light field obtained after the laser generated by the laser is split by a beam splitter; this embodiment of the application does not limit this.
[0074] Optionally, the electro-optical conversion submodule 142 can also be used to generate k optical signals to indicate the one-dimensional data (including k data points) obtained by expanding the two-dimensional data to be transformed according to predefined rules and the calculation submodule 141, and output the k optical signals to the beam splitting and phase shifting module 12 in the optical chip 11. One of the k optical signals is used to indicate one data point in the one-dimensional data.
[0075] It is understandable that the k optical signals generated by the electro-optical conversion submodule 142 are a set of one-dimensional optical signals, meaning that the optical axes of these k optical signals are on the same plane. For example, the optical axes of these k optical signals are located within the plane of the optical chip 11.
[0076] The optical chip 11 may consist only of the beam splitter phase shifter module 12 and the beam combiner module 13. Of course, in addition to the beam splitter phase shifter module 12 and the beam combiner module 13, the optical chip 11 may also include component modules for implementing other functional purposes. In this case, the beam splitter phase shifter module 12 and the beam combiner module 13 used to implement the method provided in the embodiments of this application are only one functional unit of the optical chip 11.
[0077] The beam splitter phase shifter module 12, which is deployed on the optical chip 11, includes multiple beam splitters, and the number of these multiple beam splitters is greater than or equal to k.
[0078] It can be seen that the number of beam splitter phase shifters included in the beam splitter phase shifter module 12 is greater than or equal to the number of data included in the two-dimensional data to be transformed as described above. This is because only when the number of beam splitter phase shifters in the beam splitter phase shifter module 12 is greater than or equal to the number of data included in the two-dimensional data to be transformed as described above can the k optical signals corresponding to the one-dimensional data unfolded from the two-dimensional data to be transformed be processed simultaneously.
[0079] For ease of explanation, the embodiments of this application will be described below using the example that the number of beam splitter phase shifters included in the beam splitter phase shifter module 12 is equal to the number of data included in the two-dimensional data to be transformed as described above. Thus, if... Figure 1b As shown, the beam splitter phase shifter module 12 includes m×n (i.e., k) beam splitter phase shifters, which are respectively... Figure 1b The beam splitter phase shifter 1, beam splitter phase shifter 2, ..., and beam splitter phase shifter k are shown.
[0080] Specifically, each of the k beam splitter phase shifters is used to receive an optical signal generated by the electro-optical conversion submodule 142 and process the received optical signal. In this way, the k beam splitter phase shifters are used to receive k optical signals generated by the electro-optical conversion submodule 142 and process the received k optical signals.
[0081] For ease of description, in the embodiments of this application, the k optical signals received by the k beam splitter phase shifters in the beam splitter phase shifter module 12 (i.e., the k optical signals output by the electro-optical conversion submodule 142) are referred to as the k input optical signals. Thus, each of the k beam splitter phase shifters is used to receive one input optical signal. Therefore, the k beam splitter phase shifters are used to receive k input optical signals.
[0082] As an example, see reference Figure 2 , Figure 2 A schematic diagram is shown of k beam splitters in beam splitter module 12 receiving k input optical signals.
[0083] like Figure 2 As shown, the data generated by the electro-optical conversion submodule 142 and used for input... Figure 1bThe k input optical signals of the k beam splitters shown include: input optical signal 1, input optical signal 2, ..., and input optical signal k. Thus, beam splitter 1 can be used to receive input optical signal 1, beam splitter 2 can be used to receive input optical signal 2, ..., and beam splitter k can be used to receive input optical signal k.
[0084] Specifically, each of the aforementioned k beam splitter phase shifters is used to split a received input optical signal into a set of k sub-optical signals, and adjust the phase of each sub-optical signal in the set to obtain a set of k intermediate optical signals. This set of intermediate optical signals includes k intermediate optical signals, and these k intermediate optical signals are optical signals for which the beam splitter has shifted the phase of the k sub-optical signals by different amounts.
[0085] It can be seen that the number of sub-optical signals obtained by the beam splitter phase shifter after splitting a received input optical signal is the same as the number of data included in the two-dimensional data to be transformed as described above.
[0086] Then, each of the k beam splitter phase shifters outputs the set of intermediate optical signals through its output port. In this way, the k beam splitter phase shifters can output k sets of intermediate optical signals based on the input optical signal they each receive.
[0087] It should be noted that each beam splitter phase shifter includes k output ports, and each of these k output ports is used to output an intermediate optical signal. Furthermore, for each of the k beam splitter phase shifters, the port numbers of the k output ports in each beam splitter phase shifter are different, while there are k output ports with the same port number among the k beam splitter phase shifters.
[0088] As an example, see reference Figure 3 , Figure 3 This diagram illustrates the k sets of intermediate optical signals output after k beam splitters and phase shifters process k input optical signals.
[0089] like Figure 3 As shown, the beam splitter phase shifter 1 is used to split and phase-shift the input optical signal 1 received from the electro-optical conversion submodule 142, and outputs a first set of intermediate optical signals including k intermediate optical signals through k ports.
[0090] Similarly, the beam splitter phase shifter 2 is used to split and phase-shift the input optical signal 2 received from the electro-optical conversion submodule 142, and outputs a second set of intermediate optical signals including k intermediate optical signals through k ports.
[0091] Similarly, the beam splitter phase shifter k is used to split and phase-shift the input optical signal k received from the electro-optical conversion submodule 142, and outputs the kth group of intermediate optical signals, which includes k intermediate optical signals, through k ports.
[0092] In one possible implementation, each of the k beam splitter phase shifters includes a beam splitter and k phase shifters. Each beam splitter phase shifter, through its respective beam splitter and k phase shifters, can achieve the function of obtaining a set of intermediate optical signals based on an input optical signal.
[0093] For any one of the k beam splitters and the k phase shifters:
[0094] The beam splitter includes one input port and k output ports. Each of the k phase shifters includes one input port and one output port. Thus, the k output ports of the beam splitter can be connected to the k input ports of the k phase shifters via waveguide coupling. There is a one-to-one correspondence between the k output ports of the beam splitter and the k input ports of the k phase shifters. It should be understood that the output port of a phase shifter is the output port of the beam splitter phase shifter to which that phase shifter belongs, used for outputting the intermediate optical signal.
[0095] Here, the waveguide is a structure deployed on the optical chip 11 for transmitting optical signals. This application embodiment does not specifically limit the material, cross-sectional shape, or fabrication method of the waveguide on the optical chip 11. The waveguide can be fabricated on the optical chip 11 using techniques such as etching, laser direct writing, ultraviolet curing, or ion implantation; this application embodiment does not limit these techniques.
[0096] Specifically, for any of the beam splitters in the above-mentioned beam splitter phase shifter, the beam splitter is used to receive an input optical signal from the electro-optical conversion submodule 142 and to split the received input optical signal into a group of sub-optical signals including k sub-optical signals.
[0097] Optionally, a beam splitter can be used to split an input optical signal received from the electro-optical conversion submodule 142 into k sub-optical signals on average.
[0098] Optionally, the beam splitter can also be used to split an input optical signal received from the electro-optical conversion submodule 142 into k sub-optical signals according to any rule. This embodiment of the application does not specifically limit the arbitrary rule.
[0099] For any of the aforementioned beam splitter phase shifters, the k phase shifters coupled to the beam splitter are used to adjust the phase of each sub-optical signal in a set of sub-optical signals obtained by the beam splitter, so as to obtain a set of intermediate optical signals including k intermediate optical signals. Then, the k phase shifters output the set of intermediate optical signals through k output ports.
[0100] It can be understood that the set of intermediate optical signals obtained by the k phase shifters, including the k intermediate optical signals, is the set of intermediate optical signals obtained by any one of the beam splitter phase shifters (i.e., the beam splitter to which the k phase shifters belong). Thus, the set of intermediate optical signals is output by the k phase shifters through the k output ports, which means that the set of intermediate optical signals is output by any one of the beam splitter phase shifters through the k output ports.
[0101] The phase shift adjusted by each of the k phase shifters when adjusting the phase of the sub-optical signal can satisfy the following formula (2):
[0102] ψ(x,y,u,v)=exp(i·2π(ux / m+uy / n)); Formula (2)
[0103] Where ψ represents the phase offset; the combination of x and y represents the number of the beam splitter phase shifter, and the numbers of the k beam splitter phase shifters correspond to the position numbers of multiple data points in the two-dimensional data to be transformed. The combination of u and v represents the port number of the output port of the beam splitter phase shifter. The values of x and u are integers between [1, m], and the values of y and v are integers between [1, n], where m and n are both positive integers greater than 1, and i is an imaginary number.
[0104] It can be seen that each beam splitter phase shifter includes an output port with port number (u, v). Therefore, k beam splitter phase shifters will include k output ports with port number (u, v).
[0105] As an example, any of the above-mentioned beam splitter phase shifters is Figure 1b or Figure 2 Taking the beam splitter phase shifter 1 shown as an example, refer to Figure 4 , Figure 4 A schematic diagram of the processing flow of the received input optical signal 1 by the beam splitter phase shifter 1 is shown.
[0106] like Figure 4 As shown, the beam splitter phase shifter 1 includes a beam splitter 11 and k phase shifters, including phase shifter 21, phase shifter 22, ..., and phase shifter 2k. The input port of phase shifter 21 is coupled to the output port 1 of beam splitter 11, the input port of phase shifter 22 is coupled to the output port 2 of beam splitter 11, ..., and the input port of phase shifter 2k is coupled to the output port k of beam splitter 11.
[0107] Thus, after receiving the input optical signal 1, the beam splitter 11 can split the input optical signal 1 into a group of k sub-optical signals, which include k sub-optical signals. Figure 4 The sub-optical signals are shown as 1, 2, ..., and k. Then, the beam splitter 11 can output sub-optical signal 1 to the phase shifter 21 through output port 1, output sub-optical signal 2, ... to the phase shifter 22 through output port 2, and output sub-optical signal k to the phase shifter 2k through output port k.
[0108] Next, phase shifter 21 receives sub-optical signal 1 and adjusts its phase to obtain a phase-shifted intermediate optical signal 1. Similarly, phase shifter 22 receives sub-optical signal 2 and adjusts its phase to obtain a phase-shifted intermediate optical signal 2, ..., and phase shifter 2k receives sub-optical signal k and adjusts its phase to obtain a phase-shifted intermediate optical signal k. It should be understood that intermediate optical signal 1, intermediate optical signal 2, ..., and intermediate optical signal k are a set of intermediate optical signals obtained by beam splitter phase shifter 1 based on input optical signal 1.
[0109] Optionally, the beamsplitter in any of the aforementioned beam splitter phase shifters may include any one of the following structures deployed on the optical chip 11: an optical waveguide bifurcation structure, a grating structure, or a directional coupler structure. That is, the function implemented by the beamsplitter in this embodiment can be achieved through any one of the following structures deployed on the optical chip 11: an optical waveguide bifurcation structure, a grating structure, or a directional coupler structure. This embodiment does not limit the implementation of this method. As an example, the optical waveguide bifurcation structure may be a Y-bifurcation device-like optical waveguide bifurcation structure. The grating structure may be a Damman grating structure.
[0110] Optionally, each of the k phase shifters in any of the aforementioned beam splitter phase shifters includes a waveguide, and these k phase shifters include k waveguides with different property parameters. That is, the k phase shifters can achieve their function through k waveguides with different property parameters. The waveguide property can be any one of the following: waveguide length, waveguide refractive index, or waveguide temperature. The k waveguides with different property parameters can be k waveguides with different lengths, waveguides with different refractive indices, waveguides with different temperatures, and so on.
[0111] In this way, the function implemented by the k phase shifters in the embodiments of this application can be achieved by deploying k waveguides with different lengths on the optical chip 11, or by deploying k waveguides with different refractive indices on the optical chip 11, or by deploying k waveguides with different temperatures on the optical chip 11. The embodiments of this application do not limit this.
[0112] It should be understood that k waveguides of different lengths can adjust the phase of the optical signal transmitted through the k waveguides by k different phase offsets. That is, the length of the waveguide and the phase offset of the optical signal transmitted through the waveguide at the input waveguide and the output waveguide are related. Therefore, for the beam splitter phase shifter numbered (x, y), the embodiments of this application can first determine the k phase offsets that the k phase shifters in the beam splitter need to adjust the phase of the received sub-optical signal based on the above formula (2). Then, according to the correspondence between the determined k phase offsets and the waveguide length, k waveguides for realizing the function of the k phase shifters can be fabricated in the optical chip 11.
[0113] It should also be understood that k waveguides with different refractive indices can adjust the phase of the optical signal transmitted through the k waveguides by k different phase offsets. That is, there is a corresponding relationship between the refractive index of the waveguide and the phase offset of the optical signal transmitted through the waveguide at the input and output waveguides. Therefore, for the beam splitter phase shifter numbered (x, y), the embodiments of this application can first determine the k phase offsets that the k phase shifters in the beam splitter need to adjust the phase of the sub-optical signal based on the above formula (2). Then, according to the correspondence between the determined k phase offsets and the refractive index of the waveguide, k waveguides for realizing the function of the k phase shifters can be fabricated in the optical chip 11.
[0114] Optionally, in the embodiments of this application, waveguides with different refractive indices can be prepared by doping the waveguide during the preparation process, which will not be elaborated here.
[0115] It should also be understood that k waveguides with different temperatures can adjust the phase of the optical signal transmitted through those k waveguides by k different phase offsets. That is, there is a corresponding relationship between the temperature of the waveguide and the phase offset of the optical signal transmitted through the waveguide at the input and output waveguides. Therefore, for the beam splitter phase shifter numbered (x, y), the embodiments of this application can first determine the k phase offsets that the k phase shifters in the beam splitter need to adjust the phase of the sub-optical signal based on the above formula (2). Then, according to the correspondence between the determined k phase offsets and the waveguide temperature, k waveguides for realizing the function of the k phase shifters can be fabricated in the optical chip 11.
[0116] Optionally, embodiments of this application can achieve global or local temperature control of the waveguide by employing a phase-shifting region design commonly used in Mach-Zehnder interferometers (MZI) or micro-ring modulators. Alternatively, embodiments of this application can achieve temperature control of the waveguide surface through electronic regulation. For example, embodiments of this application can achieve temperature control of the area of the waveguide surface covered with charge carriers by injecting charge carriers into all or part of the waveguide surface and regulating the current of the charge carriers. Of course, this is not the only possible approach.
[0117] In another possible implementation, each of the k beam splitters includes a diffraction structure, so that for any given beam splitter, the function of obtaining a set of intermediate optical signals based on an input optical signal can be achieved through the diffraction structure in that given beam splitter.
[0118] Optionally, the diffraction structure can be pre-etched onto the optical chip 11 using an etching process. Here, the structural parameters of the diffraction structure may include at least one of the following parameters: the location, shape, depth, or diameter of the hole in the optical chip 11.
[0119] Optionally, the structural parameters of the diffraction structure can be obtained through iterative training using a simulation system. Specifically, the structural parameters of the diffraction structure can be obtained by performing reverse iterative training on the structural parameters of the initial structure using a simulation system. Here, the structural parameters of the initial structure can be obtained by the designer based on preliminary design experience.
[0120] Specifically, in this embodiment, an objective function describing the function performed by any one beam splitter can be constructed in advance based on the number of beams the input optical signal to be split into and the phase offset of each sub-optical signal obtained after splitting. The number of beams the input optical signal to be split into is equal to the number of data elements included in the two-dimensional data to be transformed, as described above; that is, the number of beams the input optical signal to be split into is k. Furthermore, the phase offset of each sub-optical signal obtained after splitting can be calculated based on the above formula (2), which will not be elaborated here.
[0121] In this way, any computing device with computational capabilities can perform reverse iterative training on the structural parameters of the initial structure through a simulation system, based on a pre-built objective function of any beam splitter phase shifter, thereby obtaining the target structural parameters of the target structure. It should be understood that this target structure is the aforementioned diffraction structure, and these target parameters are the structural parameters of the aforementioned diffraction structure.
[0122] In this application, the simulation system is not specifically limited. It should be understood that any simulation system capable of simulating the processing of input optical signals by the hardware structure on the optical chip 11 through software simulation should be within the protection scope of this application.
[0123] For example, the process by which a computing device obtains the target structural parameters of a target structure by performing reverse iterative training on the structural parameters of an initial structure through a simulation system based on a pre-built objective function of any beam splitter phase shifter can be achieved through the following steps:
[0124] Step 1: The computing device sets the hardware structure on the chip in the simulation system with the structural parameters of the initial structure.
[0125] Step 2: The computing device inputs a preset optical signal into the hardware structure through the simulation system and outputs the processing result of the hardware structure on the preset optical signal.
[0126] It should be understood that the preset optical signal is the input optical signal from the k optical signals generated by the electro-optical conversion submodule 142 above, which is input to any one of the beam splitter phase shifters.
[0127] Step 3: The computing device determines the degree of difference between the above processing results and the objective function.
[0128] Step 4: When the difference determined by the computing device is greater than the preset threshold, the computing device adjusts the structural parameters of the current hardware structure based on the difference and sets the hardware structure on the chip with the adjusted structural parameters in the simulation system.
[0129] Then, the computing device can repeat steps 2-4 until the difference determined by the computing device is less than a preset threshold. It is understood that this application embodiment does not specifically limit the specific value of the preset threshold, nor does it specifically limit the case where the difference determined by the computing device is equal to the preset threshold.
[0130] It should be understood that when the computing device executes steps 2-4 for the first time, the current hardware structure described in step 4 is the same as the initial structure described above. The structural parameters of the current hardware structure described in step 4 are the same as the structural parameters of the initial structure described above.
[0131] It should also be understood that when the degree of difference determined by the computing device is less than a preset threshold for the first time, the computing device can determine the currently set hardware structure in the simulation system as the target structure, and determine the structural parameters used to set this hardware structure on the chip as the target structure parameters. It can be understood that the processing result obtained after the preset optical signal is processed by this target structure is the processing result used by the computing device to determine the degree of difference that is less than the preset threshold.
[0132] Thus, in this embodiment of the application, the target structure (i.e., the diffraction structure described above) can be obtained by etching on the optical chip 11 through processes such as etching based on the target structure parameters determined by the computing device.
[0133] The beam combining module 13 includes a connection structure and k beam combiners.
[0134] The connection structure in the beam combining module 13 is used to transmit the k intermediate optical signals output from the output ports with the same port number of the k beam splitters in the beam splitter phase shifter module 12 to the same beam combiner among the k beam combiners. In this way, the same beam combiner can combine the k intermediate optical signals into a single output optical signal and output the single output optical signal.
[0135] As described above, the port numbers of the k output ports of a beam splitter are all different. Therefore, for the k intermediate optical signals output by the k output ports with the same port number from the k beam splitters, each of these k intermediate optical signals includes one intermediate optical signal from each of the k groups of intermediate optical signals output by the k beam splitters. In other words, the output optical signal of the beam combiner includes one intermediate optical signal from each of the k groups of intermediate optical signals output by the k beam splitters.
[0136] In this way, the k beam combiners can output k output optical signals, and the optical axes of the k output optical signals are located in the same plane, for example, the optical axes of the k output optical signals are located in the plane of optical chip 11. Here, the data indicated by the k output optical signals is the target two-dimensional data after the two-dimensional data to be transformed has undergone a two-dimensional Fourier transform.
[0137] In one possible implementation, the aforementioned connection structure can be achieved using a waveguide network deployed on the plane of the optical chip 11. It can be seen that this waveguide network is a two-dimensional planar waveguide network. The intersections of multiple waveguides in this waveguide network can be connected by couplers, which are used to prevent crosstalk between optical signals transmitted in the intersecting waveguides. For example, the coupler can be a crossing device.
[0138] As an example, see reference Figure 5 , Figure 5 A schematic diagram of a waveguide network is shown. (For example...) Figure 5 As shown, the waveguide network 50 includes multiple waveguides (such as...) deployed in the plane of the optical chip 11. Figure 5 (Multiple waveguides are shown by solid and dashed lines). The intersections of the multiple waveguides are connected by, for example,... Figure 5 The coupler connection is shown in the middle circle. In this way, the optical signals transmitted in the multiple waveguides connected by the coupler will not interfere with each other.
[0139] In another possible implementation, the aforementioned connection structure can be achieved through a three-dimensional waveguide connection structure deployed on the optical chip 11. The three-dimensional waveguide connection structure on the optical chip 11 can be fabricated using techniques such as laser direct writing, 3D printing, or UV curing. This application does not impose specific limitations on the techniques used to fabricate the three-dimensional waveguide connection structure.
[0140] It should be understood that when the above-mentioned connection structure is a three-dimensional waveguide connection structure, the intersection of multiple waveguides in a single plane can be avoided. In this case, no crossing device is needed between multiple waveguides, thus eliminating the need for the design and fabrication of crossing devices. This possible implementation simplifies the process of fabricating the connection structure in the beam combining module 13 on the optical chip 11.
[0141] Optionally, any one of the k beam combiners in the beam combining module 13 described above can include any one of the following structures: a directional coupler structure, a multi-mode interferometer (MMI) beam combining structure, a tapered transition waveguide beam combining structure, or a Y-type beam combining structure. That is, the function implemented by any beam combiner in this embodiment can be achieved through any one of the following structures: a directional coupler structure, an MMI beam combining structure, a tapered transition waveguide beam combining structure, or a Y-type beam combining structure; this embodiment does not limit the specific type of beam combiner.
[0142] The post-processing module 15 may include a photoelectric detection submodule 151 and a calculation submodule 152.
[0143] The photoelectric detection submodule 151 is used to receive k output optical signals from the beam combining module 13 and output the detection results of the k output optical signals in the form of electrical signals. The detection results of the optical signals can be light intensity or the shape of the light spot, which is not limited in this embodiment.
[0144] It should be understood that the photodetector submodule 151 can realize its function through a photodetector array. This photodetector array contains at least k photodetector units. One photodetector unit is used to receive one of the k output optical signals, and the k photodetector units are used to simultaneously receive the k output optical signals output by the beam combining module. As an example, the photodetector submodule 151 can be a charge-coupled device (CCD) including at least k pixel units.
[0145] The calculation submodule 152 is used to determine the k data points indicated by the aforementioned k output optical signals based on predefined rules and the detection results output by the photoelectric detection submodule 151. The predefined rules are those described above and will not be repeated here.
[0146] Furthermore, the calculation submodule 152 converts the k data points determined above into target two-dimensional data, which is the data obtained after the two-dimensional Fourier transform of the data to be transformed. For a detailed explanation of how the calculation submodule 152 converts the k data points determined above into target two-dimensional data, please refer to the description in the method section below; it will not be repeated here.
[0147] It can be understood that the calculation submodule 152 in the post-processing module 15 and the calculation submodule 141 in the pre-processing module 14 can be the same calculation submodule or different calculation submodules. This application embodiment does not limit this.
[0148] It is also understandable that when the calculation submodule 152 in the post-processing module 15 and the calculation submodule 141 in the pre-processing module 14 are not the same calculation submodule, the hardware structure of the calculation submodule 152 can be referred to the relevant description of the calculation submodule 141 above, and will not be repeated here.
[0149] It should be noted that in the conversion system 10, the one-dimensional optical signal generated by the electro-optical conversion submodule 142, which includes k input optical signals, can be directly received and processed by the beam splitting phase shifting module 12. Of course, the one-dimensional optical signal generated by the electro-optical conversion submodule 142, which includes k input optical signals, can also be processed by an optical path structure with other functional uses before being received and processed by the beam splitting phase shifting module 12. This embodiment of the application does not impose any limitations on this.
[0150] Furthermore, the one-dimensional optical signal output by the beam combining module 13 in the conversion system 10, which includes k output optical signals, can be directly received and processed by the photodetector submodule 151. Of course, the one-dimensional optical signal output by the beam combining module 13, which includes k output optical signals, can also be processed by an optical path structure with other functional uses before being received and processed by the photodetector submodule 151. This embodiment of the application does not impose any limitations on this.
[0151] The optical path structure with other functions can be an optical path structure on the optical chip 11 or an optical path structure independent of the optical chip 11. This application embodiment does not limit this.
[0152] For example, in combination Figure 1b ,refer to Figure 6 , Figure 6 Another schematic diagram of the transformation system 10 is shown.
[0153] like Figure 7As shown, the optical chip 11 in the conversion system 10 also includes an optical path structure 60. The optical path structure 60 receives a one-dimensional optical signal generated by the electro-optical conversion submodule 142, which includes k input optical signals, and processes the one-dimensional optical signal. Then, the optical path structure 60 outputs the processed one-dimensional optical signal to the beam splitting and phase shifting module 12, so that the beam splitting and phase shifting module 12 can perform beam splitting and phase shifting processing on the one-dimensional optical signal processed by the optical path structure 60.
[0154] Another example is the combination of Figure 1b ,refer to Figure 7 , Figure 7 This shows another structural schematic diagram of the transformation system 10.
[0155] like Figure 7 As shown, the optical chip 11 in the conversion system 10 also includes an optical path structure 70. The optical path structure 70 is used to receive the one-dimensional optical signal output by the beam combining module 13, which includes k output optical signals, and to process the one-dimensional optical signal. Then, the optical path structure 70 outputs the processed one-dimensional optical signal to the photodetector submodule 151, so that the photodetector submodule 151 can perform corresponding processing on the one-dimensional optical signal processed by the optical path structure 70.
[0156] In some embodiments, this application also provides an optical chip, for example... Figure 1b The optical chip shown will not be described in detail.
[0157] The method provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0158] refer to Figure 8 , Figure 8 This illustration shows a flowchart of an optical computing method provided in an embodiment of this application. This method can be applied to… Figure 1b In the transformation system 10 shown, for simplicity, this embodiment uses input data including multiple elements, specifically two-dimensional data to be transformed comprising m×n data points, as an example. The method may include the following steps:
[0159] S101, the preprocessing module 14 acquires the two-dimensional data to be transformed, which includes m×n data points, and generates k input optical signals to indicate the two-dimensional data to be transformed. Wherein, m×n=k.
[0160] The preprocessing module 14 can acquire, either in advance or in real time, the two-dimensional data to be transformed, which includes m×n data points.
[0161] Optionally, the two-dimensional data to be transformed can be two-dimensional data of an image or two-dimensional data of image frames in a video; this application embodiment does not limit this. The image or video can be an image or video from a local image library, or an image or video downloaded from the network, or an image or video received through social media, or an image or video captured in real time; this application embodiment does not limit this.
[0162] In one example, the preprocessing module 14 can obtain the two-dimensional data of the image to be processed from the local image library and use the two-dimensional data of the image to be processed as the two-dimensional data to be transformed. Alternatively, the preprocessing module 14 can obtain the two-dimensional data of the image frames in the video to be processed from the local image library and use the two-dimensional data of the image frames as the two-dimensional data to be transformed.
[0163] In another example, the preprocessing module 14 can download the image to be processed from the network and use the two-dimensional data of the image to be processed as the two-dimensional data to be transformed. Alternatively, the preprocessing module 14 can download the video to be processed from the network and use the two-dimensional data of the image frames in the video to be processed as the two-dimensional data to be transformed.
[0164] In another example, the preprocessing module 14 can receive the image to be processed via social media and use the two-dimensional data of the image to be processed as the two-dimensional data to be transformed. Alternatively, the preprocessing module 14 can receive the video to be processed via social media and use the two-dimensional data of the image frames in the video to be processed as the two-dimensional data to be transformed.
[0165] In another example, the preprocessing module 14 can use the two-dimensional data of an image captured in real time by the local device as the two-dimensional data to be transformed. Alternatively, the preprocessing module 14 can use the two-dimensional data of image frames from a video captured in real time by the local device as the two-dimensional data to be transformed.
[0166] For ease of description, in this embodiment, one of the data points in the two-dimensional data to be transformed, which includes m×n data points, is represented as D(x, y). Here, x and y are the indexes of the two-dimensional data to be transformed in two directions in the two-dimensional plane, that is, the combination of x and y can represent the position number of the data D(x, y) in the two-dimensional data to be transformed. The value of x is an integer between [1, m], and the value of y is an integer between [1, n].
[0167] As an example, when the two-dimensional data to be transformed is represented as a matrix, the two-dimensional data to be transformed, which includes m×n data, can be represented as matrix (1):
[0168]
[0169] It can be seen that D(x, y) can be a data in matrix (1) with position number (x, y).
[0170] Optionally, after acquiring the two-dimensional data to be transformed, the preprocessing module 14 can expand the two-dimensional data into a set of one-dimensional data including k data points according to the first preset rule. Then, the preprocessing module 14 can generate k optical signals corresponding one-to-one with the k data points through the electro-optical conversion submodule 142 according to the predefined rule described above. These k optical signals are the k input optical signals mentioned above. It should be understood that these k input optical signals are a set of one-dimensional optical signals used to indicate the two-dimensional data to be transformed.
[0171] For a detailed description of how the electro-optical conversion submodule 142 generates k optical signals, please refer to the relevant description of the electro-optical conversion submodule 142 above, which will not be repeated here.
[0172] The first preset rule mentioned above can be either a row priority rule or a column priority rule, and this application embodiment does not limit it.
[0173] In one possible implementation, when the first preset rule is a row priority rule, the preprocessing module 14 can expand the two-dimensional data to be transformed, which includes m×n data, into a set of one-dimensional data by row.
[0174] Specifically, the preprocessing module 14 can arrange the n rows of data in the two-dimensional data to be transformed sequentially to obtain a first data queue composed of the n rows of data. This first data queue is a set of one-dimensional data obtained by expanding the two-dimensional data to be transformed row by row.
[0175] As described above, in a two-dimensional dataset containing m×n data points, each row contains m data points. Therefore, the first data queue, composed of n rows of data from the two-dimensional dataset to be transformed, contains m×n data points. In other words, after the two-dimensional dataset containing m×n data points is expanded row by row to obtain a set of one-dimensional data, it contains k data points.
[0176] For example, for the two-dimensional data to be transformed represented by matrix (1), the first data queue consisting of n rows of data in the two-dimensional data to be transformed is:
[0177] D(1,1),…,D(m,1),…,D(1,n),…,D(m,n);
[0178] Here, the first data queue is a set of one-dimensional data containing k data points obtained by expanding the two-dimensional data to be transformed by matrix (1) row by row.
[0179] In another possible implementation, when the first preset rule is the column priority rule, the preprocessing module 14 can expand the two-dimensional data to be transformed, which includes m×n data, into a set of one-dimensional data by columns.
[0180] Specifically, the preprocessing module 14 can arrange the m columns of data in the two-dimensional data to be transformed sequentially to obtain a second data queue composed of the m columns of data. This second data queue is a set of one-dimensional data obtained by expanding the two-dimensional data to be transformed column by column.
[0181] As described above, in a two-dimensional dataset containing m×n data points, each column contains n data points. Therefore, the second data queue, composed of the m columns of the two-dimensional dataset, contains m×n data points. In other words, the one-dimensional dataset obtained after expanding the m×n data points column-wise contains k data points.
[0182] For example, for the two-dimensional data to be transformed represented by matrix (1), the second data queue consisting of m columns of data in the two-dimensional data to be transformed is:
[0183] D(1,1),…,D(1,n),…,D(m,1),…,D(m,n);
[0184] Here, the second data queue is a set of one-dimensional data containing k data points obtained by expanding the two-dimensional data to be transformed represented by matrix (1) column by column.
[0185] It should be understood that the preprocessing module 14 can obtain the two-dimensional data to be transformed, which includes m×n data points, through the calculation submodule 141 in the preprocessing module 14, and expand the obtained two-dimensional data to be transformed by row or column to obtain a set of one-dimensional data including k data points. For a detailed description of the calculation submodule 141, please refer to the description of the calculation submodule 141 above, which will not be repeated here.
[0186] For simplicity, taking the two-dimensional data to be transformed as an example of expanding it row by row, if the set of one-dimensional data obtained after expanding the two-dimensional data to be transformed row by row is: D(1,1), ..., D(m,1), ..., D(1,n), ..., D(m,n), then in the embodiments of this application, the k input optical signals used to indicate the k data in the set of one-dimensional data will be represented as: A(1,1), ..., A(m,1), ..., A(1,n), ..., A(m,n).
[0187] As can be seen, A(x, y) is one of the k input optical signals, which can be used to indicate a data D(x, y), where x is an integer between [1, m] and y is an integer between [1, n].
[0188] S102, the beam splitter phase shifter module 12 receives k input optical signals and outputs k sets of intermediate optical signals according to the received k input optical signals.
[0189] For a detailed description of the beam splitter phase shifter module 12 outputting k sets of intermediate optical signals based on the received k input optical signals, please refer to the relevant description of the beam splitter phase shifter module 12 above, which will not be repeated here.
[0190] As can be seen from the above, the k beam splitter phase shifters in the beam splitter phase shifter module 12 are used to receive k input optical signals, and one beam splitter phase shifter is used to receive one input optical signal. Therefore, when the k input optical signals are represented as: A(1,1), ..., A(m,1), ..., A(1,n), ..., A(m,n), the k beam splitter phase shifters used to receive and process the k input optical signals can be represented as: M(1,1), ..., M(m,1), ..., M(1,n), ..., M(m,n).
[0191] It can be seen that M(x, y) is one of the k beam splitters, and (x, y) is the number of the beam splitter. The value of x is an integer between [1, m] and the value of y is an integer between [1, n].
[0192] For simplicity, the embodiments of this application will be described below using a beam splitter phase shifter M(x, y) for receiving and processing the input optical signal A(x, y) as an example. For example, a beam splitter phase shifter M(1, 1) can be used to process the input optical signal A(1, 1). As another example, a beam splitter phase shifter M(m, n) can be used to process the input optical signal A(m, n). And so on, without further details.
[0193] As described above, for an input optical signal A(x, y), the beam splitter phase shifter M(x, y) splits the input optical signal A(x, y) into a group of optical signals including k sub-optical signals, and then adjusts the phase of each sub-optical signal in the group of optical signals to obtain a group of intermediate optical signals.
[0194] In this context, the beam splitter M(x,y) splits the input optical signal A(x,y) into a set of k sub-optical signals. Each sub-optical signal can be represented as... Right now It should be understood that the process by which the beam splitter M(x,y) splits the input optical signal A(x,y) into k sub-optical signals is mathematically equivalent to expanding the data D(x,y) corresponding to the input optical signal A(x,y) into k data points. The optical signal corresponding to each of these k data points can be... This means, or, the optical signal corresponding to each of the k data points can be transmitted through... express.
[0195] When the beam splitter M(x,y) adjusts the phase of the k sub-optical signals obtained after splitting the input optical signal A(x,y), the phase offset ψ of the adjustment satisfies the above formula (2), which will not be repeated here.
[0196] Thus, for the beam splitter phase shifter M(x,y) used to receive and process the input optical signal A(x,y), after the beam splitter M(x,y) splits the received input optical signal A(x,y) and adjusts the phase of each sub-optical signal obtained after beam splitting, the resulting k intermediate optical signals can be represented as:
[0197]
[0198] S103, the beam combining module 13 combines the k intermediate optical signals output from the output ports with the same port number in the beam splitting phase shifting module 12 into one output optical signal to obtain k output optical signals.
[0199] Specifically, the beam combining module 102 combines the k intermediate optical signals output from the output ports with the same port number in the beam splitting phase shifting module 12 into one output optical signal to obtain k output optical signals. For details on this, please refer to the description of the beam combining module 102 above, which will not be repeated here.
[0200] For simplicity, in this embodiment, the output optical signal obtained by combining the k intermediate optical signals output from the k output ports (u, v) of the beam splitting phase shifting module 12 is represented as B(u, v). Thus, the k output optical signals obtained after executing S103 in this embodiment can be represented as: B(1, 1), ..., B(m, 1), ..., B(1, n), ..., B(m, n). Here, u takes the value of an integer between [1, m], and v takes the value of an integer between [1, n]. It can be seen that B(u, v) is one of the k output optical signals.
[0201] It should be understood that combining the intermediate optical signals output from the output ports with the same port number in the beam splitter phase shifter module 12 is equivalent to summing the data indicated by the intermediate optical signals output from the output ports with the same port number in the beam splitter phase shifter module 12. Therefore, according to the definition of two-dimensional Fourier transform (as shown in formula (1)), the two-dimensional data indicated by the output optical signal obtained after combining the intermediate optical signals output from the output ports with the same port number in the beam splitter phase shifter module 12 is the two-dimensional data after the two-dimensional data to be transformed has undergone Fourier transform.
[0202] S104, the post-processing module 15 receives k output optical signals, determines the k data indicated by the k output optical signals, and converts the k data into target two-dimensional data.
[0203] The target two-dimensional data is the data after the two-dimensional data to be transformed has undergone Fourier transform. Since the size of the matrix does not change before and after the Fourier transform of the two-dimensional data, the target two-dimensional data includes m×n data.
[0204] Specifically, the post-processing module 15 receives k output optical signals and determines the k data indicated by the k output optical signals. For a detailed description, please refer to the relevant description of the post-processing module 15 above, which will not be repeated here.
[0205] As an example, for the k output optical signals output by S103: B(1,1), ..., B(m,1), ..., B(1,n), ..., B(m,n), the k data determined by the post-processing module 15 based on the k output optical signals can be represented as: J(1,1), ..., J(m,1), ..., J(1,n), ..., J(m,n).
[0206] Optionally, the post-processing module 15 can then use the calculation submodule 152 to convert the set of one-dimensional data consisting of the aforementioned k data points into target two-dimensional data according to the second preset rule. The second preset rule is the inverse of the first preset rule.
[0207] In one possible implementation, if the first preset rule is to expand the two-dimensional data to be transformed, which includes m×n data, into a set of one-dimensional data row by row, then the second preset rule is to convert the one-dimensional data consisting of k data determined based on k output optical signals into target two-dimensional data including m×n data row by row.
[0208] Specifically, for one-dimensional data consisting of k data points determined by k output optical signals, the post-processing module 15 can divide the one-dimensional data into n data segments, each containing m data points. Then, the post-processing module 15 can sequentially use these n data segments as n rows of the target two-dimensional data according to their order within the one-dimensional data.
[0209] Alternatively, it can be simply understood that the post-processing module 15 can take the first m data from the one-dimensional data composed of k data determined based on k output optical signals as the first row of data in the target two-dimensional data, then take the m data connected to the first m data as the second row of data in the target two-dimensional data, ..., and take the last m data from the k data determined based on k output optical signals as the last row (i.e. the nth row) of the target two-dimensional data.
[0210] As an example, for the one-dimensional data consisting of k data determined by the post-processing module 15 based on k output optical signals: J(1,1), ..., J(m,1), ..., J(1,n), ..., J(m,n), the post-processing module 15 can use the first m data [J(1,1), ..., J(m,1)] of the k data as the first row of the target data, ..., and the last m data [J(1,n), ..., J(m,n)] of the k data as the last row (i.e., the nth row) of the target two-dimensional data. Therefore, the target two-dimensional data can be represented as the following matrix (2):
[0211]
[0212] In another possible implementation, if the first preset rule is to expand the two-dimensional data to be transformed, which includes m×n data, into a set of one-dimensional data column by column, then the second preset rule is to convert the one-dimensional data composed of k data determined based on k output optical signals into target two-dimensional data including m×n data column by column.
[0213] Specifically, for one-dimensional data consisting of k data points determined by k output optical signals, the post-processing module 15 can divide the one-dimensional data into m data segments, each containing n data points. Then, the post-processing module 15 can sequentially use these m data segments as m columns of the target two-dimensional data according to their order within the one-dimensional data.
[0214] Alternatively, it can be simply understood that the post-processing module 15 can take the first n data points from the one-dimensional data composed of k data points determined based on k output optical signals as the first column of data in the target two-dimensional data, then take the n data points connected to the first n data points as the second column of data in the target two-dimensional data, ..., and take the last n data points from the k data points determined based on k output optical signals as the last column (i.e. the m-th column) of data in the target two-dimensional data.
[0215] As an example, taking k as 6, m as 3, and n as 2, if the one-dimensional data formed by the six data determined by the post-processing module 15 based on the six output optical signals is: [J(1,1), J(1,2), J(2,1), J(2,2), J(3,1), J(3,2)], then the post-processing module 15 can use the first two data [J(1,1), J(1,2)] of the six data as the first column of the target data, the two data connected to the first two data [J(2,1), J(2,2)] as the second column of the target data, and the last two data [J(3,1), J(3,2)] of the k data as the last column (i.e., the third column) of the target two-dimensional data. Therefore, the target two-dimensional data can be represented as the following matrix (3):
[0216]
[0217] Thus, by executing the methods described in S101-S104 above, the two-dimensional Fourier transform of two-dimensional data can be achieved in this embodiment of the application. Since both the beam-splitting phase-shifting module and the beam-combining module implementing this method are hardware structures deployed on an optical chip, the method provided in this embodiment fills the gap in implementing two-dimensional Fourier transform through on-chip structures. Furthermore, since the beam-splitting phase-shifting module and the beam-combining module are optical-in-optical-out structures, the method provided in this embodiment improves the efficiency of the Fourier transform.
[0218] To better understand the methods provided in the embodiments of this application, the following specific examples illustrate the methods provided in the embodiments of this application:
[0219] refer to Figure 9 , Figure 9 A schematic diagram of an optical computing method provided in an embodiment of this application is shown. Taking a 2×2 two-dimensional data to be transformed as an example, that is, the values of m and n are both 2, so the value of k is 4. Thus, the two-dimensional data to be transformed can be represented as the following matrix (4):
[0220]
[0221] The calculation submodule 141 in the preprocessing module 14 can expand the two-dimensional data to be transformed, which includes 4 data points, into a set of one-dimensional data including 4 data points according to the first preset rule (e.g., expand by row): [D(1,1), D(2,1), D(1,2), D(2,2)].
[0222] Then, the electro-optical conversion submodule 142 in the preprocessing module 14 generates four input optical signals: A(1,1), A(2,1), A(1,2), and A(2,2) according to the predefined rules described above and the one-dimensional data including four data points: [D(1,1), D(2,1), D(1,2), D(2,2)]. The input optical signal A(1,1) can be used to indicate data D(1,1), the input optical signal A(2,1) can be used to indicate data D(2,1), the input optical signal A(1,2) can be used to indicate data D(1,21), and the input optical signal A(2,2) can be used to indicate data D(2,2).
[0223] Next, each of the four beam-splitting phase-shifting devices in the beam-splitting phase-shifting module 12 receives an input optical signal. For example... Figure 9 As shown, beam splitter phase shifter 1 receives input optical signal A(1,1), beam splitter phase shifter 2 receives input optical signal A(2,1), beam splitter phase shifter 3 receives input optical signal A(1,2), and beam splitter phase shifter 4 receives input optical signal A(2,2).
[0224] Among them, after the beam splitting and phase shifting device 1 performs beam splitting and phase shifting processing on the input optical signal A(1,1), it can output intermediate optical signal 11 through the output port with port number (1,1), intermediate optical signal 12 through the output port with port number (2,1), intermediate optical signal 13 through the output port with port number (1,2), and intermediate optical signal 14 through the output port with port number (2,2).
[0225] After the beam splitter and phase shifter 2 performs beam splitting and phase shifting processing on the input optical signal A(2,1), it can output intermediate optical signal 21 through the output port with port number (1,1), intermediate optical signal 22 through the output port with port number (2,1), intermediate optical signal 23 through the output port with port number (1,2), and intermediate optical signal 24 through the output port with port number (2,2).
[0226] After the beam splitter and phase shifter 3 performs beam splitting and phase shifting processing on the input optical signal A(1,2), it can output intermediate optical signal 31 through the output port with port number (1,1), intermediate optical signal 32 through the output port with port number (2,1), intermediate optical signal 33 through the output port with port number (1,2), and intermediate optical signal 34 through the output port with port number (2,2).
[0227] After the beam splitter and phase shifter 4 splits and shifts the input optical signal A(2,2), it can output intermediate optical signal 41 through the output port with port number (1,1), intermediate optical signal 42 through the output port with port number (2,1), intermediate optical signal 43 through the output port with port number (1,2), and intermediate optical signal 44 through the output port with port number (2,2).
[0228] Then, the beam combining module 13 can combine the intermediate optical signals output from the output ports with the same port number of the four beam splitters in the beam splitting phase shifting module 12 into a single output optical signal and output it.
[0229] like Figure 9 As shown, the beam combining module 13 can combine the four intermediate optical signals output from the output ports of the four beam splitters (port number (1, 1)) into an output optical signal 1 and output it. The four intermediate optical signals include: intermediate optical signal 11 output from beam splitter 1, intermediate optical signal 21 output from beam splitter 2, intermediate optical signal 31 output from beam splitter 3, and intermediate optical signal 41 output from beam splitter 4.
[0230] Similarly, the beam combining module 13 can combine the four intermediate optical signals output from the output ports of the four beam splitters (port number 2, 1) into an output optical signal 2 and output it. These four intermediate optical signals include: intermediate optical signal 12 output from beam splitter 1, intermediate optical signal 22 output from beam splitter 2, intermediate optical signal 32 output from beam splitter 3, and intermediate optical signal 42 output from beam splitter 4.
[0231] Similarly, the beam combining module 13 can combine the four intermediate optical signals output from the output ports (1, 2) of the four beam splitters into an output optical signal 3 and output it. These four intermediate optical signals include: intermediate optical signal 13 output from beam splitter 1, intermediate optical signal 23 output from beam splitter 2, intermediate optical signal 33 output from beam splitter 3, and intermediate optical signal 43 output from beam splitter 4.
[0232] Similarly, the beam combining module 13 can combine the four intermediate optical signals output from the output ports of the four beam splitters (port number 2, 2) into an output optical signal 4 and output it. These four intermediate optical signals include: intermediate optical signal 14 output from beam splitter 1, intermediate optical signal 24 output from beam splitter 2, intermediate optical signal 34 output from beam splitter 3, and intermediate optical signal 44 output from beam splitter 4.
[0233] Next, the post-processing module 15 can determine the four data points indicated by the four output optical signals received from the beam combining module 13. These four data points can constitute a set of one-dimensional data. For example, the one-dimensional data can be: [J(1,1), J(2,1), J(1,2), J(2,2)].
[0234] Then, the post-processing module 15 can convert (e.g., row-wise conversion) the set of one-dimensional data consisting of the above four data into target two-dimensional data according to the second preset rule. That is, the post-processing module 15 can use the first two data of the four data as the first row of the target two-dimensional data, and the last two data of the four data as the second row (i.e., the last row) of the target two-dimensional data. Therefore, the target two-dimensional data can be represented as the following matrix (5):
[0235]
[0236] It can be understood that the target two-dimensional data represented by matrix (5) is the two-dimensional data obtained by performing a two-dimensional Fourier transform on the two-dimensional data to be transformed represented by matrix (4) above through the method provided in the embodiments of this application.
[0237] In summary, the optical computing apparatus and method for performing two-dimensional Fourier transform on two-dimensional data provided in the embodiments of this application can realize the two-dimensional Fourier transform of two-dimensional data using an on-chip structure. That is, the apparatus and method provided in the embodiments of this application fill the gap in realizing the two-dimensional Fourier transform of data through an on-chip structure. Furthermore, the optical computing apparatus for performing the two-dimensional Fourier transform provided in the embodiments of this application has a light-in, light-out structure; therefore, the apparatus and method provided in the embodiments of this application improve the efficiency of the two-dimensional Fourier transform of data.
[0238] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. An optical computing device, comprising: include: A beam-splitting phase-shifting module is configured to receive multiple input optical signals used to indicate input data, and output multiple sets of intermediate optical signals based on the multiple input optical signals; each input optical signal is used to obtain one set of intermediate optical signals from the multiple sets of intermediate optical signals, the input data includes multiple elements, and one of the multiple input optical signals is used to indicate one element of the input data; wherein, the beam-splitting phase-shifting module includes multiple beam-splitting phase shifters, each of the multiple beam-splitting phase shifters is used to receive one input optical signal, and output one set of intermediate optical signals from the multiple sets of intermediate optical signals based on the received input optical signal; each beam-splitting phase shifter includes multiple output ports, and each output port is used to output one intermediate optical signal; A beam combining module is used to receive the multiple sets of intermediate optical signals from the multiple beam splitter phase shifters, and combine the intermediate optical signals output from the output ports of the multiple beam splitter phase shifters with the same port number into a single output optical signal, thereby obtaining the multiple output optical signals; wherein the output data indicated by the multiple output optical signals is the data after performing a two-dimensional Fourier transform on the input data.
2. The optical computing device according to claim 1, characterized in that, The input data includes two-dimensional data.
3. The optical computing device according to claim 1, characterized in that, Each beam splitter phase shifter is specifically used to receive an input optical signal, split the received input optical signal into a group of sub-optical signals, and adjust the phase of each sub-optical signal in the group of sub-optical signals to obtain the group of intermediate optical signals.
4. The optical computing device according to any one of claims 1 to 3, characterized in that, Each beam splitter phase shifter includes: A beam splitter is used to split the received input optical signal into a set of sub-optical signals; Multiple phase shifters are used to adjust the phase of each sub-optical signal in the set of sub-optical signals to obtain the set of intermediate optical signals.
5. The optical computing device according to claim 4, characterized in that, The phase shift of each of the plurality of phase shifters when adjusting the phase of the sub-optical signal satisfies the formula: ; Wherein, ψ represents the phase offset; the combination of x and y is used to represent the number of the beam splitter phase shifter, and the number of the multiple beam splitter phase shifters corresponds to the position number of multiple elements in the two-dimensional data; the combination of u and v is used to represent the port number of the output port of the beam splitter phase shifter, and each beam splitter phase shifter includes multiple output ports; the values of x and u are integers between [1, m], the values of y and v are integers between [1, n], m and n are both positive integers greater than 1, and i is an imaginary number.
6. The optical computing device according to claim 4, characterized in that, The beam splitter includes any one of the following structures: optical waveguide bifurcation structure, grating structure, or directional coupler structure.
7. The optical computing device according to claim 5 or 6, characterized in that, Each of the plurality of phase shifters includes a waveguide.
8. The optical computing device according to claim 5 or 6, characterized in that, Each beam splitter phase shifter includes a diffraction structure, the structural parameters of which are obtained through iterative training using a simulation system.
9. The optical computing device according to any one of claims 1 to 3, characterized in that, The beam combining module includes a three-dimensional waveguide connection structure or a waveguide network on a two-dimensional plane, wherein the intersections of the waveguides in the waveguide network are connected by couplers.
10. A method for optical computing, characterized in that, include: Receives a plurality of input optical signals for indicating input data; the input data includes a plurality of elements, and one of the plurality of input optical signals is used to indicate one of the elements in the input data; Based on each of the plurality of input optical signals, one set of intermediate optical signals is output from the plurality of intermediate optical signals; wherein, each input optical signal is used to obtain one set of intermediate optical signals from the plurality of intermediate optical signals; Intermediate optical signals output from output ports with the same port number are bundled into a single output optical signal to obtain the plurality of output optical signals; wherein, each of the plurality of output optical signals includes one intermediate optical signal from each of the plurality of intermediate optical signals, and the output data indicated by the plurality of output optical signals is the data after performing a two-dimensional Fourier transform on the input data.
11. The method according to claim 10, characterized in that, The input data includes two-dimensional data.
12. The method according to claim 11, characterized in that, The step of outputting one set of intermediate optical signals from the plurality of intermediate optical signals based on each of the plurality of input optical signals includes: Each received input optical signal is split into a group of sub-optical signals; The phase of each sub-optical signal in the set of sub-optical signals is adjusted to obtain the set of intermediate optical signals.
13. The method according to claim 12, characterized in that, The phase offset when adjusting the phase of each sub-optical signal in the set of sub-optical signals satisfies: ; Wherein, ψ represents the phase offset; the combination of x and y is used to represent the element number in the two-dimensional data; the combination of u and v is used to represent the port number of the output port used to output the intermediate optical signal; x and u are integers between [1, m], y and v are integers between [1, n], m and n are both positive integers greater than 1, and i is an imaginary number.
Citation Information
Patent Citations
Single-pixel holographic camera
CN105467806A
Fourier transform spectrometer
CN110702230A
Optical computing device, optical computing method and computing system
CN112783260A
Silicon-based waveguide light splitting chip and spectral analysis system
CN112857570A