HOW TO DEVELOP PHOTONIC PRODUCTS FOR FUN AND PROFIT
By John Hait
Photonic computer hardware will be brought into existence when more computer-generated graphics, (whether they be plotted, printed out, photographically reproduced) are assembled with off-the-shelf laser systems, and sold.
What is a photonic computer? It is a computer made up of photonic transistors. A photonic transistor is essentially a tiny photograph that is able to perform Boolean logic, and photonic signal amplification. In a photonic computer, photographs replace silicon, and laser light replaces electricity.
Computer-generated graphics produced by applying the laws of optics can be used to create synthetic holograms. Transparencies reduced directly from synthetic holograms can control light beams just as natural laws predict. Synthetic holograms calculated to direct light in a photonic transistor configuration can be used as "schematics" to produce real holograms that perform logic and amplification of "digital light beams" to form the equivalent of processors, ROM, RAM, I/O, and so forth.
A great variety of interconnecting holograms will be required in a complete photonic computer, because the exact holograms needed for each operation varies from component to component. Yet, before fully photonic computers reach the market, myriad discreet photonic components, each constructed from a few holograms, will be developed and sold...just as was the case with early electronic products.
Since the holographic components needed to build photonic transistor-based products are produced by software, photonic computers and other devices based on the photonic transistor are essentially massively parallel programmable hardware systems...programmable lightware! This article explains how to produce synthetic holograms, as well as the software related to synthetic hologram production, for fun and profit.
By way of comparison, a '486 running at 66 mhz takes 15 nanoseconds per internal clock cycle, and the latest, hottest, Cray 3 supercomputer uses 2 ns. per cycle. In 2 ns, light travels 60 cm (23 5/8 in.) and in 15 ns, it goes 450 cm (14 ft. 9 in.) One can fit a whole lot of photonic transistors in 60 cm, let alone 14 feet! So, a 486 emulated in light, even using oversized test transistors, would run faster than a Cray 3.
Naturally, it's not expected to be very long before photonic transistor equipment begins to shrink. As the size goes down, speed goes up. Already, 3M is able to put 20,000 lenses in one square centimeter. Photonic transistors that small will easily out pace the theoretical limits of electrons.
Before then, macro-sized devices must be produced and tested. Organizational layouts of photonic transistor arrays have to be designed and optimized. The many details for producing the massively parallel programmable synthetic holograms have to be worked out, for making registers, processors, memories, ALUs, and all of the other structures that make up computers have to be derived. Once these steps are complete, the macro hardware can be scaled down mathematically to produce full speed optical supercomputers.
This development process has the distinct advantage that much of the work can be accomplished using conventional equipment. Synthetic holograms sufficient for producing research and demonstration components can be produced on ordinary computers and printed on VGA or SVGA screens and laser printers. These "printouts" are then photographically reduced to become actual functioning devices. The resulting holograms can be mounted in a unit with an off-the-shelf-laser to make functioning photonic products.
The hologram generating programs, and even the simplest working photonic products will become very valuable to hardware hackers and entrepreneurs involved with photonics. Educational products are needed so that developers will be able to keep abreast of the latest technology. By using the equipment already available, programmable lightware provides a physical means for the production of actual saleable products.
Yet, there is another, very important advantage. The programs which produce the holograms can also be used to test the holographic components. Each potential photonics product can be simulated to see how it will function without having to construct a single actual component. Thus, photonics products can be created and tested without buying a laser or taking even a single photograph.
Why would you be interested in producing synthetic holograms on your own computer? Today, we are on the ground floor of a new and exciting technology. Already long distance telephone companies are investing millions switching from wires to fiber optics...trading their electrons to photons, so to speak. Every experimenter in the world would like to buy the world's fastest components if they were affordable. Computers made out of photographs will be less expensive to build than ones made out of semiconductors. So, photonic computers are expected to outperform and out sell even the best $35 million supercomputers.
There is another very important reason. We are instituting a "Distributed Development and Sales Network," whereby individuals from all over will be given the opportunity to share in the development of all kinds of photonic components, and related software, for sale through our network.
How can that be? Let's compare figures 1a and 1c. A single beam floods the entire area occupied by the fringe when both beams are on (figure 1c). For each photon that lands in the area that corresponds to the CI area of figure 1a, another lands in the area that corresponds to the DI area. Turning on another beam of equal strength (figure 1a) doubles the number of available photons. So now we are looking at four photons. Two headed for the CI area, and two headed for the DI area. The action of interference, though, diverts the photons headed for the DI area into the CI area. Thus, where there was one photon in the CI area with a single beam (figure 1c,) now there are four (figure 1a). This property is an experimentally verifiable is a fact of physics.
If the component parts of the fringe are separated using a mask, or strategically placed holograms, several functions emerge. Separating the fringe component parts creates a differential output between the single beam state (figure 1c), and the double beam state (figure 1a).
In the example above, the single beam has two photons and the double beam has four. Taking the entire combined beam into account, the differential between having one beam on, and having two beams on, is only double the intensity. Adding the mask drastically alters that output differential.
With a fringe component separator that selects only the CI area(s), the single beam output is cut in half (figure 1c), whereas, the double beam output remains the same (figure 1a). If both beams are off (figure 1d), the output is zero. So, the output switches from zero photons to one to four as each beam is turned on. By selecting different parts from the fringe, different computer functions can be produced.
In Boolean terms, the device is an OR gate because it produces an "on" output if either, or both input beams are on. In order to be off, both input beams must be off. The problem is, that without the mask, light levels (in the "on" state) fluctuate from one to two times a single beam intensity, and with the mask, they fluctuate from one to four times the single beam intensity. Fluctuations like that may cause complications in subsequent devices.
In actual beams, there are many photons, and not all of them are precisely located in the center of the CI area. If the hole in the mask is located so as to select photons partially from a CI area and partially from a DI area, a balance can be found where the output intensity when both beams are "on" equals the single beam state. The result is the OR function that can be interconnected directly with other devices.
If the mask separates light from a DI area (figure 1b), an exclusive OR (XOR) device is made. The output differential switches from zero (figure 1d) to one (figure 1c) and back to zero (figure 1b). Since only two functions are needed to produce everything that is done on the motherboard of an electronic computer, every computation can now be done with light.
If we note the process carefully, the actual power, or total amount of light is reduced in the process. That shouldn't surprise us. Put your finger on a '486 and consider how much energy is wasted as heat. Images generally require much less energy than a '486, so we don't need high powered lasers. But, light levels will need to be matched at each stage. So, an amplification function will be needed somewhere along the line in order to be able to interconnect all of the components properly.
However, many light speed functions are able to be accomplished before the on/off contrast reduces to the point where information is lost. For example, consider the address decoding function for a hypothetical photonic RAM. The entire address decoding and information read or write operation is able to take place at the speed of light, even with each stage in the process operating at a diminished power level from the previous stage. Only on the read function, after the RAM has been read, must the data bus be amplified in order to bring it back up the high levels useful to the processor.
We have a precedence for this in electronics. Early computers, and the internal workings of many computer chips, use diode-resister logic for decoding addresses because they take up so little space. The output is then amplified back to TTL levels after the multistage logic has been performed.
While complete processes may be created using a descending power arrangement, amplification will be needed in order to restore the proper contrast ratio. There are light amplifiers available on the market, albeit slow and expensive ones. These could be used...but why, when we have the photonic transistor amplifier?
If the mask separates the CI area (figure 1a), and one beam is kept on all the time, the information on the modulated beams enters the transistor, switching from zero intensity (figure 1c) to one (figure 1a), for a contrast ratio of one. But, it exits switching from one to four, for an intensity differential (contrast ratio) of three. Thus the modulated signal has been amplified by increasing the contrast between off and on.
In a comparison to an electronic amplifier, the beam that remains on, is like the DC current from the battery. Without a power supply, the amplifier quits amplifying. A small modulated input signal switches the transistor on and off. The modulated output signal is larger than the modulated input signal. It is amplified: its "contrast ratio" has been increased. Where did the modulated output signal get the extra energy? Why, from the battery of course.
Likewise in photonics, the constant beam supplies energy to the modulated beam so that the modulated output beam has more energy than the modulated input beam, even though the over-all process is less than 100% efficient. The same is true of an electronic transistor.
Many optical beam combining methods, including some holograms, block out half of the light from the input beams. In these cases, power amplification may be negated, even though the contrast ratio is amplified. The increase in contrast will be sufficient for many applications, but not for others.
Some of the methods for optimizing beam combining optics, so as to minimize light loss, include the use of phase holograms and reflecting holograms such as the ones put on credit cards. These can be used to combine beams so as to cause an actual increase in total light power. As illustrated above, the amplified output beam has four photons for every two photons in the original modulated beam for a power amplification factor of two.
Simple photonic transistor amplification produces a better contrast ratio, but the output level remains on at a low level during the off state. To reduce this constant bias, the ratio of CI area (that passes through the mask) to DI area, (which is blocked by the mask,) is adjusted so as to make the CI area as small as possible, and the DI area as large as possible. Obviously, the beam combining optics must create a matching fringe with a wide DI area and a narrow CI area. That's where holograms come in.
Holograms are especially useful for producing differential photonic amplifiers. A differential amplifier is similar to a simple amplifier except that a fringe is produced by the constant bias beam, having its CI image completely blocked by the mask.
When the second beam comes on, the combined image is calculated so as to relocate the photons into a second image that is located elsewhere on the mask...and that's where we put the hole. From another viewpoint, the constant beam produces a fringe with its CI area blocked by the mask. When the second beam comes on, the CI area of the combined fringe is moved over to the location of the hole.
The result is the output contrast switches from all the way off to many times the level of a single modulated beam. If phase holograms are used, the power in the modulated output beam can be nearly twice the power of the modulated input beam. Cascading many such amplifiers together can then be used to raise both the power and contrast ratio to any needed level.
Light from each square is directed by its hologram to the squares in the next plane. In this way, the logic devices may be both constructed and interconnected. Even data input and output beams can be produced, and laser "power" may be distributed to each of the components as needed. By arranging the various little square holograms so as to cooperate together, complete computer architectures may be constructed.
Holograms also have the ability to produce very complex images that can be selected by individually directing, not plain laser light at the hologram, but by projecting an image onto the succeeding hologram.
In figure 2, the composite of little holograms at each plane can be considered as one big hologram with many subhologram parts. If an image is projected onto a composite hologram, some of the little portions will be lit and some will not. By specially calculating each little hologram in concert with the others, a different image may be produced for each of a number of input images. How would that be useful?
If the input image consisted of a number of beams that represented an address bus, the combined output through an array of mask openings can be the completely decoded address. Thus for each combination of input beams projected onto the beam-combining hologram only one mask hole will be lit. Or if negative logic is used (which has some advantages,) all would be lit except one. If the output of such an address decoding array is directed to an array of photonic transistor flip flops, the device is a RAM. If the output is directed to a viewing screen, the device is a completely photonic, high speed video display! By the way, the right configuration can display in 3-D too.
Are you ready to make some synthetic holograms?
Figure 3 shows a standardized configuration that includes two standard input squares that cooperate together to produce a standard output. Each square may be a hologram, a mask, or a combination. Light from each input square is calculated using the wave nature of light so as to determine what pattern will be projected onto the output square. By doing two calculation sets, one for each input square, three different images can be produced on the same output square. One for when one beam is on by itself, and a second for when the other beam is on by itself. By summing these two calculated outputs, the result from having both beams on at the same time can be produced.
By writing a set of basic interchangeable table-oriented algorithms, several things become possible:
By using standardized, interchangeable, pixel amplitude tables for both input and output, (albeit very large ones,) holograms, masks, and the simulated operation of each can be produced from a single set of table-operating algorithms. The table arrangement permits complex wavefronts and images to be calculated from a standardized data set. Thus, the data output from one transistor can be entered as a light configuration into the next transistor. Complex products can be built up one transistor at a time.
Images calculated from pixel to pixel produce the same mathematical result regardless of which direction the light is traveling. Data output tables can be used as holograms from predetermined images, images from previous holograms, images from images, and masks from image combinations. Masks and holograms can be superimposed upon input images so that each of the possible input states may be simulated.
By summing the instantaneous amplitudes of light that arrives at each pixel from every non-zero input pixel, the combined amount of light at that pixel, for that instant, may be determined. By calculating every ray, from every input pixel to every output pixel, the entire output image may be produced.
The instantaneous amplitude from each ray is proportional to the phase of the light when it arrives at the output pixel. If that instantaneous amplitude is in phase with the input pixel (assuming a positive input amplitude), the output amplitude from that input pixel is positive. If the ray produces an instantaneous amplitude that is out of phase with the input pixel, then its instantaneous amplitude is negative.
If one ray produces a +1 instantaneous intensity, and another produces a +1, the result is +2 (constructive interference). If one produces a +1 and another a -1 the net result is zero (destructive interference). The calculated output for each pixel will be the algebraic sum of all instantaneous amplitudes from all input pixels.
What makes the phase change from one pixel ray to the next? distance. The ray tracing program calculates the 3D distance from each pixel in the input square to each pixel in the output square. The distance is converted to (a number + a fraction) of wavelengths. The wavelength fraction multiplied times the amplitude of the input pixel equals the instantaneous amplitude arriving at that output pixel.
A mask or hologram graphic can be superimposed onto a pixel table by setting all pixels equal to zero that match corresponding black pixels in the graphic.
Next you need to superimpose the graphic onto the original input table. Then you have to recalculate the image to determine if the desired output has been achieved, adjust the pixel setting parameters if needed and perform a loop at this point until the desired output image is created.
Then you need to produce a similar hologram from the B side of the device. Now you can produce a combination image by summing the two previous output tables. At this point, it is a good idea to display and check all states for the production of the desired images. You may need to iterate the process until the optimum images are produced.
You will mask the output table (by zeroing the desired pixels) to produce the final transistor. Now you have to test all three "on" states using the same mask and the three previous output tables to ensure proper operation. In most cases, the result should be an image that is on or off, (resulting in a single output table) rather than a complex set of images for each of the input possibilities. Otherwise things get real complex.
This photonic transistor is complete. Go on to the next device by adjusting the coordinates of the output table to become an input table. Repeat these steps until the product is done.
The actual table sizes, however, are much to large for these exact programs to function with practical working holograms. So use these programs more like flow charts: as teaching aids for understanding the processes involved. Then, use your own skill to produce working programs in what ever language you wish.
Use the distance between the input squares and the output square as the minimum focal length times two, so that the output square size will be the same as the input squares. Note that tables should be calculated with at least 32 bit accuracy.
For a VGA screen, with 640 horizontal pixels, two 320 X 320 pixel squares will display side by side. All calculations will be done in pixel-length units.
The flow chart-like routines shown in Listing 1 give a sense of how photonic transistor synthetic holograms are produced, but this list is by no means exhaustive. The problem is actual programs like this run at a snail's pace because the run time is multiplied by the number of input pixels that are not zero. However, there is a great deal of redundancy that one can capitalize on in order to speed things up.
Standardized squares produce standardized phase calculations. So, working programs will probably use table look-up procedures and precalculated constants that are not in the nested loop. Only the input amplitude at each pixel changes, so oftentimes simple multiplication or addition need be the only math function within the loop.
Once certain types of transistors are produced, it may be easier to adjust the input light configuration to a standard form so that pre-processed data can be reused as much as possible. In fact, the next logical step will be to produce CAD programs that used precalculated standardized units that can be combined into various products.
Additionally, this process is well suited to neural programming, Fourier transforms, and other methods for arriving at the iterated result much faster. The point is, that actual working components can be synthesized within a standardized configuration much faster even though the computational methods may differ.
Obviously, early programs will proceed at turtle speed. Optimizing and automating software will greatly improve that speed. But as soon as the first photonic processors and RAMs are produced, production should take off like a jackrabbit.
Where are the most talented people? How do you find them for a project like this, a process that has never been done before, to produce products that don't even exist yet and when the talent is spread all over the earth? The answer lies in the very process by which photonic computers are made, and the lessons of recent history.
Synthetic holograms are essentially made out of data. These days, data can be transmitted virtually anywhere. Such data is produced by programs, written by programmers who commonly work alone or in very small groups. Therefore, there is no reason what-so-ever, that they need to be located at a central place. Everything can be coordinated via telephone, modem and fax. Thus, the development of holographic computers lends itself very well to a distributed development process.
The personal computer revolution was not the creation of one big company, even though there were some big players. It came about by the hand of thousands of innovative entrepreneurs--little people with big ideas. Together, these people created a revolution that has changed the world and seen the lowly PC capture the vast majority of the computing market. It worked then, and it will work now in the transition from electrons to photons.
And what about advertising and sales? There is no better advertising than to offer products that out perform the competition. The excitement that creates, is the best advertising.
How do we enlist the help of so many talented people? We pay them! Not by the hour, but by the product sold. As new products are developed, we will evaluate them in a coordinated effort to find out who is able to produce the best products for including in our sales network (including software products.) When accepted, arrangements will be made for manufacturing, distribution and sales. Just as with any other business, each one does his part, and each one shares in the fun and profit.
By law, no one has the right to make, sell or use a photonic transistor, or the patented process that makes them work, without a license from the Rocky Mountain Research Center. Thus your output images can only be used as actual functioning components (even for private laser testing,) if you are a licensed part of our developing and marketing network. That is a protection for you from unlawful competition to any product you work with us to develop.
The actual patented process involves the use of any means for producing interference fringes, and then using any means for separating those fringes into their component parts. That coverage is very broad. However, computer graphics (synthetic holograms and masks) made and tested by simulation, as described above are not covered by patent law because they are just simulations.
By becoming a part of our network, your product will be both protected and defended. What's more, those who are a part of the coordinated network will have access to the latest information so that they will always be on the leading edge, not duplicating the work of others.
So whether you prefer to write the synthetic-hologram-producing-software, or produce holograms using this method, you may wish to have your work evaluated as a potential product for sale through our network. Neat idea huh! You can find out more by accessing our new Photonic Transistor BBS. Call in often, as new material will be continuously added as photonic development proceeds.
[Note since the printing of this article, CyberDyne Computer Corporation has taken over all rights to photonic transistor technology and have greatly expanded it. Further information is available at this web site.]
Happy programming!
Constants: Al = antialialing factor = 2.5 Lp = lines/line-pair = 2 Mm = mm/meter = 1000 Sm = Synthetic wavelength multiplier = 16 w = wavelength = 632.8 * 10^-9 meters for a HeNe laser PX = pixels on any one side of a square = 319 (0=the first pixel position) Sx = pixels/full horizontal screen width = 640 Ss = size of full horizontal screen width = 254 mm for a 10" wide screenThe EndUseful formula: Pm = pixels/meter = (Mm * Sx/Ss) = 2520 (rounded to the nearest pixel) Sw = synthetic wavelength = w * Sm Ur = useful resolution = (Sx * Mm)/(Al * Lp * Ss) = useful lines/meter Da = max deflection angle = arc sin(Sw * Ur)
Combining these: Da = arc sin((Sx * Mn * w * Sm)/(Al * Lp * Ss)) So: Da = arc sin((640 * 1000 * 632.8 * 10^-9 * 16)/(2.5 * 2 * 254)) = .29 degrees
f = focal length in pixels = (PX * tan(Da) /2) Z = synthetic distance between input squares and output square in pixels = 2 * f = PX * tan(Da) = 63,222 pixels
D = distance from input pixel (X,Y) to output pixel (I,J) = SQR((X-I)^2 + (Y-J)^2 + Z^2) Ph = Phase = ( 2 * PI * D / Sw) IA = Instantaneous amplitude = Ph * amplitude from input pixel OA = Output amplitude at each pixel = algebraic sum of all instantaneous amplitudes from all input pixels = IA1 + IA2 + IA3 ... IAn PI = 3.14159.......
PROG 1: for plain laser input, initialize input pixels to 1 ...otherwise load an input table from a previous run. FOR X = 0 TO PX FOR Y = 0 TO PX INPUT_TABLE(X,Y)=1 NEXT Y,X
PROG 2: to initialize an output table FOR I = PX/2 TO PX+PX/2 'because the output square is offset by half a square FOR J = 0 TO PX OUTPUT_TABLE(I,J)=0 NEXT J,I
PROG 3: to calculate output table from input table A FOR I = PX/2 TO PX+PX/2 FOR J = 0 TO PX IA = 0 FOR X = 0 TO PX 'to calculate from the B input square, use FOR X = PX TO 2 * PX FOR Y = 0 TO PX DISTANCE = SQR((X-I)^2 + (Y-J)^2 + Z^2) '3D pythagoras IA = IA + SIN( DISTANCE * 2 * PI / S)) 'instantaneous amplitude NEXT Y,X OUTPUT_TABLE(I,J)=IA * INPUT_TABLE(X,Y) NEXT J,I
PROG 4: to combine the inputs from square A and square B to determine the output result when both beams are on. FOR I = PX/2 TO PX+PX/2 FOR J = 0 TO PX COMBINED_OUTPUT_TABLE(I,J)=OUTPUT_TABLE_A(I,J) + OUTPUT_TABLE_B(I,J) NEXT J,I
PROG 5: to make an input hologram by making selected pixels black. FOR X = 0 TO PX FOR Y = 0 TO PX IF OUTPUT_TABLE(X+PX/2,Y) < 0 THEN INPUT_TABLE(X,Y) = 0 NEXT J,I
PROG 6: to make an output DI mask by making selected pixels black. FOR I = PX/2 TO PX+PX/2 FOR J = 0 TO PX IF COMBINED_OUTPUT_TABLE(I,J) <> 0 THEN MASK_TABLE(I,J)=0 ELSE MASK_TABLE(I,J)=1 NEXT J,I
PROG 7: to make an output CI mask by making selected pixels black. V = a cut off value to be determined by the needs of the device. FOR I = PX/2 TO PX+PX/2 FOR J = 0 TO PX IF ABS(OUTPUT_TABLE(I,J)) < V THEN MASK_TABLE(I,J)=0 ELSE MASK_TABLE(I,J) = 1 'if there's light there, let it through. 'notice that both positive and negative phases are there, and that may, or may not be good, depending upon the design of the following device. NEXT J,I
PROG 8: to make a mask with predetermined properties FOR I = PX/2 TO PX+PX/2 FOR J = 0 TO PX 'select the criteria for each pixel as to whether it should be masked or not based on how that particular pixel behaves given the three lighted input states of: beam A on, beam B on, and both beams on. IF OUTPUT_TABLE_A(I,J) = (beam A on criteria) IF OUTPUT_TABLE_B(I,J) = (beam B on criteria) IF COMBINED_OUTPUT_TABLE(I,J) = (both input beams on criteria) ...MASK_TABLE(I,J)=0 ELSE MASK_TABLE(I,J)=1 'depending upon above criteria NEXT J,I
PROG 9: to superimpose a mask onto an output table FOR I = PX/2 TO PX+PX/2 FOR J = 0 TO PX IF MASK_TABLE(I,J) = 0 THEN OUTPUT_TABLE(I,J)=0 NEXT J,I NEXT J,I
Note that the output through each mask must be checked in each of the possible input states. Masked should be designed to produce only a single output image from the three input images
PROG 10: to display the results (at position A) FOR I = 0 TO PX FOR J = 0 TO PX IF TABLE_TO_BE_DISPLAYED(I,J) <> 0 THEN PSET(X,Y) 'turn on the pixel 'PSET (X+PX,Y) for position B NEXT J,I
PROG 11: to make the output of one transistor equal one of the inputs of another transistor FOR X = 0 TO PX '(for input B use PX to 2*PX ) I=X+PX/2 '(for input B use I=X-PX/2) FOR Y = 0 TO PX INPUT_TABLE(X,Y)=OUTPUT_TABLE(I,Y) NEXT Y,X
End listing 1
John Hait is an electronics engineer with 35 years of experience in basic circuit design and troubleshooting electronic and data processing systems. He is best known by his books and articles on practical applications of thermodynamics and electrochemistry. He is the inventor of the photonic transistor, which is only one of 85 inventions that span the wide spectrum of practical physics.
Copyright Circuit Cellar INK, The Computer applications Journal Reprinted by permission.
| FAQ | Home |
Photonics Menu | Web Hosting India |
Previous |