## Time for action – calculating the Fourier transform

First, we will create a signal to transform. Calculate the Fourier transform with the following steps:

1. Create a cosine wave with `30` points as follows:

```x =  np.linspace(0, 2 * np.pi, 30)
wave = np.cos(x)```
2. Transform the cosine wave with the `fft()` function:

`transformed = np.fft.fft(wave)`
3. Apply the inverse transform with the `ifft()` function. It should approximately return the original signal. Check with the following line:

`print(np.all(np.abs(np.fft.ifft(transformed) - wave) < 10 ** -9))`

The result appears as follows:

```True
```
4. Plot the transformed signal with matplotlib:

```plt.plot(transformed)
plt.title('Transformed cosine')
plt.xlabel('Frequency')
plt.ylabel('Amplitude')
plt.grid()
plt.show()```

The following resulting diagram shows the FFT result:

### What just happened?

We applied the `fft()` function to a cosine wave. After applying the `ifft()` function, we got our signal back (see `fourier.py`):

```from __future__ import print_function
import numpy as np
import matplotlib...```