# An all-optical soliton FFT computational arrangement in the 3NLSE-domain

- 111 Downloads

## Abstract

In this paper an all-optical soliton method for calculating the Fast Fourier Transform (FFT) algorithm is presented. The method comes as an extension of the calculation methods (soliton gates) as they become possible in the cubic non-linear Schrödinger equation (3NLSE) domain, and provides a further proof of the computational abilities of the scheme. The method involves collisions entirely between first order solitons in optical fibers whose propagation evolution is described by the 3NLSE. The main building block of the arrangement is the half-adder processor. Expanding around the half-adder processor, the “butterfly” calculation process is demonstrated using first order solitons, leading eventually to the realisation of an equivalent to a full Radix-2 FFT calculation algorithm.

### Keywords

Solitons 3NLSE domain All-optical FFT Cubic non-linear Schrödinger equation Soliton collisions Soliton computational schemes## 1 Introduction

Computational systems based on soliton collisions for transferring and processing data continues to be a topic which stands at the forefront of scientific research (Jakubowski et al. 1996, 1997, 2001; Bakaoukas and Edwards 2009b; Steiglitz 2000).

Within this framework, an earlier version of this paper originally appeared in Bakaoukas (2016). The current paper has augmented this original work by including an extensive discussion of the optical solitons background theory as presented in the remainder of this section, a full explanation of all the basic concepts and parameters involved in the formulation of the computational system proposed for the 3NLSE-domain (Sect. 2), and a detailed analysis of all the numerical methods currently available for the simulation of optical solitons propagation down an optical fibre when the propagation parameters applicable to the system are those of the 3NLSE-domain (Sect. 3). The half-adder processor scheme proposed and discussed in the remainder of the paper, as well as individual soliton arrangements in the overall computational system, have been extensively tested and successfully verified using all these numerical methods.

Generally there are two different types of solitons, delineating the areas of general interest to create computational systems from. The, so called, “spatial solitons” and the “temporal solitons”, respectively defining the “spatial solitons computational systems” and the “temporal solitons computational systems”. Solitons owe their existence to the physical alignment between a phenomenon known as “Kerr non-linearity” (self-phase modulation) and the phenomenon of “chromatic dispersion” in optical fibres, which is the primary material allowing for solitons generation and propagation.

Temporal solitons in optical fibres can be described very accurately by the “cubic non-linear Schrödinger equation” or “3NLS equation” for sort, while spatial solitons can be described very accurately by the “general NLS equation” which, although describing a system which is not generally integrable, never the less enables us to calculate more accurately more complex phenomena. Solitons in both the temporal and the spatial domain can either “interact” with each other (soliton interactions) or “collide” with each other (soliton collisions).

Soliton systems which are using fast digital logic gates and carry and process information through soliton collisions have been proposed for some time now (Jakubowski et al. 1996, 1997, 2001; Bakaoukas and Edwards 2009a; Steiglitz 2000; Blair 1998). The logic gates arrangements used by these systems take advantage of the phase difference or the frequency difference emerging after each collision between orthogonally polarised solitons to represent a bit as we know it from classical computational theory. Other systems of logic gates arrangements have also been proposed, which make use of the time difference (“soliton trapping”) or of the position difference (“soliton dragging”) emerging between the solitons involved after they have clash. Particle machines, which perform calculations using soliton collisions, have been also proposed (Steiglitz 2000). The goal here is to create a global computational system, which will generally use logic gates of the type initially introduced by Toffoli (1980) or alternatively of the type initially introduced by Fredkin and Toffoli (1981) for processing and storing data very close to the classical.

Most of the major studies been carried out so far in the direction of computing with solitons are mostly at a purely theoretical level, especially considering collisions between first order solitons. Independent and more or less equally effective numerical methods like: the “Finite Difference Runge–Kutta Technique” (FDRKT), the “Split-Step Fourier Transform” (SSFT), the “Fourier Series Analysis Technique” (FSAT), and the “Fuzzy Mesh Analysis Technique” (FMAT) have been successfully applied to provide simulations of solitons propagation down the optical fibre in the 3NLS equation domain and in general have been extensively used in theoretical research on colliding solitons. These methods give the possibility not only of theoretical analysis and simulation of collisions between solitons but also of monitoring the stability and the general dynamics of non-integrable and non-linear models alike.

