# Numerical Representation of Ultrashort Pulses

Posted on 2018-05-22 in the RP Photonics Software News (available as e-mail newsletter!)

Permanent link: https://www.rp-photonics.com/software_news_2018_05_22.html

Author: Dr. Rüdiger Paschotta, RP Photonics Consulting GmbH

Abstract: When simulating the propagation of ultrashort light pulses, you need to numerically represent those pulses. Here, you can learn how to properly do that and take care of various important limitations. That is highly relevant if you either use a pulse propagation software or develop one yourself.

In numerical simulations of pulse propagation, one needs to somehow numerically represent the pulses. In case of relatively long pulses – say with nanosecond pulse durations are longer – it is often sufficient to consider only the optical power versus time, assuming that you are interested only in the power. The optical phase may be affected by the optical power, e.g. via self-phase modulation, but there is usually no substantial back-action of the phase on the power.

For ultrashort pulses (i.e., with pulse durations of picoseconds or even femtoseconds), the situation is profoundly different, because the optical phase vs. time has a substantial effect on the evolution of the optical power.
For example, fast changes of optical phase, which are related to the finite optical bandwidth of the pulse, affect the involved group velocities and possibly e.g. the magnitude of gain in an active fiber.
(An example for that is the complicated evolution of higher-order soliton pulses.)
Therefore, it is natural to describe an ultrashort pulse with a time-dependent *complex* amplitude, where the optical power is proportional to the modulus squared of that amplitude, and the optical phase is also contained in that quantity.

## Slowly Varying Amplitudes

One may think that qualitatively one has exactly the same situation as when describing an acoustical signal – only that we have much higher frequencies in optics. There is another very important difference, however: in most cases, optical signals have a bandwidth which is much smaller than the average frequency. Therefore, in analytical or numerical calculations it is often not sensible to directly use complex amplitudes which represent the rapidly oscillating electric field. Instead, one uses slowly varying amplitudes in combination with a factor for the fast oscillation:

where ν_{0} is the optical center frequency.

For an unchirped picosecond pulse, for example, the amplitude *A*(*t*) may be purely real and describe the rise and fall of the optical power over a time scale of multiple picoseconds, while the exponential factor describes the fast optical oscillation with an oscillation period (1 / ν_{0}) of only few femtoseconds.

Numerically, one usually uses a discrete grid which spans a certain time range and has a certain constant temporal spacing of grid points.
We call this a time trace for pulses.
Typically, its number of points (called *N*) is an integer power of 2 (e.g. 2^{8} or 2^{10}) because that greatly facilitates the application of a fast Fourier transform algorithm (see below).

Obviously, the above explained trick with the slowly varying amplitudes helps a lot: the grid spacing can often be much longer than the optical oscillation period. For example, a grid spacing of 1 ps can be fully sufficient for 10-ps pulses, if the optical power and phase do not change too much within 1 ps. (For sampling the electric field itself, you would need a grid resolution below 1 fs!) Keep in mind, however, that a strongly chirped pulse, having a fast evolution of optical phase, may require a substantially finer numerical grid.

## Pulses in Fourier Space

For many calculations and simulations, it is highly convenient to employ Fourier transforms. For example, chromatic dispersion is most easily described in the frequency domain; therefore, one normally applies a first Fourier transform to obtain the spectrum of the pulse in the form of a frequency trace (again with discrete complex amplitudes), then multiply each amplitude with the corresponding phase factor, and finally use an inverse Fourier transform to get back to the time domain (if needed). Similarly, it is convenient to apply wavelength-dependent absorption losses or amplification in the frequency domain, while nonlinear effects are typically treated more conveniently in the time domain.

There are some important relations between the numerical grids in the time and frequency domain:

- The total width Δν of the frequency trace is the inverse of the temporal step size. For example, a 1-ps temporal resolution leads to a 1-THz frequency span. That could be sufficient to describe a pulse with a bandwidth of the order of 0.1 THz.
- The resolution δν in the frequency domain (i.e., the frequency spacing of frequency domain amplitudes) is the frequency span divided by the number of points
*N*– or the inverse width of the time trace:

- From this you can also see that the number of points in the traces is the product of the trace widths in the time and frequency domain:
*N*= Δ*t × Δν*. Therefore, pulses with a large time–bandwidth product require large number of points.

As an example, I show you a screenshot from the interactive pulse display window of our software RP Fiber Power:

The upper diagram shows you the pulse in the time domain, and the lower one in the frequency domain. The software can automatically display the range where there is significant energy, but you can also manually control the displayed time and frequency span. The screen shot shows the display of the time-the main power and the optical spectrum, but you could also display other things such is the time -dependent optical phase, the spectral phase, the instantaneous frequency and various other things. At the bottom you see a slider with which you can select the pulse from a set of stored pulses, or by its location in a fiber. Obviously, such a handy tool is highly desirable to have when inspecting the sometimes rather complicated evolution of pulses e.g. in fiber amplifiers and mode-locked fiber lasers.

