module 3 – numerical pulse propagation in...

18
1 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072 Module 3 – Numerical Pulse Propagation in Fibers Dr. E. M. Wright Professor, College of Optics, University of Arizona Dr. E. M. Wright is a Professor of Optical Sciences and Physic sin the University of Arizona. Research activity within Dr. Wright's group is centered on the theory and simulation of propagation in nonlinear optical media including optical fibers, integrated optics, and bulk media. Active areas of current research include nonlinear propagation of light strings in the atmosphere, and the propagation of novel laser fields for applications in optical manipulation and trapping of particles, and quantum nonlinear optics. Email: [email protected] Introduction Module 2 drew together the material needed to describe linear pulse propagation in a fiber in a formulation that will allow extension to nonlinear fiber propagation in modules 4 and 5. In the current module 3 we shall develop a numerical approach to linear pulse propagation in fibers. This will serve as both a simulation tool and an aid to understanding. For this module it is assumed you have a working knowledge of Matlab and are familiar with the basic commands and plotting, and also have access to a copy of Matlab. The learning outcomes for this module include The student will be conversant with the Fourier representation for a pulse propagating in a fiber and the idea of the pulse spectrum. The student will be conversant with the algorithm for performing linear pulse propagation in a fiber using Fourier transforms. The student will be able to perform discrete Fourier transforms used in the numerical evaluation of Fourier transforms. The student will be able to convert the propagation algorithm into discrete form suitable for numerical evaluation in Matlab. The student will be conversant with the Matlab code for performing linear pulse propagation in fibers including the examples of Gaussian, super-Gaussian, and hyperbolic-secant pulses

Upload: vanlien

Post on 25-Mar-2018

276 views

Category:

Documents


1 download

TRANSCRIPT

  • 1 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    Module 3 Numerical Pulse Propagation in Fibers

    Dr. E. M. Wright Professor, College of Optics, University of Arizona

    Dr. E. M. Wright is a Professor of Optical Sciences and Physic sin the University of Arizona. Research activity within Dr. Wright's group is centered on the theory and simulation of propagation in nonlinear optical media including optical fibers, integrated optics, and bulk media. Active areas of current research include nonlinear propagation of light strings in the atmosphere, and the propagation of novel laser fields for applications in optical manipulation and trapping of particles, and quantum nonlinear optics.

    Email: [email protected]

    Introduction Module 2 drew together the material needed to describe linear pulse propagation in a fiber in a formulation that will allow extension to nonlinear fiber propagation in modules 4 and 5. In the current module 3 we shall develop a numerical approach to linear pulse propagation in fibers. This will serve as both a simulation tool and an aid to understanding. For this module it is assumed you have a working knowledge of Matlab and are familiar with the basic commands and plotting, and also have access to a copy of Matlab. The learning outcomes for this module include

    The student will be conversant with the Fourier representation for a pulse propagating in a fiber and the idea of the pulse spectrum.

    The student will be conversant with the algorithm for performing linear pulse propagation in a fiber using Fourier transforms.

    The student will be able to perform discrete Fourier transforms used in the numerical evaluation of Fourier transforms.

    The student will be able to convert the propagation algorithm into discrete form suitable for numerical evaluation in Matlab.

    The student will be conversant with the Matlab code for performing linear pulse propagation in fibers including the examples of Gaussian, super-Gaussian, and hyperbolic-secant pulses

    mailto:[email protected]

  • 2 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    3.1 Fourier representation of pulses and pulse spectra So far we have described the evolution of the pulse in space (z) and time (t or T) using the temporal field envelope 0( , ) ( , )A z T P U z T= and the slowly varying envelope Equation 2.24 or 2.26. In the realm of linear optics the distinction between the formulations in terms of A or U is irrelevant since the propagation is independent of the initial power 0P and we can always choose units such that 0 1P = in which case the two are identical. Here we shall concentrate on

    ( , )A z T and the envelope Equation. 2.26 in the retarded frame for zero absorption which we write in the form

    2

    22 0 .2

    iA Az T

    + =

    (Equation 3.1) We wish to solve Equation. 3.1 subject to the initial condition (0, )A T at 0z = as the input pulse to the fiber. In order to solve Equation. 3.1 numerically it proves useful to introduce the Fourier representation of the pulse envelope

    ( , ) ( , ) .i TA z T d A z e

    =

    (Equation 3.2) Physically a pulse may be represented as a wavepacket of monochromatic or single frequency fields with temporal variation exp( )i t , and the inverse Fourier transform in Equation. 3.2 is a means to synthesize the field envelope into its constituent frequencies , each frequency being weighted by the spectral field envelope ( , )A z . Recalling that the vector electric field in Equation. 2.16 involves the product of the field envelope times the carrier plane-wave 0 0( )i z te , including the carrier frequency 0 the Fourier transform synthesizes the pulse into monochromatic fields with frequencies 0 = + . We thus identify 0 = as the

    frequency relative to the carrier frequency, and ( , )A z represents the pulse envelope in space (z) and frequency ( ) . The Fourier transform can be used to obtain the spectral field envelope using the integral

    1( , ) ( , ) ,2

    i TA z dT A z T e

    =

    (Equation 3.3) and together ( , )A z T and ( , )A z form a Fourier transform pair. Physically 2| ( , ) |A z T represents the temporal variation of power within the pulse for a given propagation distance z , whereas 2| ( , ) |A z is the power spectrum that represents the distribution of power amongst the

  • 3 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    various frequency components that make up the pulse for a given propagation distance z . The power spectrum or simply spectrum will play an important role in the remaining modules. For additional reading on the material covered in this section see Sec. 11.2 of Ref. [1] and Sec. 12.0 of Ref. [2]. 3.2 Linear pulse propagation using Fourier methods Our next goal is to obtain a solution of Equation. 3.1 that we can use for numerical simulations. As a first attempt we may write Equation. 3.1 in the operator form

    ( , ) ( , ) ,A z T DA z Tz

    =

    (Equation 3.4)

    where the dispersion operator is2

    22

    2

    iDt

    =

    , with solution

    ( , ) (0, ) .DzA z T e A T=

    (Equation 3.5) This is a formal solution but is not of utility for numerical evaluation. In this formal solution the operator Dze acts or operates on the initial pulse (0, )A T to produce the pulse ( , )A z T after a propagation distance z . We shall utilize this operator notation in modules 4 and 5. To find a useful solution we substitute the Fourier integral Equation. 3.2 into the slowly varying envelope Equation. 3.1 and rearrange to obtain

    2

    2( , ) ( , ) 0 .2

    i T iA zd e A zz

    =

    (Equation 3.6) In order for this to be satisfied the term in square brackets will have to vanish yielding the equation

    2

    2( , ) ( , ) ,2

    iA z A zz

    =

    (Equation 3.7) with the exact solution

    22 /2( , ) (0, ) .i zA z e A =

    (Equation 3.8)

  • 4 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    The propagation of the spectral field envelope thus involves a simple multiplication by a phase factor, and this is the reason to work in the frequency domain We now have the basis for an algorithm for performing pulse propagation as follows 1. Calculate the spectral field envelope (0, )A from the initial pulse (0, )A T at 0z = using the

    Fourier transform Equation. 3.3

    1(0, ) (0, ) .2

    i TA dT A T e

    =

    (Equation 3.9) 2. Propagate the spectral field envelope ( , )A z for a desired propagation distance z using

    Equation. (3.8)

    22 /2( , ) (0, ) .i zA z e A =

    (Equation 3.10) 3. Calculate the temporal field envelope ( , )A z T from ( , )A z using the inverse Fourier

    transform in Equation. 3.1

    2

    2 /2( , ) ( , ) (0, ) .i zi T i TA z T d A z e d e A e

    ==

    (Equation 3.11) We now make some comments regarding this algorithm:

    This algorithm requires one Fourier transform and one inverse Fourier transform per calculation in Equations. 3.9 and 3.11 in steps 1 and 3, and as we shall discuss these can be done very rapidly using the fast Fourier transform in Matlab.

    The operation in Equation. 3.10 in step 2 is very rapid as it is a simple multiplication. Note that the algorithm is the same and will take the same computational time

    irrespective of the propagation distance z, so it is the same for short and long propagation distances.

    The propagation algorithm is identical in content to the formal solution given in Equation. 3.5 but provides a means of implementing the formal solution.

    We also note that using Equation. 3.8 we obtain 2 2| ( , ) | | (0, ) | ,A z A =

    (Equation 3.12) so the pulse spectrum is invariant under linear propagation. That is, although the power profile

    2| ( , ) |A z T may greatly reshape upon propagation through a fiber the corresponding pulse

  • 5 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    spectrum |%A(z,) |2 will remain the same (it may decay due to linear absorption but the spectral

    profile will remain the same). In the next two sections we shall describe the numerical implementation of the above algorithm in Matlab followed by some numerical examples of fiber propagation. 3.3 Numerical propagation using MATLAB In order to numerically implement the algorithm in the last section we need to translate the equations involved into a form suitable for numerical calculation. As a first step we need to set up a time grid to represent the continuous time variable T . To do this we consider a time window of temporal width maxT and assign N discrete time values

    Tj =

    Tmax2

    + ( j 1)T , j = 1,2,N

    (Equation 3.13) where / ( 1)maxT T N = . The time window is thus centered on 0T = and varies from

    1 / 2maxT T= to / 2N maxT T= . For each point on the grid we assign the corresponding value of the temporal field envelope value

    Aj (z) A(z,Tj ), j = 1,2,N

    (Equation 3.14) so each point in the time window is labeled by the subscript j for a given value of z . The hope is that the time window maxT and the number of points N can be chosen such that the continuous field envelope may be well approximated by the discrete formulation of the problem on the grid. Using the above discretization scheme the Fourier transform in Equation. 3.3 may be approximated as a sum in the form

    1

    ( , ) ( ) ,2

    jN

    i Tj

    j

    TA z A z e

    =

    =

    (Equation 3.15)

    which is an example of a discrete Fourier transform (DFT). In Equation. 3.15 we note that the frequency variable is still continuous and can be evaluated for any value of . To precede it is necessary to introduce a frequency grid to represent the continuous frequency variable . The evaluation of the sum in Equation. 3.15 is greatly facilitated by a particular choice of frequency grid given by

  • 6 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    ( 1) , 1, 2, ,2max

    m m m N

    = + =

    (Equation 3.16) where 2 /max T = , and / ( 1) 2 /max maxN T = = . This choice of frequency grid is in keeping with the Nyquist sampling theorem according to which for a time grid of spacing T the highest frequency that can be resolved is / 2 /max T = . The frequency window so constructed is centered on 0 = and varies from 1 / 2max = to / 2N max = . Note that the parameters of the frequency grid max and are determined by the parameters chosen for the temporal grid maxT and N , so the time and frequency grids are intimately related. For each point on the frequency grid we assign the corresponding value of the spectral field envelope ( ) ( , ), 1, 2, ,m mA z A z m N =

    (Equation 3.17) so that each point in the frequency window is labeled by the subscript m for a given value of z . With this choice of frequency grid the Fourier transform in Equation. 3.15 becomes

    1

    ( ) ( ) ,2

    m jN

    i Tm j

    j

    TA z A z e

    =

    =

    (Equation 3.18)

    and it is left as an exercise for you to verify that the inverse Fourier transform in Equation. 3.2 becomes

    1

    ( ) ) .( m jN

    i Tj m

    mA z A z e

    =

    = (Equation 3.19)

    Equations 3.18 and 3.19 are the discrete approximation to the Fourier transform pair in Eqs. 3.2 and 3.3. We note that if we perform a Fourier transform followed by an inverse Fourier transform the result will involve the product ( ) / 2T of the prefactors appearing in Eqs. 3.18 and 3.19. Using the relations 2 / 2 / ( )maxT N T = = we find ( ) / 2 1/T N = . The overall factor 1/ N can then be lumped into one sums rather than have prefactors for both sums, and we shall do this below. To appreciate why the above choice of temporal and frequency grids is special consider the product m jT appearing in the exponentials in Eqs. 3.18 and 3.19 with ( 1)jT j T= ,

    ( 1)m m = . (Here we have dropped the constant terms / 2maxT and / 2max for simplicity in notation: The / 2maxT term is a simple shift in the T-axis, and the / 2max term can be seen as a simple shift in the carrier frequency 0 0 / 2max + ). Then we find

  • 7 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    2( 1)( 1) ( 1)( 1) ,m jT m j T m jN

    = =

    (Equation 3.20) where we used 2 / 2 / ( )maxT N T = = to find 2 /T N = . Substituting Equation. 3.20 into Eqs. 3.18 and 3.19 yields the discrete Fourier transform pair

    2 ( 1)( 1)/1

    ( ) ( ) ,N

    i j m Nm j

    jA z A z e

    =

    = (Equation 3.21)

    2 ( 1)( 1)/1

    1( ) ( ) ,N

    i j m Nj m

    mA z A z e

    N

    =

    = (Equation 3.22)

    where we note the prefactor 1/ N in Equation. 3.22 instead of the two individual prefactors. Sums such as these can be carried out very rapidly using the fast Fourier transform (FFT) algorithm in Matlab. Equations 3.21 and 3.22 will allow us to numerically evaluate the Fourier transform and inverse transform needed for steps 1 and 3 of the propagation algorithm. We also need perform the phase transformation in Equation. 3.10 of step 2. The discrete form of Equation. 3.10 is

    22 /2( ) (0) ,mi zm mA z e A

    = (Equation 3.23)

    which can be applied at each point labeled m on the frequency grid. For concreteness let us repeat the propagation algorithm in discrete form:

    1. Calculate the spectral field envelope (0)mA on the frequency grid from the initial pulse (0)jA on the time grid at 0z = using the discrete Fourier transform in Equation. 3.21

    2 ( 1)( 1)/1

    (0) (0) ,N

    i j m Nm j

    jA A e

    =

    = (Equation 3.24)

    2. Propagate the spectral field envelope ( )mA z for a desired propagation distance z using

    Equation. (3.23)

    22 /2( ) (0) ,mi zm mA z e A

    = (Equation 3.25)

  • 8 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    3. Calculate the field envelope ( )jA z from ( , )A z using the inverse Fourier transform in Equation. 3.22

    2 ( 1)( 1)/1

    1( ) ( ) .N

    i j m Nj m

    mA z A z e

    N

    =

    = (Equation 3.26)

    The short Matlab code LinearPulseProp.m on the next page performs linear pulse propagation according to this algorithm. The goal is for you to back engineer how this code is constructed to gain an appreciation of how numerical pulse propagation works, though how to choose numerical parameters such as maxT and N takes a bit more time and experience. If you have a lot of Matlab knowledge you may want to rewrite the code to your liking once you have figured it out, or if you are a beginner you may use this code to learn some Matlab. We now turn to a description of how the code is constructed. After the first line specifying the function name LinearPulseProp the code starts at the top with specification of the input parameters 0 2, , , ,maxT N T z and C in the units indicated. For example, T0 0T is in ps, and beta2 2 is in ps

    2/m, and N is normally taken as a power of N=2p with p a positive integer, eg. 128, 256, 512, etc. The code as written is specifically for propagation of a Gaussian pulse of pulse width 0T and chirp parameter C in an optical fiber with GVD parameter 2 and length z in km. Moving down the code the next task is to set up the time and frequency grids. Here the function linspace(0,N-1,N) is used to set up a one-dimensional array v=[0 1 . N-1] of length N. You may find documentation for each Matlab function by using the help command in the Matlab command window, eg. >help linspace. This is next used to set up the one-dimensional array T containing the time grid. You should check for yourself that T set up in this way does correspond to the time grid. The frequency grid is a bit more involved since for reasons of computational efficiency Matlab does not store the array of frequencies precisely as specified in Equation. 3.16. In particular, zero frequency 0m = corresponds to 1m = , positive frequencies 0 / 2m max< < correspond to 2 / 2m N , while negative frequencies / 2 0max m < < correspond to ( / 2 2)N m N+ , the case ( / 2 1)m N= + corresponding to both

    /2 / 2m N max= = . You should check for yourself that the three lines in the code that are related to setting up the frequency grid do so in the correct manner, and for this it is best to take a small number, say N=8, and make sure it works. Once you have the time and frequency grids worked out the rest is relatively easy. There is a line marked Gaussian input pulse and that is used to set up the initial pulse as an array A on the time grid. You should compare this line against the Gaussian beam formula 2.32 including chirp. STEP 1 of the propagation algorithm is then implemented using the single line of code At0=fft(A) to obtain the Fourier transform At0 of the input pulse A (you may get documentation on fft.m using the help command in Matlab). The phase factor is applied in frequency space to

  • 9 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    At0 to yield Atilde in STEP 2 using Equation. 3.25 as you should verify in the indicated line of the code. function LinearPulseProp

    % % Input parameters % Tmax = 20.00; % temporal grid size in ps N = 0128; % number of grid points T0 = 1.0; % pulse duration in ps beta2 = +25; % GVD parameter in ps^2/km z = 0.07; % propagation distance in km C = +0.0; % chirp parameter % % Set up time and frequency grids % v = linspace(0,N-1,N); dT = Tmax/N; T = -Tmax/2 + v*dT; % Time grid dOmega = 2*pi/Tmax; % p = find(v > floor(N/2)); % These three lines set up the frequency v(p) = v(p)-N; % grid in the storage form employed by Omega = v*dOmega; % Matlab. % A = exp(-((1+1i*C)/2)*(T/T0).^2); % Gaussian input pulse A0 = A; % copy the initial Gaussian % At0 = fft(A); % STEP 1 - FT initial pulse Atilde = At0.*exp(1i*beta2*Omega.^2*z/2); % STEP 2 - phase factor A = ifft(Atilde); % STEP 3 - inverse FT % % Plot the output pulse % plot(T,abs(A).^2,T,abs(A0).^2,'--'); set(gca,'FontSize',15); xlabel('T (ps)'); ylabel('|A(z,T)|^2'); title('Initial pulse (dash) final pulse (solid)');

    To run this Matlab code one simple types >LinearPulseProp; at the Matlab commend line and presses return. Finally, the inverse Fourier transform in STEP 3 is implemented using the single line of code A=ifft(Atilde) to yield the propagated field A at distance z.

  • 10 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    The last part of the code involves plotting the propagated pulse power profile 2| ( , ) |A z T versus T (solid line) along with the initial pulse power profile (dashed line). Once you have back engineered this code you will have the basic idea of how to perform linear pulse propagation in optical fibers. It is possible to extend the basic code to incorporate many generalizations including linear absorption and higher-order dispersion. The idea here is to expose you to the basic ideas of numerical pulse propagation using Matlab so that we can use such codes as a learning aid. We shall build upon this basic code in the coming modules. For additional reading on the material covered in this section see 12.1 and 12.2. of Reference [2]. 3.4 Examples In this section we shall explore three examples of linear pulse propagation in an optical fiber using the code LinearPulseProp.m, namely Gaussian, super-Gaussian, and hyperbolic-secant pulses. We start with the example of a Gaussian input pulse for which we have the exact solution from module 2 section 2.6, and you may check the code against this exact solution. (Note that for linear pulse propagation with 0 1P = then ( , ) ( , )U z T A z T , so we may use the solution from Sec. 2.6 here). The super-Gaussian and hyperbolic-secant pulses do not allow analytic solutions and are therefore good examples of where the numerical approach is indispensable. Let us start with the case of the Gaussian pulse as this will allow us to discuss the choice of numerical parameters by example. In particular we consider an initial chirped Gaussian pulse

    2 2

    2 20 0

    (1 )(0, ) exp exp ( ) ,2 2iC T TU T i T

    T T

    += = +

    (Equation 3.27) with Gaussian pulse width 0T and chirp parameter C . In the code LinearPulseProp.m the specific parameters are 00 1T T = ps and 0C = , 2 25 = ps

    2/km, yielding a dispersion length 2

    0 2/ | | 0.04DL T = = km, and we shall use these values throughout unless otherwise stated. Clearly we need the time window 0maxT T> , and as a rule of thumb one typically takes

    10max fT T= as a starting point, where fT is the feature one is trying to model. Here the feature we are modeling is the Gaussian pulse peak 02fT T , so 020 20maxT T= = ps is a good starting point. We also require /max fT T N T = > , or 10N >> . Here we chose

    7128 2N = = as a starting point. The code is initially set up for a propagation distance 3 0.07Dz L= = km. If you run the code you will produce the figure below

  • 11 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    Figure.3.1 Pulse power versus time T for 0.07z = km. For this example there is no initial chirp so the figure shows dispersion-induced pulse broadening as discussed in Sec. 2.6, the initial pulse being shown as the dash line and the final pulse as the solid line. There are two noteworthy features of this plot: The peak power 2| ( ,0) |A z at 0T = has reduced from 0P to 0 / 2P under propagation (recall that 0 1P = ), and the pulse width 1( )T z has increased by a factor of 2 (if you read of the FWHM of the input and final pulses from Figure. 3.1 you will see an increase of a factor of 2.). That the peak power in the pulses decreases inversely as the pulse width is a direct physical consequence of energy conservation. Furthermore, the increase in a factor of 2 in pulse width follows from the exact result for the pulse width

    1/22 2

    1 22

    0 0

    ( ) 1 ,D

    T z C z zT T L

    = + +

    (Equation 3.28)

    which for 0, 3 DC z L= = gives 1 0( ) / 2T z T = . Figure 3.1 therefore provides validation of the propagation algorithm and code. Although the propagation algorithm and code can in principle be used for any propagation distance there is a limit due to the finite time grid width maxT . In particular, one must make sure

  • 12 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    that 1( )T z remains much less that maxT since in the discrete Fourier transform it is assumed that ( , )A z T is actually periodic in time with period maxT . If 1( ) maxT z T then the assumed periodicity

    becomes apparent as the pulse fills the whole time window leading to a phenomenon called aliasing. An example of aliasing is shown in Figure. 3.2 for 24 0.196Dz L == km and

    1 0( ) 5 5T z T= = ps, other parameters being the same as Figure. 3.1.

    Figure.3.2 Example of aliasing for 0.196z = km

    You should take case to always avoid aliasing in your numerical simulations and look for signs that the field is starting to broaden over the whole time grid. For the example in Figure. 3.2 we can obtain a reliable simulation by increasing the time grid size to 40maxT = . You should run the code for this case and verify that the peak power reduces by a factor 1/5 in keeping with the fact that the pulse width has increased by a factor of 5. To finish with the Gaussian solution we consider a more complicated case with the same parameters as Figure. 3.2 but with chirp parameter 2C = . Figure. 3.3 shows a plot of the broadening factor 1 0( ) /T z T versus z according to Equation. 3.28 and illustrates that in this case the chirp can cause the initial pulse to compress, though GVD will always eventually cause the pulse to broaden for large enough z.

  • 13 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    Figure. 3.3 Broadening factor versus propagation for a chirp parameter 2C = . It is useful to plot the pulse propagation in this case by plotting 2| ( , ) |A z T in the z-T plane by using color coding of the power values as shown in the figure below, the color bar to the right showing the color coding

    Figure. 3.4 Pulse profile versus propagation distance z and time T for a chirped Gaussian pulse.

  • 14 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    Plots such as Figure. 3.4 are of great utility in visualizing the dynamics of pulse propagation and provide a great aid to understanding. For the current example of pulse propagation with chirp the initial pulse is at z=0 to the left. With increasing pulse propagation we see the pulse compression as the profile becomes redder around 0.016z = km and the pulse width reaches its minimum value, see Figure. 3.3, but eventually the pulse broadens again for z>0.016 km. We shall employ figures such as Figure. 3.4 to visualize a host of pulse dynamics in the following modules. The code PulseVisual.m on the next page was used to generate this pulse profile: it is essentially the same as LinearPulseProp.m but the propagation of length z is broken down into zN small steps of length / zz N using a for loop to run through the small steps, and the pulse profile at all the steps is plotted as in Figure. 3.4. We shall build upon this code in modules 4 and 5. Our second example is that of a super-Gaussian pulse of the form

    2

    0

    (1 )(0, ) exp ,2

    miC TU T

    T

    + =

    (Equation 3.29) with 1m a positive integer. The code PulseVisual.m allows for super-Gaussian propagation via the input parameter m. The virtue of this example is that for m>1 there is no analytic solution, and for m>>1 this initial condition tends towards a top hat pulse shape. Figure 3.5 shows the pulse profile for m=5 and no chirp and there is clearly a lot of dynamics. In spite of the fact that there is no initial chirp the pulse appears to compress as evidenced by the red region around z=0.01 km, but the pulse ultimately spreads.

    Figure. 3.5 Pulse profile for a super-Gaussian pulse with m=5.

  • 15 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    function PulseVisual; close all % % Input parameters % Tmax = 40.00; % temporal grid size in ps N = 512; % number of grid points T0 = 1.0; % pulse duration in ps m = 5; % super-Gaussian order % m < 0 hyperbolic-secand pulse beta2 = +25; % GVD parameter in ps^2/km z = 0.04; % porpagation distance in km Nz = 100; % number of points along z C = -0.0; % chirp parameter % % Set up time and frequency grids % v = linspace(0,N-1,N); dT = Tmax/N; T = -Tmax/2 + v*dT; % Time grid dOmega = 2*pi/Tmax; p = find(v > floor(N/2)); % These three lines set up the frequency v(p) = v(p)-N; % grid in the storage form employed by Omega = v*dOmega; % Matlab. % A = exp(-((1+1i*C)/2)*(T/T0).^(2*m)); % Gaussian input pulse A0 = A; % LD = T0^2/abs(beta2); zval = linspace(0,z,Nz); Bfac = sqrt((1+C*zval/LD).^2+(zval/LD).^2); % Broadening factor dz = z/Nz; for iz = 1:Nz At0 = fft(A); % STEP 1 - FT initial pulse Atilde = At0.*exp(1i*beta2*Omega.^2*dz/2); % STEP 2 - phase factor A = ifft(Atilde); % STEP 3 - inverse FT Iprof(:,iz) = abs(A).^2; end % % Plot the output pulse % figure plot(zval,Bfac,zval,ones(Nz,1)); set(gca,'FontSize',15); xlabel('z (km)'); ylabel('T_1(z)/T_0'); title('Broadening factor'); % figure imagesc(zval,T,Iprof) colorbar set(gca,'FontSize',15); xlabel('z (km)'); ylabel('T (ps)'); title('Pulse profile'); % figure % plot(T,abs(A).^2,T,abs(A0).^2,'--'); set(gca,'FontSize',15); xlabel('T (ps)'); ylabel('|A(z,T)|^2');

  • 16 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    title('Initial pulse (dash) final pulse (solid)'); Figure 3.6 provides a movie or animation of how the pulse power profile evolves with increasing propagation distance z corresponding to the super-Gaussian pulse propagation in Figure. 3.5. You should run the movie to see how the pulse evolves. We shall use animations such as these as a learning aid in later modules.

    Figure. 3.6 Animation of pulse propagation for a super-Gaussian with m=5.

    The first frame of the animation shows the initial profile and the final frame shows the pulse power profile for 0.04z = km. Here we note that even for m=5 the initial pulse profile is quite close to a top hat shape, and the final pulse in the final frame has developed pronounced oscillations. In fact the power profile of the final pulse is quite close to a sinc-function squared where sinc(a)=sin(a)/a. One way to think of the pulse dynamics for a super-Gaussian for m>>5 is to exploit the analogy between propagation of a top hat pulse and diffraction of a plane-wave by a narrow slit in diffraction optics. It is well known that in the far field or Fraunhofer diffraction region beyond the slit the field intensity profile will be proportional to the Fourier transform of the initial field, the Fourier transform of a top hat being a sinc-function. In our problem the role of diffraction in the spatial domain is played by GVD in the temporal, and for large enough propagation distances an initial top hat pulse will approach a sinc-function in the time domain, and this is what is seen in the animation. For intermediate propagation distances 0

  • 17 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    Our final example involves a hyperbolic-secant pulse of the form

    2 20/2

    0( , ) ( / ) ,iCT TA z T sech T T e=

    (Equation 3.30) where ( ) 1/ cosh( ) 2 / (exp( ) exp( ))sech a a a a= = + . The main reason we choose to introduce the hyperbolic-secant pulse at this point is that the temporal optical solitons we shall study in module 5 have this pulse profile. In many respects hyperbolic-secant pulses are very similar qualitatively to Gaussian pulses in that they are bell shaped. Figure 3.7 shows the pulse profile for a chirped hyperbolic pulse with 2C = and the same parameters as for Figure. 3.4.

    Figure. 3.7 Pulse profile versus propagation distance z and time T for a chirped hyperbolic-secant pulse

    with 2C = . Comparing with Figure. 3.4 for the Gaussian pulse we see that the hyperbolic-secant pulse corresponds to a broader initial condition for a given pulse width 0T . This follows since for

    0T T>> the hyperbolic-secant decays as 0exp( | | / )T T whereas the Gaussian decays more rapidly as 2 20exp( / )T T . Given this qualitative difference the Gaussian and hyperbolic-secant pulse results in Figures. 3.4 and 3.7 are qualitatively the same, with the hyperbolic-secant reaching the minimum pulse width a bit later at z=0.02 in comparison to the Gaussian for which the minimum pulse width occurs at z=0.016 km.

  • 18 The authors would like to acknowledge support from the National Science Foundation through CIAN NSF ERC under grant #EEC-0812072

    The goal of this module was to introduce the ideas of numerical linear pulse propagation in fibers in a way that we shall extend to the nonlinear case in modules 4 and 5. The utility of the codes presented has been illustrated with the examples of Gaussian, super-Gaussian, and hyperbolic-secant pulses. We shall build upon these basic codes to simulate and understand nonlinear propagation in optical fibers in modules 4 and 5. For additional reading on the material covered in this section see Chap. 3.2 of Ref. [3]. Some contemporary engineering problems that require knowledge of the material taught in this module are

    Numerical evaluation of Fourier transforms from numerical or experimental data for signal processing applications.

    Simulation of pulse propagation and distortion between repeaters in a telecommunication link.

    Simulation and design of linear fiber optics systems. References 1. E. Hecht, Optics, 4th Ed. (Addison Wesley, San Francisco, 2002). 2. W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, Numerical Recipes: The Art of Scientific Computing, 3rd Ed. (Cambridge University Press, 2007). 3. G. P. Agrawal, Nonlinear Fiber Optics, 3rd Ed. (Academic Press, San Diego 2001).

    IntroductionFourier representation of pulses and pulse spectraLinear pulse propagation using Fourier methodsNumerical propagation using MATLABExamples