There is a number of studies in which the use of solitonic optical pulses for the purposes of carrying out computations has been investigated (Jakubowski et al. 1996, 2001; Bakaoukas and Edwards 2009a; Blair 1998). In this present paper only temporal solitons (involving a balance between Kerr type non-linearities and dispersive effects in glass fibres) are concerned. At this early point the fact that the interactions between solitons of this type can be a relatively long-range phenomenon need to be emphasised, because the Kerr non-linearity is a relatively weak effect.

In what follows in this introduction section, the discussion is focusing on the 3NLS equation domain. For a more extensive and thorough discussion the reader is referred to Bakaoukas and Edwards (2009b, 2013), Bakaoukas (2013, 2014, 2015) where the application of first order and second order solitons, following the Toffoli gates prototype as well as others, has been presented and verified regarding their computational abilities in terms of logic gates formations.

A positive value for “dispersion” parameter describes the formation of bright optical solitons whilst a negative value leads to the formation of dark solitons. The 3NLS equation in general, describes a modulated wave packet propagating through a non-linear dispersive medium with a constant velocity. For certain initial pulse shapes (the “reflectionless potentials”), the 3NLS equation is completely integrable and the evolution of a soliton can be found in closed form by means of the “Inverse Scattering Transform” (IST) (Ablowitz and Segur 1981). Solitons arising out of a balance between dispersive and Kerr non-linearity effects possess dominant characteristic features one of which is the elastic collisions between them. Solutions described by non-integrable non-linear wave equations on the other hand are usually referred to as “solitary waves” and collisions between solitary waves are inelastic and more complex in character. A solution of the integrable 3NLS equation applicable to pulse propagation in optical fibres is the hyperbolic secant where an arbitrary positive number representing the soliton order, the distance along the fibre, and time, all in normalised dimensionless units, are the main parameters forming the initial soliton propagation envelope. By coupling pulses in and out of a fibre at appropriate points (of distance and time), useful computation could be possible based on collisions between solitons within the fibre.

The material presented in Bakaoukas and Edwards (2009b), in particular, shows that in situations where optical solitons are formed within optical fibres (simulations have been carried out using all the above mentioned numerical techniques), with appropriate practical arrangements, computationally universal systems based on collisions between first order solitons are possible using logical gates based on the “controlled” type of gates originally proposed by Toffoli (1980), Fredkin and Toffoli (1981). As an extension to what presented in the above mentioned papers, in this present paper, the numerical study of collisions between first order solitons is expanded leading towards an all-optical Fast Fourier Transform (FFT) calculation. The CN and CCN soliton gates continue to be the essential ingredient of the computational model.

## 2 Soliton collisions and computational scheme in the 3NLS equation domain

*r*represents the amplitude of the solitons, \(\theta\) is the relative phase value, and \({q}_{0}\) is the initial displacement between the two solitonic pulses.

By solving the basic soliton equation using the IST we come to know that the velocity of a solitonic pulse depends on the frequency of the modulated carrier. So if we vary the frequency of the carrier we simultaneously alter the velocity of the solitonic pulse itself. The second exponential term in (2) does just that; alters the frequency of the carrier by a rate corresponding to the value given to its variable, and simultaneously alters that way the velocity of the pulse itself by the desired amount (Fig. 1).

As a first step into starting describing the fundamentals of the computational system itself now, the encoding rules for representing bits into the computation system will be set by initially admitting the existence of only two solitons in it. One soliton with a phase value of \(\pi\) and one soliton with a phase value of 0. This way there can only strictly exist two types of collisions between solitons in the computational system: (a) two solitons collide and are in phase or, (b) two solitons collide and are out of phase (Fig. 2). Now the solitons can be directly used as input values to a solitons defined type of logic gate. The most important fact of all is that these two types of collisions inherently possess the property of sequencing, so they can be cascaded.

