Source: https://www.le.ac.uk/users/dsgp1/COURSES/LEIMETZ/FOURIER.pdf