Skip to main content

DFT and FFT with Python and It is applications on various signals

Fast Fourier Transform (FFT) is one of the most important algorithms in computer science, electronics and signal processing engineering. It is a fast solver for Discrete Fourier Transform (DFT). Basically, DFT or FFT transforms signals from time-amplitude domain to frequency-amplitude domain. The reverse form of the FFT is known as Inverse Fast Fourier Transform which converts, naturally, signals from frequency domain to time domain.

FFT is heavily used in communication, radar or computer systems. For example OFDM (orthogonal frequency division multiplexing) is developed based on IFFT and FFT. Since Python is most common used scientific programming language beside Matlab, I would like to present some information about FFT and using it in Python.




This blog post (https://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/) includes the basics of the FFT and very clear comparison of  it to DFT. Another blog post (https://www.ritchievink.com/blog/2017/04/23/understanding-the-fourier-transform-by-example/) which includes a very good example of the FFT. This page (https://plot.ly/python/fft-filters/) has FFT filters using Python. An OFDM example which utilizes FFT and IFFT in Python is presented here (https://dspillustrations.com/pages/posts/misc/python-ofdm-example.html) .

An extra link: (http://www.music.helsinki.fi/tmt/opetus/uusmedia/esim/index-e.html) in which you can find some .wav sound examples to process using FFT. An application of short-term FFT on sounds: short term 
Sound Processing with Short Time Fourier Transform

Another working Python example of the short-term FFT which examine .wav files to find out power of the sound at specific frequency and time blocks.

Popular posts from this blog

Most Popular and Best Video Games in 2021

The video game industry is one of the biggest virtual industries in the world. Almost half of the world's population is regularly playing games to relieve the stress in their lives. As a result, the importance of the gaming industry is increasing every passing year. Thus, we wanted to compile the most popular video games in 2021 for you! Do not miss your chance to check out the following games to give them a try. These games have been chosen by our editor and we are sure that you will enjoy playing them. Computer games are played by everyone ! These are the best video games in 2021 according to our game editor, please keep reading for the details of each game. Call of Duty: Modern Warfare FIFA 2021 Fortnite New World Apex Legends Top 5 - Most Popular Video Games in 2021 Here are the top 5 most popular video games that managed to be highly popular in 2021. We bet you have played some of these amazing games before! 1. Call of Duty: Modern Warfare Call of Duty is one of the most popul

Electromagnetic Modelling and Antenna Simulation via Opensource Software

Commercial electromagnetic simulation (EM) software packages such as CST Microwave Studio and  ANSYS HFSS are widely used in commercial applications and educational purposes. Based on my experience, they provide very accurate results which match measurements in most antenna works. On the other hand, there are also very solid opensource software and applications which may also provide similar results in some applications. Antennas are also used in radio telescopes While commercial EM software suits usually have very good documentations, easy-to-use interference, and result visualisation and navigation tools, opensource EM software suits might consist of only the solver and documentation which explains how it should be used and implemented for design and simulation via an interference and a programming language such as Python, MATLAB, C++ . As they are opensource, it is also possible to edit their codes and advance their functions and performance. Thus, these features makes opensource

On the performance of Matlab and Parallel Computing

MATLAB is one of the most powerful scientific computing tools along with Python. Although Python is my favorite scientific programming language since it is opensource, well-documented and has plenty of libraries, I sometimes use MATLAB especially while dealing with very large matrices as MATLAB is highly optimized for large-scale matrix operations, consequently, it performs better at processing very large matrices. From a parallel computing perspective, MATLAB actually strives to utilize all available CPU cores in a parallel way to maximize its performance and reduce the computation time when it is possible. Therefore, it does a kind of parallel computing when it is possible such as in matrix operations as these operations are very suitable to be run parallelly.  However, the parallel operation of the MATLAB might be restricted by bad coding practice of the users especially using for or while loops, because those loops are generally performed in a serial manner with an increasi