Let us now see how we can use this three solitons arrangement and its properties as a full computational element (logic gate). In order to achieve this we assign to each soliton participating in the arrangement either the binary value 0 or the binary value 1, the way previously explained. The next step is to assume that the third soliton is a “time-gated” soliton with a phase value determined accordingly by the system as the process progresses. This practically means that the “time-gated” soliton does not take part in the calculation process from the start but is created and begins to propagate down the fibre at another specific point in time as a result of a decision (command) initiated by the system. The right point in time for this “time-gated” soliton to start propagating is defined as the one immediately following the collision between the two initial to the logic gate arrangement solitons. This forces the third (“time-gated”) soliton to play the role of the “controlled” by the system soliton. Within the boundaries of the computational system presented here, the phase value of the created (“time-gated”) soliton and its propagation timing are decided dynamically by the system after certain conditions have been taken into consideration, which in our case are the phase values of the two initial solitons. Now the arrangement can successfully simulate the CN and CCN Toffoli logic gates.

In setting the rules under which the system will be able to distinguish between conditions calling for the generation of a “time-gated” soliton with a phase value of 0 and those calling for the generation of a “time-gated” soliton with a phase value of *pi*, we assign a Boolean value to each one of the two envelope types resulting after a collision has taken place, and located at exactly the midpoint of the whole collision length (Fig. 4). The collision envelope occurring when two solitons collide and are in phase, is assigned the binary value 0, while the collision envelope occurring when two solitons collide and are out of phase is assigned the binary value 1. Thus, a system able to “read” the collision envelope within the mathematically determined collision point of the two initial solitons (input solitons to the logic gate arrangement), is also capable of recognising the nature of the collision, i.e. to recognise immediately whether the two solitons participating in the collision were in phase or out of phase. Finally, using these assumptions, in conjunction with the “time-gated” solitons concept, we can successfully simulate the operation of a CN Toffoli logic gate in the 3NLS equation domain and build a truth table for this type of gates (Bakaoukas and Edwards 2009a).

## 3 Numerical methods for soliton propagation simulation

In this section, the numerical techniques used for obtaining the simulation results are briefly described and example outputs are presented of using them. The recognition that the mathematical complexity of soliton solutions arises only because of the dependency of the refractive index *n* on spatially varying intensity could eradicate the complexity if, instead, *n* could be defined as depended not on a spatially varying intensity but on the total beam power. This can be achieved in a heuristic model by assuming that the medium has a non-local response with a correlation length much larger than the beam diameter. The non-linear wave equation then becomes linear and readily solvable, but the solution for solitons still contains the essential characteristic features. Physically, the model transforms the problem into a simple case of linear propagation of thin beams in a waveguide. With the assumption that the beams always stay close to the axis, the refractive index makes the wave equation identical to the “Time-Dependent Schrödinger Equation” (TDSE) for a linear harmonic oscillator, the solution of which is well known to all physicists. The physics of solitons can then be readily appreciated.

### 3.1 Finite difference Runge–Kutta technique (FDRKT)

### 3.2 Split-step Fourier transform (SSFT)

The “Split-Step Fourier Transform” (SSFT) is considered, well up to these days, the technique of choice for solving the 3NLSE and simulating the propagation of optical solutions for a variety of physical parameters and conditions. However, needs to be emphasised that the SSFT method will not work well for simulating situations where there exists a forward and backward propagating wave.

*U*(

*z*,

*t*), while the operator \(\hat{D}\) is a differential operator expressed in terms of time derivatives that operate on

*U*(

*z*,

*t*). In order to make the computation more efficient the calculation of \(\hat{D}\) is performed in the frequency domain with the result of transforming the derivatives in the time domain to a simple multiplication in the frequency domain.

*h*. This is performed in a step-by-step approach and lasts for the entire length of the fibre. A length of optical fibre

*L*is broken down into \({S}_{L}=\frac{L}{h}\) steps of length

*h*(Fig. 7). So, applying the SSFT method requires the following iterative procedure:

The initial condition or pulse shape is necessary to start the calculation. After propagation over a distance of

- 1.
The total fibre length is divided into a number of segments of length

h.- 2.
At the beginning of each of them we compute the

FFTof the every time initial conditionU(0,t).- 3.
The pulse is propagated in the frequency domain for a distance \(\frac{h}{2}\) under the effect of dispersion only.

