A Python implementation of 1D and 2D Fourier Transform techniques including Discrete Fourier Transform (DFT), Fast Fourier Transform (FFT), Inverse Discrete Fourier Transform (IDFT), and Inverse Fast Fourier Transform (IFFT). These techniques are fundamental in the field of signal processing for analysing the frequency components of signals and images.
Figure 1. Transformed 2D signal in spatial domain
A full, detailed report of the process in Polish can be read in report.pdf
- DFT and FFT: Compute the frequency spectrum of one-dimensional signals.
- IDFT and IFFT: Reconstruct signals from their frequency components.
- 2D FFT: Extend the analysis to two-dimensional signals or images.
- Amplitude and Noise Analysis: Analyse the amplitude responses and noise characteristics of signals.
- Visualisations: Visualise signals, frequency spectra, and noise in various graphical formats.
To run the scripts in this repository, you will need Python along with several libraries. Ensure you have the following installed:
- Python 3.6+
- NumPy
- Matplotlib
These can be installed using pip if not already installed:
pip install numpy matplotlib
Clone the repository to your local machine:
git clone https://github.com/your-username/FFT.git
Navigate to the project directory and execute the main script to start the analysis:
cd FFT
python main.py
The script will prompt for input regarding the dimensionality of the data (1D or 2D) and process accordingly. The results including graphical outputs will be displayed during the run.