# Package Modelica.​Math.​FastFourierTransform.​ExamplesExamples demonstrating the usage of the Math.FastFourierTransform functions

### Information

This icon indicates a package that contains executable examples.

Extends from `Modelica.​Icons.​ExamplesPackage` (Icon for packages containing runnable examples).

### Package Contents

NameDescription
`RealFFT1`Example demonstrating the use of an FFT calculation during simulation (and storing both amplitudes and phases on file)
`RealFFT2`Example demonstrating the use of an FFT calculation during simulation (and storing only amplitudes on file)

## Model Modelica.​Math.​FastFourierTransform.​Examples.​RealFFT1Example demonstrating the use of an FFT calculation during simulation (and storing both amplitudes and phases on file)

### Information

In this example the signal y

```   y = 5 + 3*sin(2*pi*f1) + 1.5*cos(2*pi*f2)
```

is sampled and an FFT is computed from the sampled signal (default: f1 = 2 Hz, f2 = 3 Hz). In the public part the FFT is stored up to f_max (internally in the protected part the FFT is stored up to 5*f_max). With the default values for f_max (= 4 Hz) and f_resolution (= 0.2 Hz), the following results are achieved:

```   fi[0]  = 0,  Ai[0]  = 5;   // mean value of signal
fi[11] = 2,  Ai[11] = 3;   // frequency/amplitude of sine
fi[16] = 3,  Ai[16] = 1.5; // frequency/amplitude of cosine
```

A plot of the resulting FFT is shown in the next image:

Note, phases of small amplitudes (= smaller as 0.0001*maximalAmplitude) are explicitly set to zero, since the corresponding "phase" is numerical noise (and would just be confusing). Furthermore, note that the FFT phases are with respect to a cos(..) signal.

Extends from `Modelica.​Icons.​Example` (Icon for runnable examples).

### Parameters

TypeNameDefaultDescription
`Frequency``f_max``4`Maximum frequency of interest
`Frequency``f_resolution``0.2`Frequency resolution
`Frequency``f1``2`Frequency of sine
`Frequency``f2``3`Frequency of cosine
`String``FFT_resultFileName``"RealFFT1_resultFFT.mat"`File where FFT will be stored as [f,A,Phi], with f in {Hz] and A the amplitudes and Phi the phases in [rad]
`final ``Integer``nfi``max(1, min(integer(ceil(f_max / f_resolution)) + 1, nf))`Number of frequency points of the interested frequency range (only up to f_max)
`final ``Frequency``fi[nfi]` FFT frequencies of interested frequency points

## Model Modelica.​Math.​FastFourierTransform.​Examples.​RealFFT2Example demonstrating the use of an FFT calculation during simulation (and storing only amplitudes on file)

### Information

This is the same example as Examples.RealFFT1 with the only difference that just the amplitudes of the FFT are stored on file (but not the phases).

Extends from `Modelica.​Icons.​Example` (Icon for runnable examples).

### Parameters

TypeNameDefaultDescription
`Frequency``f_max``4`Maximum frequency of interest
`Frequency``f_resolution``0.2`Frequency resolution
`Frequency``f1``2`Frequency of sine
`Frequency``f2``3`Frequency of cosine
`String``FFT_resultFileName``"RealFFT2_resultFFT.mat"`File where FFT will be stored as [f,A,Phi], with f in {Hz] and A the amplitues and Phi the phases in [rad]
`final ``Integer``nfi``max(1, min(integer(ceil(f_max / f_resolution)) + 1, nf))`Number of frequency points of the interested frequency range (only up to f_max)
`final ``Frequency``fi[nfi]` FFT frequencies of interested frequency points