- 4.
At the middle of the segment, the

IFFTis applied in order to come back to the time domain and calculate the contribution of non-Linearity (and if desired fibre loss) in the whole segment.- 5.
In the last step another

FFTis evaluated to return to the frequency domain and propagate the field through the remaining distance \(\frac{h}{2}\), with dispersion only.- 6.
The results obtained are used as the initial condition for the following segment and the process is repeated until the total fibre distance is achieved.

*h*in both the linear and non-linear parts, the results can be used as the initial condition for a further propagation distance of

*h*. This process is repeated until the required overall propagation distance is achieved.

As a final remark the *FFT* algorithm imposes restrictions on the sample array format of a nature that cannot be ignored. The sample array of *U*(*z*, *t*) for each value of *z* must have \(N={2}^{n}\) points as required by the *FFT* algorithm. The initial array *U*(0, *t*) must sample the initial pulse \(\Delta {t}\) with adequate temporal resolution and be temporally wide enough to prevent aliasing and wrapping errors. Of course, as is the case for all similar situations the sampling rate is to be given by the Nyquist theorem.

In contrast to what said above in regards to \(\Delta {t}\), there is no strict mathematical restriction on the step-size *h* for the *SSFT* method other than choosing a very small *h* will result in a very accurate but very computationally time demanding simulation. Also, we need to have in mind that choosing *h* smaller than the carrier wavelength \({\lambda }_{0}\) is physically meaningless. On the other hand choosing *h* to be too large does not conserve spectral energy. The maximum choice of the step-size depends on the specific dispersive and non-linear properties.

### 3.3 Fourier series analysis technique (FSAT)

*u*(

*x*,

*t*). The \({\phi }_{n}(x)\) can be any orthogonal set of functions in which \({\delta }_{jk}\) is the Dirac function and \(({\phi }_{j},{\phi }_{k})={\int }{\phi }_{j}{\phi }^{*}_{k}{\partial {x}}\) gives the inner product (Fig. 9).

Depending on the physical problem at hand, the two most common eigenfunctions used are the Fourier series and the Chebyshev polynomials, mainly because of their good correlation with the majority of physical phenomena, their spectral accuracy properties, and computational speed.

*FFT*technique. The “Fourier Series Analysis Technique” initially expresses the pulse envelope function in terms of a Fourier series in which \(\hat{u}_{n}(x)\) is the Fourier amplitude coefficient, and \(\epsilon\) the fundamental frequency. This procedure yields:

*n*is an integer \({-M}\le {n}\le {M}\) and \({\sigma }(n)={{n}^{2}\frac{{\epsilon }^{2}}{2}+B{n}^{3}{\epsilon }^{3}}\). The equation represents a set of \(2M+1\) “First-order Partial Differential Equations” (FPDE) of complex variable, which can be separated into its real and imaginary parts, and solved by a fourth-order Runge–Kutta method. The \(2M+1\) initial conditions can be obtained for \(x=0\). The final solution is in the time domain. Significant parameters of this method include the time window \(\Delta {T}\), within which the signal is sampled for the Fourier series representation, the step length for integration \(\Delta {x}\), and the integer

*M*, related to the total number of samples \((2M+1)\).

### 3.4 Fuzzy mesh analysis technique (FMAT)

- 1.
The initial input pulse shape is set for computation.

- 2.
The non-linear part is solved analytically in the time domain for a propagation distance of \(\frac{\Delta (x)}{2}\).

- 3.
\(u(x + \frac{\Delta (x)}{2}, T)\) as obtained from step (2) is used as the initial condition for solving the Linear part for another propagation distance of \(\frac{\Delta (x)}{2}\).

- 4.
Mesh control is adopted each time after the calculation of the linear part such that the sampling profile can be optimised for the next calculation.

- 5.
\(u(x + \Delta (x), T)\) as obtained from step (3) is used as the initial condition for solving the non-linear part of another propagation distance provided that the propagation distance is not reached.

- 6.
Steps (2) to (5) are repeated until the required propagation distance is reached.

Using this mesh control, more information of the soliton pulse can be obtained but without increasing the total number of sampling points (Figs. 10, 11).

