Skip to content

fotisk07/Fourier-Transform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fourier Transform

The Fourier transform (FT) decomposes a function of time (a signal) into the frequencies that make it up, in a way similar to how a musical chord can be expressed as the frequencies (or pitches) of its constituent notes. In this sort repository I will be implementing a general Fourier Transform algorithm capable of decomposing a function f(x) = sin(2apix) + sin(2bpix) ... for constants a,b,.. > 0.

Here is an image of the man who came up with this idea.

Prerequisites

The Code is written in Python 3.6.5 . If you don't have Python installed you can find it here. If you are using a lower version of Python you can upgrade using the pip package, ensuring you have the latest version of pip.

To install pip run in the command Line

python -m ensurepip -- default-pip

to upgrade it

python -m pip install -- upgrade pip setuptools wheel

to upgrade Python

pip install python -- upgrade

Additional Packages that are required are: Numpy and MatplotLib\

You can download them using pip

pip install numpy MatplotLib

or conda

conda install numpy MatplotLib

Usage

  • Create a fake signal and apply the fourier Transform with run.py
    • Basic Usage : python run.py -s a b ...
    • Plots the signal, then the decomposition and saves the figures
    • Option:
      • python run.py -s a b --n True
      • Uses my own implementation of the FFT

Examples

python run.py -s 10 20

python run.py -s 50 200

python run -s 50 100 250 600

Contributing

Please read CONTRIBUTING for the process for submitting pull requests.

Authors

  • Fotios Kapotos - Initial work

This project is licensed under the MIT License - see the LICENSE.md file for details

About

An implementation of the Fourier Transform using Python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages