Algorithmics 03 – Signal by Fourier Transforms- FFT – 3

How do a Fast Fourier Transform by Cooley and Tukey Algorithms ? Why High Potential with a high level QI don’t understand official physics memorization ? The answer is in the question : nobody ask you to … understand ! Then let’s read the original engineers experts ! Come Back to … 1964.

It is a simple demonstration in thesis annexis. Here is a resume. (Not so clear to read for you. We know it)

Let’s read the original document [COOLEY-TUKEY-1964] : We decompose signal with index on any base, for example as well as the results we decompose it on any base so that we have . One of a trick is using or to symplify equations. After many times, more complicated than difficult, we estimate the ratio when . The smallest is it the more efficient for the number of calculations we got.

See one of demonstration [CIPRIA-2017] or the original. The result is :

2 ==> 2

3 (Let’s read e=2.718) ==> 1.88

4 ==> 2

5 ==> 2.15

The more efficient base is 3 as integer or e=2.718 in the continuous domain. Then 3 is the closer integer. The more adapted for calculator is 2. If we use QAM (4), old wireless transmission example (« air interface »), we should perform directly in 4 base more than 2 base !

We traduct C. T . here to avoid some bad interpretation

is the calculation base we search for.

is a constant then is also a constant for fixed.

Key Resume

Fast Fourier Transform (FFT).

Cooley–Tukey FFT Algorithm (FTTCT).

Discrete Fourier Transform (DFT).

Let’s try to find the r right base with Matlab

In the following picture [CIPRIA-2017] we search as a possible base to made calculations. We need to know if 10 base, 16 hexadecimal base or other is the more efficient to tend from calculations to a PROPORTIONALlimit to .

Why is r = 2.718 = e the best efficiency for a calculation base ?

Cooley and Tukey didn’t answer this question but we need to understand to … anticipate.It is the aim of physics and sciences !

OR, very simple ? 😉 We decompose all on a objects when we do a Fourier Transform. Those objects are perpendicular when change. This decomposition permits to retreive all possible in the frequencies domain. Then objects form a mathematical base with dimension … ? . CQFD.

OR, with other words, if you project on other base than then the projections are not perpendicular or and then distances increase. CQFD

OR, the derivative function is nul for an extremum :

==> CQFD

Do we Play it with Matlab ?

Let’s try three different algorithms

Let’s try input signal with two frequencies :

Let’s try Normal Fourier Transform :

Let’s try Matlab FFT :

Let’s try FFT with Only One Partition :

We just separate in two blocks all the samples. Then we do calculation twice with .

A simple prove is on Wikipedia English. Students can follow the demonstration on the first order or read Cooley and Tukey [COOLEY-TUKEY-1964]. Don’t try French courses you will not understand anything .

CT Algorithm by One Partition Comparisons

We divide calculation in only two parts. A duration for a Fourier transform lasted 3.22 seconds against 1.83 seconds for the FFT with one partition. Then the gain is 1.8. We remark Matlab FFT had lasted 0.0012 seconds.

Double Partition

We divide calculation in only four parts. A duration for a Fourier transform lasted 3.33 seconds against 0.73 seconds for the FFT with two partition. Then the gain is 4.5. We remark Matlab FFT had lasted 0.0016 seconds.

Rapidity Comparison ?

Cooley and Tukey runs about two more rapidly than normal Fourier Transform (1.7 to 2 when N increase) when you just divide algorithm in two parts with .CQFD by Measurements.

The Matlab function follows a and not a . Then when you evaluate Cooley and Tukey you got and not written on every French and English courses. Why ? You must multiply by 2 because the efficiency coefficient is 2 and not 1. (See first paraph).