- 1.
Using cubic shape functions, the temporal soliton pulse shape at a particular propagation distance is deduced as a function of

T.- 2.
Based on the calculated cubic shape functions, both the temporal pulse shape and slope of

u(x,T) are obtained. Hence, the turning points (\(\frac{\partial {u}(x, T)}{\partial {T}} = 0\)) can be located by comparing the variation of the slope ofu(x,T).- 3.
The distribution of sampling points is defined within a sampling window along the axis. The left and right boundaries of this sampling window are defined as the magnitude of

u(x,T) just below \({10}^{-3}\). Based on the location of turning points, new values of mesh sizes as well as \({a}_{i}\) are assigned.- 4.
The procedures of assignment of mesh sizes can be described as follows: (a) The number of turning points \({N}_{tp}\) is counted within the sampling window, (b) The sampling window is subdivided into \({N}_{tp} + 1\) regions with the turning points as the boundaries of each subdivided region, (c) The sampling points within each subdivided region are equally spaced, but the number of sampling points \({N}_{j}\) can be different between subdivided regions, (d) If \({u}_{pj}\) and \({u}_{tj}\) are the boundaries of

u(x,T) within a subdivided region, \({N}_{j}\) can be defined as \({N}_{j} = {R}_{j}({u}_{pj} {u}_{tj})\), where \({R}_{j}\) is a tuning factor. \({R}_{j}\) is adjusted such that the summation of sampling points within each subdivided region is equal to \({N}_{tp}\), and (e) If the total number of sampling points assigned to each subdivided region is more (or less) than the available sampling points of the sampling window, the above procedures are repeated for a different \({R}_{j}\) until the optimal mesh size is achieved.- 5.
Hence, new values of

u(x,T) can be calculated using the optimised node distribution \({a}_{i}\).

## 4 The half-adder processor scheme

In all the figures the input–output “gate” sequence follows the soliton propagation direction. The point at which the soliton propagation begins (point 0 in the propagation scale across the depth of the figure) also reflects the input side of the “gate” and respectively, the point at which the soliton propagation ends (point 100 in the propagation scale across the depth of the figure) reflects the output side of the “gate”.

## 5 The two 2-bit numbers multiplier

In this section we present the “Two 2-bit Numbers Multiplier”, which involves a half-adder as its lying-in-its-heart functional unit (“Three-bit Adder Arrangement”). The particular arrangement forms the compact small-scale equivalent of the “Two maximum-number-of-bits Numbers Multiplier”, which for general purpose calculations must involve full-adders as well as half-adders in its arrangement. The reason behind choosing the two 2-bit numbers multiplier is only the fact that the particular arrangement possesses all the functionalities and properties need to be demonstrated, while at the same time gives us the ability to keep the material presented at a minimum of extension and complexity in this paper.

Having established and demonstrated the three-bit adder arrangement, we can now build around it the full two 2-bit numbers multiplier. The overall arrangement requires the addition of another four AND gates, to accommodate initial bit multiplications. The conventional diagram arrangement for the multiplier is as presented in Fig. 19.

In Fig. 20 part of the two 2-bit numbers multiplier is presented. For illustration purposes generated solitons in Fig. 20 are shown to be closer together than they should be in an actual computational arrangement without loosing in computational properties or upsetting the result. Circular soliton collision points indicate collisions taking place during the initial AND gates calculations, while square soliton collision points indicate collisions taking place as part of the half-adder calculation process. The arrangement in Fig. 20 illustrates a certain degree of parallelism in the calculation process, which contributes significantly in increasing the overall computational speed of the arrangement. It comes without saying that the two 2-bit numbers multiplier arrangement illustrated can be extended to cover any bit length required for the multiplication between two individual numbers. Again, the purpose here was to keep the length of the illustration to a minimum.

## 6 The “butterfly” soliton arrangement

After the complement of a bit-number has been calculated, subtracting it from another bit-number requires the addition between the complement calculated and the second bit-number. That way only half-adder and full-adder arrangements are required for the realisation of all the calculations involved in the “Butterfly” arrangement. Addition and subtraction calculations appear at the final stages of the “Butterfly” (Fig. 22), those that actually are giving the result and passing the values calculated to the next processing stage of the overall FFT calculation arrangement.

