Field-programmable optical component
09753224 ยท 2017-09-05
Assignee
Inventors
Cpc classification
G02B6/2935
PHYSICS
International classification
Abstract
Methods are known for implementing general optical functions using wave splitters. However, these methods rely on these wave splitters having maximal extinction ratio, which is difficult to achieve in practice. The present invention provides methods for automatically adjusting wave splitters to provide maximal extinction ratio.
Claims
1. A method for adjusting an interferometer to have maximum extinction ratio, the method comprising: providing an interferometer comprising a first wave splitter having an input I1-1 and having outputs O1-1 and O1-2, a phase adjuster, and a second wave splitter having inputs I2-1 and I2-2 and having outputs O2-1 and O2-2; wherein O1-1 is connected to I2-1 and O1-2 is connected to I2-2, wherein the phase adjuster provides a relative phase between these two connections; wherein the first wave splitter has an adjustable first split error E1=R1, wherein R1 is a power transmittance from I1-1 to O1-1; wherein the second wave splitter has an adjustable second split error E2=R2, wherein R2 is a power transmittance from I2-1 to O2-1; wherein the interferometer has a bar state where is selected to maximize transmission from I1-1 to O2-1 relative to transmission from I1-1 to O2-2; wherein the interferometer has a cross state where is selected to maximize transmission from I1-1 to O2-2 relative to transmission from I1-1 to O2-1; performing an automatic adjustment that includes an alternating sequence of the following steps: i) adjusting E1 and E2 to optimize cross state performance, wherein changes to E1 and E2 are linked such that their values change by substantially equal amounts; ii) adjusting E1 and E2 to optimize bar state performance, wherein changes to E1 and E2 are linked such that their values change by substantially equal and opposite amounts.
2. Optical apparatus comprising: an interferometer comprising a first wave splitter having an input I1-1 and having outputs O1-1 and O1-2, a phase adjuster, and a second wave splitter having inputs I2-1 and I2-2 and having outputs O2-1 and O2-2; wherein O1-1 is connected to I2-1 and O1-2 is connected to I2-2, wherein the phase adjuster provides a relative phase between these two connections; wherein the first wave splitter has an adjustable first split error E1=R1, wherein R1 is a power transmittance from I1-1 to O1-1; wherein the second wave splitter has an adjustable second split error E2=R2, wherein R2 is a power transmittance from I2-1 to O2-1; wherein the interferometer has a bar state where is selected to maximize transmission from I1-1 to O2-1 relative to transmission from I1-1 to O2-2; wherein the interferometer has a cross state where is selected to maximize transmission from I1-1 to O2-2 relative to transmission from I1-1 to O2-1; wherein the apparatus is configured to perform an automatic adjustment that includes an alternating sequence of the following steps: i) adjusting E1 and E2 to optimize cross state performance, wherein changes to E1 and E2 are linked such that their values change by substantially equal amounts; ii) adjusting E1 and E2 to optimize bar state performance, wherein changes to E1 and E2 are linked such that their values change by substantially equal and opposite amounts.
3. The apparatus of claim 2, wherein the first wave splitter comprises a waveguide Mach-Zehnder interferometer having a fabricated split ratio in a range from 15:85 to 85:15.
4. The apparatus of claim 2, wherein the second wave splitter comprises a waveguide Mach-Zehnder interferometer having a fabricated split ratio in a range from 15:85 to 85:15.
5. The apparatus of claim 2, further comprising a tap detector configured to monitor power emitted from O2-1.
6. The apparatus of claim 2, further comprising a tap detector configured to monitor power emitted from O2-2.
7. The apparatus of claim 2, wherein the apparatus is configured to automatically halt the alternating sequence of the steps (i) and (ii) when a stopping condition is satisfied.
8. The apparatus of claim 7, wherein the stopping condition is reaching a predetermined maximum number of iterations.
9. The apparatus of claim 7, wherein the stopping condition is measure power going below a predetermined minimum power threshold during power minimization.
10. The apparatus of claim 7, wherein the stopping condition is having a change in measured power between two successive iterations be below a predetermined threshold during power maximization.
11. The apparatus of claim 2, wherein the first wave splitter has an input I1-2.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) Advanced optical functions, such as arbitrary spatial mode converters for telecommunications, linear optical quantum computing gates and circuits, and other non-traditional optics, are challenging to design and implement. Recent work has, however, shown that with meshes of perfect Mach-Zehnder interferometers (MZIs) in technologies such as silicon photonics we could automatically design or even adaptively self-configure any spatial linear optical function. Unfortunately, actual wave splitter ratios inside MZIs may differ significantly from the perfect 50:50 split, preventing such large systems from working properly. We provide a new architecture and a novel self-adjustment approach that can automatically compensate for imperfect fabricated split ratios anywhere from 85:15 to 15:85. Hence, one universal field-programmable linear array (FPLA) optical element could be mass-fabricated, with broad process tolerances. Optimum adjustment and the desired linear function could be simply programmed in the field with progressive automated algorithms, without calculations, allowing implementation of a wide range of complex, precise, linear optical functions.
(10) Attempts to make arbitrary unitary optical processors have shown notable successes in waveguide CNOT gates, for example. Accurately setting the required calculated component values is challenging, however, and both performance and any increased functionality are limited by fabrication and calibration precision. Many design, calibration and setup issues for arbitrary finite-dimensional linear networks can be avoided using self-configuring approaches. Such approaches work by training the network using desired optical inputs and outputs together with a succession of simple single-parameter feedback loops that set up components values one by one by minimizing or maximizing power on photodetectors. The photodetectors can be inside the mesh or external to it. This training automatically designs the network without calculations or multiparameter iteration, and allows adaptation to the problem of interest. Any linear network can be made using only fixed 50:50 wave splitters and phase shifters, but all these approaches implicitly assume precise fabricated wave splitter ratios for perfect operation. Here we show how to relax even that requirement.
(11)
(12)
(13) These MZI blocks include phase shifter 202 of angle to control the split ratio of the MZI and phase shifter 204 of angle to control an additional phase. On
(14) We presume we have some physical way of adjusting the split ratios of wave splitters BSL and BSR (both up and down) after initial fabrication. This could be some trimming of the wave splitters themselves; alternatively, we could use the Double Mach-Zehnder Interferometer (DMZI) configuration of
(15)
(16) Now we construct an algorithm, based only on minimizing or maximizing power in detectors DB or DR, that allows us to set BSL and BSR to 50:50 wave splitting ratios, without calibrating any component.
(17) Defining the reflectivity differences compared to 50%, R.sub.L=R.sub.L and R.sub.R=R.sub.R, then, for unit input power in a coherent beam into the top port T, the power emerging from the right R port is
P.sub.R=+2{R.sub.LR.sub.R[(R.sub.L.sup.2)(R.sub.R.sup.2)].sup.1/2 cos }(1)
here includes all the phase differences between the two paths inside the interferometer, and we presume the positive square root. For simplicity, we presume that changing R.sub.L (or R.sub.R) does not change the relative phase of the resulting beams in the interferometer arms (though we can handle such phase changes as described below).
(18) Note in Eq. (1), independent of R.sub.L and R.sub.R, that the power in detector or monitoring point DR is minimized for the same choice of phase here a choice such that cos =1 (e.g., =0)giving
P.sub.Rmin=+2{R.sub.LR.sub.R[(R.sub.L.sup.2)(R.sub.R.sup.2)].sup.1/2}(2)
Such a choice also maximizes the power at output B, with P.sub.Bmax=1P.sub.Rmin. The power at output R is maximized by choosing a phase such that cos =1 (e.g., 0=), giving
P.sub.Rmax=+2{R.sub.LR.sub.R+[(R.sub.L.sup.2)(R.sub.R.sup.2)].sup.1/2}(3)
The condition for maximum power in output R also corresponds to minimum power P.sub.Bmin in output B.
(19) The function 1P.sub.Rmax=P.sub.Bmin (which is easier to visualize than P.sub.Rmax) is graphed in
(20) The extinction ratio for the bar and cross states can be written as P.sub.Rmax/P.sub.Bmin, and P.sub.Bmax/P.sub.Rmin, respectively. Note that for the interferometer to allow both extinction ratios to approach the perfect condition of being arbitrarily large we require R.sub.L=R.sub.R=0i.e., 50:50 wave splitters, which corresponds to the point in the center of
(21) These lines and the convex properties of the functions P.sub.Rmax(R.sub.L, R.sub.R) and P.sub.Rmin(R.sub.L, R.sub.R) allow an algorithm, based only on minimizing and maximizing powers at DR, that sets both R.sub.L, and R.sub.R to zero, thereby making both wave splitters have a 50:50 split ratio.
(22) This Wave splitter 50:50 setup algorithm (WFSA) proceeds as follows. We shine a constant power only into the top T port throughout the algorithm.
(23) (1) Set the phase shift to minimize the power at DR.
(24) (2) Adjust R.sub.L and R.sub.R together, in the same sense (ideally by equal amounts) to minimize the power at DR.
(25) (3) Set the phase shift to maximize the power at DR.
(26) (4) Adjust R.sub.L and R.sub.R together, but in the opposite sense (ideally by equal but opposite amounts) to maximize the power at DR.
(27) Repeat steps (1) to (4) if necessary until the minimum power in step (2) is zero (or as small as can be attained) and the maximum power in step (4) is 1 (or as large as can be attained).
(28) (We could also run this algorithm using detector DB, minimizing power (P.sub.Bmin) at DB in steps (3) and (4), and/or maximizing power (P.sub.Bmax) at DB in steps (1) and (2).)
(29) We can see why this works by looking at
(30) For the DMZI implementation, as long as we keep .sub.L and .sub.R both within a range, such as to , so that both cos .sub.L and cos .sub.R are both monotonic in the same sense throughout, we would make same-sense adjustments of .sub.L and .sub.R to change R.sub.L and R.sub.R in the same sense for step (2) and make opposite sense adjustments of .sub.L and .sub.R to change R.sub.L and R.sub.R in the opposite sense for step (4).
(31) So far we have presumed that we can adjust the left and right wave splitters BSL and BSR to be 50:50 splitters; in the DMZI implementation, we are presuming some values of .sub.L and .sub.R allow us to achieve this. We can use our analysis of a MZI above to understand just what range of fabricated wave splitter ratios we can tolerate while still allowing the resulting MZIs to function as 50:50 wave splitters after appropriate adjustment. Specifically, we can re-use the result Eq. (2) above, applying it now to the MZI that constitutes either BSL or BSR in
(32) Our goal is to be able to set BSL to be overall a 50:50 wave splitter by adjusting (i.e., .sub.L). So we want P.sub.B to be , and hence from Eq. (1)
R.sub.LR.sub.R=[(R.sub.L.sup.2)(R.sub.R.sup.2)].sup.1/2 cos (4)
Squaring both sides and noting that cos.sup.2 1 gives
R.sub.L.sup.2R.sub.R.sup.2[(R.sub.L.sup.2)(R.sub.R.sup.2)](5)
which can be rearranged to give
R.sub.L.sup.2+R.sub.R.sup.2(6)
Therefore to impose a limit on the variation R that can be tolerated in all fabricated wave splitters, we need R.sup.2, which in turn means
(33)
So, as long as the fabricated power split ratio in the physical wave splitters lies in the range of 15% to 85%, there is some setting of the phase shifter in the MZI that allows the MZI overall to behave as a 50:50 wave splitter.
(34) Hence, even with fabricated wave splitter ratios anywhere from 15:85 to 85:15, we can make an overall MZI block that behaves as if it had perfect 50:50 wave splitters, and we have shown a simple algorithm based only on power maximization or minimization that allows us to set this condition. Finally, we can add a further progressive Mesh 50:50 setup algorithm (MFSA) (as described below) that allows us to set all the blocks in the mesh using this approach. Versions of this algorithm can run using detectors either embedded in each block or only externally at the outputs.
(35) After running MFSA, we are then ready to configure the resulting perfect mesh for its ultimate function using the Self-configuring linear component algorithm (SLCA) training approach of U.S. Ser. No. 14/092,565 by the present inventor, filed on Nov. 27, 2013. Such an FPLA element can perform various functions. Unitary examples include a three-way splitter, a C-NOT gate, a Hadamard transform, a Fourier transform, and the equivalent of a lens. Non-unitary examples include spatial differentiation and integration, and power splitters.
(36) Alternate Mach-Zehnder Block Configurations
(37) In the implementations of Mach-Zehnder interferometers (MZIs), in general two phase shifters are required somewhere so that both the split ratio and the phase of at least the Right output can be controlled. For the automatic algorithms, as long as both of these degrees of freedom exist, various configurations are possible for the MZI blocks. Additional possible configurations are shown in
(38) The configuration of
(39) These different configurations differ functionally in that they can give rise to different phase shifts of the beam in the Bottom output port. For the automatic alignment algorithms, it is of no consequence whether the phase of that Bottom output is changed or not. That Bottom output is fed into the next Channel row of the linear network, and that next row is configured later in the algorithms; that next row can configure itself to take any phase of inputs to the Top of its MZIs from the Bottom of the preceding row. Though the automatic algorithm does not care about which implementation of the MZI blocks is used, of course the calculated values of the settings of the phase shifters will be different for different MZI block configurations.
(40)
(41) No Relative Phase Change Condition
(42) In the description above, we presumed for simplicity a no relative phase change condition in our analysis, by which we mean that, if we shine a beam in the top port T in
(43) Algorithm for Setting the Wave Splitter Ratios in the Mesh of MZI Blocks
(44) Before introducing the various algorithms formally, we can introduce the algorithm for setting up all the MZI blocks in a unitary mesh as in
(45) i) Shine power into WI1 only.
(46) i1) Run WFSA for B11. After completing WFSA, arrange that some power emerges from the lower (bottom) port of B11 (e.g., by adjusting if necessary).
(47) i2) Run WFSA for B21, similarly leaving some power emerging from its bottom port.
(48) i3) Run WFSA for B31 (if neededthis block need only be a phase shifter)
(49) ii) Shine power into WI2 only.
(50) iii) Run WFSA for B12, leaving some power emerging from its bottom port.
(51) ii2) Run WFSA for B22 (if neededthis block need only be a phase shifter)
(52) iii) Shine power into WI3 only.
(53) iii1) Run WFSA for B13 (if neededthis block need only be a phase shifter)
(54) This MFSA algorithm therefore allows us to set all the (effective) wave splitters in all the MZI blocks to be 50:50.
(55) Thus far, we have described how to set up the (effective) wave splitters using detectors at one or both outputs of each MZI block. We can also run a slightly amended version of the MFSA algorithm without detectors inside the mesh (i.e., inside each MZI block); specifically, we can set up the wave splitter ratios in the entire mesh using only detectors D1-D3, external to the mesh, on the outputs WC1-WC3 respectively, effectively using them instead of the DR detectors inside the blocks. (Again, these need only sample a small amount of the power emerging from these waveguides.) We do this basically by working progressively first through all the MZI blocks on a given input row. A key point is that, after setting up the 50:50 ratios in all the MZI blocks in a row (e.g., B11-B31) in this way we add an algorithm, working backwards up through the row to set all those MZI blocks to the bar stateequivalent to perfect reflection from top to right and from left to bottom; effectively, this makes any such bar state MZI block appear as if it were not there at all. The details of this algorithm are given below.
(56) By this additional process of setting all the MZI blocks to the bar state, we leave the mesh in the starting state required for training the mesh for its ultimate function using only the external detectors D1-D3 to run the Self-configuring linear component algorithm (SLCA) for the final training of the mesh. If we are using the mostly transparent detectors DB within the mesh, it is not necessary to set the MZI blocks to the bar state before training. Indeed, one major advantage of having the (mostly-transparent) DB detectors in the blocks is that we can be continually retraining the mesh if necessary as the problem changes, without having to reset all the blocks to the bar state before any such retraining, allowing a more incremental retraining to proceed all the time, as in tracking moving physical sources, for example.
(57) General Formal Versions of the Alignment Algorithms
(58) We presume there are M.sub.C channel rows and M.sub.I input rows; these numbers need not be equal in general for such processors (though
(59) For these algorithms, we use the terminology as in
(60) Several of these algorithms run over all the blocks B(m, n) in the mesh. For simplicity in stating the algorithms, such algorithms can be written to run over n=1 to M.sub.I and m=1 to M.sub.C. Because we only actually have a triangle of blocks at most in a given unitary mesh (see, e.g.,
(61) There are two versions of many of these algorithms depending on whether (i) we embed mostly-transparent detectors or power sampling points inside the mesh or (ii) we use only detectors or power sampling points D(1)-D(M.sub.C) at the channel outputs WC(1)-WC(M.sub.C). We presume the elements are all loss-less. If we use the additional dummy blocks as discussed at the end of this section, loss in the MZI blocks does not affect the algorithms or the final function of the mesh as long as the loss in all blocks is the same and constant; the output is then simply multiplied by a constant corresponding to the loss in M.sub.I successive blocks.
(62) The algorithms are given in pseudo-code here, with a syntax that is self-evident and similar to BASIC. Non-executable commenting statements are given in italics, starting with Comment:.
(63) These algorithms are only representative and are meant to indicate that there is at least one reasonable way of implementing all of these configurations and adjustments. There are variations possible, some of which are mentioned here, and alternative approaches that could also be taken.
(64) Algorithm 1Wave Splitter 50:50 Setup Algorithm (WFSA)
(65) For a given block B(m, n)
(66) Set StoppingCondition to False
(67) While StoppingCondition is False
(68) Comment: if the StoppingCondition variable has the value True, this statement will exit the loop without executing further statements Set the phase shift to minimize the power at DR (if present) or at D(m) or to maximize the power at DB (if present) Adjust R.sub.L and R.sub.R together in the same sense (ideally by equal amounts) (e.g., by adjusting .sub.L and .sub.R together in the same sense by approximately equal amounts) to minimize the power at DR (if present) or at D(m) or to maximize the power at DB (if present) Set the phase shift to maximize the power at DR (if present) or at D(m) or to minimize the power at DB (if present) Adjust R.sub.L and R.sub.R together but in the opposite sense (ideally by equal but opposite amounts) (e.g., by adjusting .sub.L and .sub.R together in the opposite sense by approximately equal amounts) to maximize the power at DR (if present) or at D(m) or to minimize the power at DB (if present) If the appropriate stopping condition is met, set StoppingCondition to True. Comment: There are various different stopping conditions that could be set here. If using power minimization, we can test for the power at DB being below a chosen threshold. If using power maximization, at DR or D(m), we can test to see how close we are to the previous measured maximized value to see if we are below some chosen threshold of difference. Or, we can simply run the loop a specified number of times that we presume is enough for convergence, setting the StoppingCondition to True after a loop counter reaches that number
Loop Comment: loop back to the While statement
Algorithm 2Mesh 50:50 Setup Algorithm (MFSA)
Version with Embedded Detectors DR and/or DB in Each Block
For n=1 to M.sub.I Shine power into WI(n) only For m=1 to M.sub.In+1 Comment: it may not be necessary to run this for m=M.sub.C since that block may just be a phase shifter If block B(m, n) exists, run WFSA for B(m, n) using DR and/or DB to detect minimum and maximum powers as required Arrange that some (possibly all) power emerges from the lower (bottom) port of B(m, n) by adjusting bin block B(m, n) so some (possibly all) power is detected in DB in that block or so DR power is reduced at least somewhat from its maximum (possibly to zero). Comment: this puts the block in a partial or complete cross state. This gives some power into the top port of the block in the next channel row (next m) so we will be able to run WFSA on it next. Next m Comment: this next part of the algorithm works back up through the line of blocks for a given n to set them all to the bar state. This is optional, since it is not required just to set up the 50:50 splits, but it is a more desirable and well-defined final state of the mesh for subsequent programming. For m=M.sub.In+1 to 1 step1 Comment: it may not be necessary to run this for m=M.sub.In+1 since that block may just be a phase shifter If block B(m, n) exists, adjust bin block B(m, n) so DB power is minimized or DR power is maximized Next m
Next n
Version without Embedded Detectors
For n=1 to M.sub.I Shine power into WI(n) only For m=1 to M.sub.C Comment: it may not be necessary to run this for m=M.sub.In+1 since that block may just be a phase shifter If block B(m, n) exists, run WFSA for B(m, n) using D(n) to detect minimum and maximum powers as required Arrange that some (possibly all) power emerges from the lower (bottom) port of B(m, n) by adjusting in block B(m, n) so D(n) power is reduced at least somewhat from its maximum (possibly to zero) Comment: this puts the block in a partial or complete cross state. This gives some power into the top port of the block in the next channel row (next m) so we will be able to run WFSA on it next. Next m Comment: this next part of the algorithm works back up through the line of blocks to set them all to the bar state. Though this part of the corresponding algorithm above (for the case with embedded detectors) was optional, here it is needed so that input row of blocks we have just set now appears as if it is essentially not there as we set up the blocks in the next input row. For m=M.sub.In+1 to 1 step1 Comment: it may not be necessary to run this for m=M.sub.In+1 since that block may just be a phase shifter If block B(m, n) exists, adjust in block B(m, n) so D(mn+1) power is maximized Next m
Next n
This version has both set up all the (effective) wave splitters in the MZIs to 50:50 and set all the MZI blocks are in their bar states (i.e., the mesh is implementing an identity matrix).
Algorithm 3Cross-State Setup Algorithm (CSSA)
(69) This auxiliary algorithm can be used to set up all the blocks (except the lowest row of blocks, which are operating only as phase shifters and hence are always intended to be in their bar state if they even contain MZIs) in their cross state, where top is transmitted completely to bottom and left is transmitted completely to right in each block. This algorithm should be run only after setting all the internal (effective) wave splitters in the blocks to 50:50, i.e., after running Algorithm 2 (MFSA). The blocks can otherwise be in any internal state, i.e., with any starting values of and in each block.
(70) For n=1 to M.sub.I1
(71) Comment: the upper limit of n=M.sub.I1 is sufficient since the only block with n=MI is in the lowest row, and we do not want to set any of the blocks in the lowest row to the cross state since they are only operating as phase shifters.
(72) Shine power into WI(n) only For m=1 to M.sub.In Comment: this choice of upper limit is so we do not attempt to put the lowest row of blocks (which may anyway just be phase shifters) into the cross state If block B(m, n) exists Adjust in B(m, n) to maximize power in DB (if present) or maximize power in any of D(1)-D(M.sub.C) in which power is present except for D(m) Comment: Because we do not yet know the state of any blocks of larger m values, we have to consider that power from the bottom port of block B(m, n) could in some cases be routed to any of these other outputs. D(m) is the detector in which power will be present if power is coming out of the right port of block B(m, n) (which is power we are trying to minimize rather than maximize) so we do not want to maximize with respect to any power in D(m); note that this power is routed there because all of the blocks with smaller values of n have already been set to the cross state. End if Next m
Next n
We could also construct a version of this algorithm based on minimizing power in DR or in D(m).
Algorithm 4Bar-State Setup Algorithm (BSSA)
(73) This auxiliary algorithm can be used to set up all the blocks (including the lowest row of blocks, which are operating only as phase shifters and hence are always intended to be in their bar state if they even contain MZIs) in their bar state, where top is transmitted completely to right and left is transmitted completely to bottom in each block. This algorithm should be run only after setting all the internal (effective) wave splitters in the blocks to 50:50, i.e., after running Algorithm 2 (MFSA). The blocks can otherwise be in any internal state, i.e., with any starting values of and in each block.
(74) Version with Embedded Detectors
(75) For n=1 to M.sub.I Shine power into WI(n) only
(76) For m=1 to M.sub.C If block B(m, n) exists Adjust in block B(m, n) so DB power is minimized or DR power is maximized End if Next m
Next n
Version without Embedded Detectors
Run Algorithm CSSA to set all blocks (except the bottom blocks, which may just be phase shifters) in their cross state.
For n=1 to M.sub.I Shine power into WI(n) only For m=M.sub.In+1 to 1 step1 If block B(m, n) exists Adjust in block B(m, n) so D(m+n1) power is maximized End if Comment: we are working back up each Input row of blocks, from largest m to smallest m in each row, changing them from cross to bar states Next m
Next n
Note that the function of this algorithm is built into the version of Algorithm 2 (MFSA) for the case without embedded detectors, but is only optional in the version with embedded detectors.
Note on Requirements on Phase Shift Elements
(77) All the algorithms presume that we have some way of changing and holding the values of the phases , , .sub.L, and .sub.R that we may adjust for each block while running the algorithms. We could be controlling the phases through heaters or through voltages on phase shift elements, in which case we would need (e.g., electronic) memories to hold the necessary drive voltages so as to retain these phases between algorithm steps and after we are finished with the algorithms. Alternatively, we might be physically trimming phase shifting elements by adding or subtracting material or physically permanently or semi-permanently changing refractive index.
(78) To run the wave splitter 50:50 setup algorithm (WFSA), we have to be able to change by approximately (i.e., 180) multiple times, so it may be particularly useful to make that phase shifter voltage-controlled in some fashion, at least during the initial training phase. Otherwise, if we only want a set-it-and-forget-it device that we configure only once, the phase shifts could be set by physical trimming. If we use forms of the MZIs with phase shifters in both upper and lower arms, we can increase (decrease) , .sub.L, and .sub.R by adding (subtracting) phase delay in the upper arm, and we can decrease (increase) them by adding (subtracting) phase delay in the lower arm; hence we can utilize trimming techniques that can only physically change phase delay in one sense (e.g., by adding material or by removing material). This could be particularly attractive for the .sub.L and .sub.R phase shifts, which we would hope only to have to adjust once to compensate for fabrication tolerances. To adjust , however, we do need to be physically capable of both increasing and decreasing this phase. Also, having both the and phase shifters voltage-controlled allows the overall function of the device to be reprogrammed.
(79) Use of Dummy Blocks to Equalize Loss
(80) The mesh as shown explicitly in
(81) To achieve the equal numbers of blocks per path, we only need to add the dummy blocks that lie horizontally on the rows connected to the actual signal paths (i.e., on the horizontal lines from WI3 to WC3, from WI2 to WC2 and from WI1 to WC1 in
(82) Note now that every pair of beams that interferes at a given block has passed through the same number of blocks. So, if there is equal loss in every block, the pair of beams has experienced the same attenuation. Hence, the settings the alignment algorithm gives to a particular block are the same as if there was no loss in the blocks. This in turn leads to a conservation of the orthogonality properties of the unitary transform even if the blocks are lossy. The resulting mesh of blocks will behave the same as the lossless set of blocks except for multiplication by a factor that corresponds to the loss in passing through one complete path from input to output. Of course, different loss in different blocks does not lead to this kind of behavior. This does mean, however, that losses like waveguide loss and wave splitter loss do not matter to the function of the system, within an overall loss factor, as long as the waveguide loss and wave splitter loss are sufficiently uniform for all waveguides and wave splitters.