# Fourier Transform Analysis for Large Signal

Frequency Response in ATLAS

The **ATLAS** device simulation framework has
been to improve the analysis the large signal transient behavior.
These features include a simple specification for single frequency
sinusoidal waveforms and frequency domain representation of large
signal data. Applications include all classes of RF devices in both
silicon and III-V technologies.

A single frequency sinusoid can be specified
on the `SOLVE` statement by
using the `TRANS.ANALY` and
the `FREQUENCY` parameters.
The number of periods can then be set by using the `CYCLES`
parameter.

The data stored in a `LOG`
file from a transient simulation can be transformed
from the time domain to the frequency domain by using the new
`FOURIER` statement. This performs
a Fast Fourier Transform (FFT) on the `LOG` file
data, calculating the magnitude and phase spectra of each entry,
in addition the real and imaginary values.

The syntax of the `FOURIER`
statement is as follows:

FOURIER INFILE OUTFILE [T.START T.STOP FUNDAMENTAL MAX.HARMONIC NUM.SAMPLES INTERPOLATE REAL.VALUES]

The data contained in the `LOG`
file specified by `INFILE` will
be transformed and written to `OUTFILE`. The
user can select the time window to be transformed by use of the
`T.START `and `T.STOP`
parameters. By default `FOURIER`
will use all of the transient simulation data.

The fundamental frequency will be automatically
calculated, but can be overridden by specifying `FUNDAMENTAL`
on the `FOURIER` statement.
The maximum harmonic frequency calculated by the FFT is determined
by the number of discrete samples (`NUM.SAMPLES`)
and the fundamental frequency. The number
of samples should be 2 where n is a positive
integer. Alternatively, the maximum harmonic frequency can be set
by using the `MAX.HARMONIC` parameter.
In this case, the number of samples is determined by **ATLAS**.

The FFT requires uniformly spaced data samples
from the transient simulation. Typically in **ATLAS** however
the time steps are not uniformly spaced. `INTERPOLATE`
must be specified on the `FOURIER`
statement. **ATLAS** will then interpolate
the `LOG` file data, ensuring
that the time steps are uniform within the FFT.

The real and imaginary values can be stored
in the output file by specifying `REAL.VALUES. `

Application Example

To illustrate the use of the FFT, a 0.1GHz sine wave was applied to the anode of a silicon diode. Figure 2 shows the resulting nonlinear anode current response. Figure 1 shows the magnitude of the anode current after it has been transformed into the frequency domain. To increase the frequency resolution, 10 periods of data were used by the FFT. It can be seen that additional harmonic frequencies are present at 0.2, 0.3, 0.4, 0.5 and 0.6GHz.

Figure 1. Large signal frequency spectrum exacted from FOURIER analysis.

Figure 2. Non linear large signal response of silicon diode.