Having completed the presentation of the individual parts out of which the soliton “Butterfly” arrangement consists of, we can now present the schematic of the overall arrangement required. Fig. 23 presents the soliton “Butterfly” arrangement to full extend omitting, by means of a “black box” representation, those parts of the arrangement which have been previously analysed and illustrated. “Adder Output” (D) and “Adder Output” (E) appear at the end of the arrangement as required for the cascading “Butterfly” arrangements to continue further processing the data. All the output soliton propagation routes shown are indicative, since in an actual calculation of bit-numbers more than one solitons will represent the output bit-number of each block of calculation. As it is the case with the conventional Radix-2 FFT algorithm the first and the second decimation process results in a “shuffling” of the input data sequence, which has a well-defined order.

## 7 Conclusions and further research directions

### References

- Ablowitz MJ, Segur H (1981) Solitons and the inverse scattering transform. SIAMGoogle Scholar
- Bakaoukas AG (2013) Towards an all-optical soliton fft in the 3NLS-domain. In: Unconventional computation and natural computation conference vol 5(6), UCNC, (2013) LNCS 7956, Milano Italy, Springe, Berlin, pp 250–251Google Scholar
- Bakaoukas AG (2014) Computational capabilities of interactions between optical solitons. Int J Inf Sci Intell Syst 3(2):13–32Google Scholar
- Bakaoukas AG (2015) Computational capabilities of collisions between optical solitons. Int J Inf Sci Intell Syst 4(1):1–20Google Scholar
- Bakaoukas AG (2016) An all-optical soliton fft computational arrangement in the 3nlse-domain. In: 15th international conference on unconventional computation and natural computation UCNC, Manchester, UK. Proceedings. doi: 10.1007/978-3-319-41312-9, Print ISBN: 978-3-319-41311-2, Springer International Publishing
- Bakaoukas AG, Edwards J (2009a) Computation in the 3nls domain using first and second order solitons. Int J Unconv Comput (IJUC) 5(6):523–545. ISSN: 1548–7199Google Scholar
- Bakaoukas AG, Edwards J (2009b) Computing in the 3NLS domain using first order solitons. Int J Unconv Comput (IJUC) 5(6):489–522. ISSN: 1548–7199Google Scholar
- Bakaoukas AG, Edwards J (2013) Quantum notation in the analysis of soliton gates interaction (part I)—the CN/CCN gates paradigm. Int J Inf Sci Intell Syst 2(2):1–50 (Martin Science Publishing)Google Scholar
- Blair S (1998) Optical soliton-based logic gates. PhD thesis, University of Colorado at BoulderGoogle Scholar
- Fredkin E, Toffoli T (1981) Conservative logic. Int J Theor Phys 21:219–253MathSciNetCrossRefMATHGoogle Scholar
- Jakubowski MH, Steiglitz K, Squier RK (1996) When can solitons compute? Complex Syst 10(1):1–22MathSciNetMATHGoogle Scholar
- Jakubowski MH, Steiglitz K, Squier RK (1997) Information transfer between solitary waves in the saturable schrödinger equation. Phys Rev E 56(6):7267CrossRefGoogle Scholar
- Jakubowski MH, Steiglitz K, Squier RK (2001) Computing with solitons—a review. Multi Valued Log (special issue on collision based computing), pp 276–297Google Scholar
- Rand D, Steiglitz K (2007) Computing with solitons. In: Meyers RA (ed) Encyclopedia of complexity and systems science. Springer, Berlin, pp 1–25Google Scholar
- Shum P, Yu SF (1998) Numerical analysis of non-linear soliton propagation phenomena using the fuzzy mesh analysis technique. IEEE J Quantum Electron 34(10):2029–2035CrossRefGoogle Scholar
- Steiglitz K (2000) Time-gated Manakov spatial solitons are computationally universal. Phys Rev E 63:016608CrossRefGoogle Scholar
- Toffoli T (1980) Reversible computing. In: de Bakker J, van Leeuwen J (eds) Automata, languages and programming. ICALP 1980. Lecture Notes in Computer Science, vol 85. Springer, BerlinGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.