## Choosing Numerical Grid Parameters: Some Rules of Thumb

For numerical simulations, one needs to decide on the parameters of the numerical grid – for example, on the width Δ*t* of the time trace and the number of points *N*.
As shown above, those parameters determine the frequency domain grid as well.

The following rules are normally providing you with a good starting point:

- The temporal trace should certainly be long enough to make sure that no significant optical energy reaches the ends of the trace – not only for the initial pulse, which we may e.g. send through an optical fiber – but during the whole propagation. For example, if you have an initial 1-ps pulse and expect that its duration will not exceed 2 ps during the whole propagation, you may try with a 20 ps long time trace.
- If the pulses are reasonably close to transform-limited, it is often sufficient to use only 2
^{8}points. In our example case, that implies a temporal resolution of 20 ps / 256 = 78 fs and a frequency span of 1 / 78 fs = 12.8 THz. The frequency resolution is 12.8 THz / 256 or 1 / 20 ps = 50 GHz. The bandwidth of a transform-limited Gaussian 2-ps pulse is 220 GHz; you see that we can reasonably resolve and cover that pulse spectrum. (It is usually sufficient to have a couple of points within the full width at half maximum in the time or frequency domain.) - For strongly chirped pulses of the same duration, you can use the same time range in combination with an increased number of points, i.e., a finer temporal resolution. A criterion in the time domain could be that the phase should not change more than a few hundred milliradians per time step. In the frequency domain, you should make sure that there is no significant energy at the edges.
- If you want to include stimulated Raman scattering, you need to have a sufficiently wide frequency span such that the Stokes waves are still well within the span. Given that the peak Raman gain is at a frequency shift around 13 GHz in silica, you need an overall frequency span of the order of 40 GHz if the input signal is in the middle of the frequency span, is usual. However, you can put the input signal more to the “left” side of the frequency span so that you can use a somewhat smaller span.

You cannot always be sure initially that certain numerical settings will be sufficient to obtain good accuracy of the outputs. However, you can just try and check whether the above-mentioned criteria are violated during the simulation. With our software, you could even automate that checking, so that you get a warning if something gets questionable. It is even possible to automatically let the software e.g. double the number of points when it finds that the frequency span is getting too narrow. In case of doubt, one can also run an additional simulation with higher numerical resolution and check whether the results change significantly.

You will end up with enormously large time and frequency traces when you simulate supercontinuum generation in fibers – particularly when working with relatively long pulses.
In some cases, you need e.g. 2^{20} (about one million) points – for example, to combine a 100-THz frequency span with a temporal span of 10 ns.
If each complex amplitude is represented by 2 times 8 bytes (double precision), you need 16 megabytes for each time or frequency trace.
Assume that you simulate the propagation through an optical fiber and want to store time- and frequency-domain information for 100 points along the fiber, that will overall consume 100 times 32 MB or about 3 GB.
So you see that you will want a computer with quite a few gigabytes and a 64-bit software.
By the way, if you have a license for our product RP Fiber Power, you got a 32-bit version by default, but if you ask us, you get a 64-bit version without paying again.

Besides the memory limitations, you may worry about the increased consumption of computation time. Typically, that time increases a bit more than in proportion to the trace size. Fortunately, however, most practical cases can be simulated with quite limited computation time; you spend most time for setting up the simulation and thinking about its results, not waiting for computed results.

## Wrapping Effects

Interesting numerical effects occur when the pulse acquires substantial energy at the edges of the time or frequency trace is. That energy does not simply disappear, but comes back on the other side. Four understanding that, imagine that the time trace, for example, presents a sample of a periodically evolving signal: we have only a discrete grid of frequency-domain amplitudes, and Fourier-transforming that leads to a periodic time signal. So what “walks out” of your time trace at one end, can be considered as just getting into the next sample.

That kind of artifacts is normally quite undesirable, but there are reasonable ways of dealing with it:

- Simply use large enough time and frequency traces, so that you never obtain substantial energy at the edges. That, however, may require relatively large traces in some cases and also correspondingly increases the computation times.
- If you want to be a bit greedy with trace sizes, you can also include an artificial attenuation at the edges. You would then no more realistically describe what happens at the edges, but at least avoid those artifacts.

In simulations of mode-locked lasers, you should be particularly careful to avoid any wrapping effects, because they may also affect the stability of the pulses.
That is usually not a problem, however, because the circulating pulse is in most cases not that strongly chirped and thus requires a limited number of points: 2^{8} are often sufficient, and you really need more than 2^{10}.

## Further Reading

You may also want to read my earlier article "Ultrashort Pulse Simulations with the RP Fiber Power Software". There are also various encyclopedia articles which you easily reach through the links in this article.

This article is a posting of the RP Photonics Software News, authored by Dr. Rüdiger Paschotta. You may link to this page, because its location is permanent.

Note that you can also receive the articles in the form of a newsletter or with an RSS feed.

If you like this article, share it with your friends and colleagues, e.g. via social media:

These sharing buttons are implemented in a privacy-friendly way!