FFT base 2 with thinning time

Lecture



Content
Introduction
Split the original sequence by thinning time
Merge procedure. Count "Butterfly"
Graph FFT algorithm with thinning by time. Binary inverse permutation
Turn factors
Computational efficiency of time thinning FFT algorithm
findings

Introduction
Earlier, expressions were given for the DFT and the scheme of the split-join procedure. We will need them for further presentation, so we will give them without explanation.
The expression for the DFT is:
  FFT base 2 with thinning time (one)
The split-join procedure is shown in Figure 1.

  FFT base 2 with thinning time
Figure 1: Splitting and combining sequences with N = 8


Split the original sequence by thinning time
To begin with, the complex exponent in expression (1) is denoted as:
  FFT base 2 with thinning time (2)
Then the expression (1) takes the form:
  FFT base 2 with thinning time (3)
Thinning time consists in splitting the original sequence of samples   FFT base 2 with thinning time ,   FFT base 2 with thinning time in two sequences of duration   FFT base 2 with thinning time   FFT base 2 with thinning time and   FFT base 2 with thinning time ,   FFT base 2 with thinning time such that   FFT base 2 with thinning time , but   FFT base 2 with thinning time ,   FFT base 2 with thinning time . In other words, the sequence   FFT base 2 with thinning time contains sequence counts   FFT base 2 with thinning time with even indices, and   FFT base 2 with thinning time - with odd ones. Thinning time for N = 8 is clearly shown in Figure 2.

  FFT base 2 with thinning time
Figure 2: Thinning time for N = 8

Consider the DFT signal thinned by time:
  FFT base 2 with thinning time (four)
If we consider only the first half of the spectrum   FFT base 2 with thinning time ,   FFT base 2 with thinning time and also consider that
  FFT base 2 with thinning time , (five)
then (4) can be written:
  FFT base 2 with thinning time (6)
Where   FFT base 2 with thinning time and   FFT base 2 with thinning time ,   FFT base 2 with thinning time -   FFT base 2 with thinning time dotted DFT sequences of “even”   FFT base 2 with thinning time and "odd"   FFT base 2 with thinning time ,   FFT base 2 with thinning time :
  FFT base 2 with thinning time (7)
And what did we get? Thinning in time can be considered an algorithm for splitting a sequence into two half-lengths. The first half of the combined spectrum is the sum of the spectrum of the “even” sequence and the spectrum of the “odd” sequence multiplied by the coefficients   FFT base 2 with thinning time which are called rotational coefficients.

Merge procedure. Count "Butterfly"
Now consider the second half of the spectrum   FFT base 2 with thinning time ,   FFT base 2 with thinning time :
  FFT base 2 with thinning time (eight)
Consider the multiplier in more detail.
  FFT base 2 with thinning time . (9)
Consider that
  FFT base 2 with thinning time , (ten)
then expression (10) is true for any integer   FFT base 2 with thinning time , then (9) can be written taking into account (10):
  FFT base 2 with thinning time . (eleven)
Consider now the turning factor in (8):
  FFT base 2 with thinning time . (12)
Then the expression (8) in view of (11) and (12) takes the form:
  FFT base 2 with thinning time (13)
Thus, we can finally write down:
  FFT base 2 with thinning time (14)
Expression (14) is a combination algorithm for thinning by time. This merging procedure can be represented as a graph (Figure 3), which is called “Butterfly”.

  FFT base 2 with thinning time
Figure 3: Combining procedure based on the “Butterfly” graph


Graph FFT algorithm with thinning by time. Binary inverse permutation
We represent in the form of a graph an FFT algorithm with decimation in time based on a partitioning - a combination with   FFT base 2 with thinning time (picture 1).

  FFT base 2 with thinning time
Figure 4: Graph of the FFT algorithm with thinning by time with N = 8

At the first stage, the input signal samples are interchanged and the initial sequence is divided into “even” and “odd sequences” (indicated by red and blue arrows). Then the “even” and “odd” sequences are in turn divided into “even” and “odd” sequences. With   FFT base 2 with thinning time such a division can be done   FFT base 2 with thinning time time. In our case   FFT base 2 with thinning time . This procedure is called binary-inverse permutation, so you can renumber the samples by rewriting the reference number in the binary system in the opposite direction. for example   FFT base 2 with thinning time has an index in decimal   FFT base 2 with thinning time , if   FFT base 2 with thinning time rewrite from right to left then we get   FFT base 2 with thinning time , i.e   FFT base 2 with thinning time after splitting into even odd before the first operation "Butterfly" will be in place   FFT base 2 with thinning time which in turn will fall into place   FFT base 2 with thinning time . By a similar rule, all counts will be swapped, while some will remain in place, in particular   FFT base 2 with thinning time as if   FFT base 2 with thinning time rewrite right to left it will still   FFT base 2 with thinning time similarly   FFT base 2 with thinning time   FFT base 2 with thinning time and   FFT base 2 with thinning time . It is very important to understand that this renumbering method should be used when writing a number in a binary system consisting of   FFT base 2 with thinning time discharges. In the above example, 3 bits of the binary number were used, but if   FFT base 2 with thinning time (   FFT base 2 with thinning time ) then it is necessary to write the number when using 4 digits. In this case   FFT base 2 with thinning time and after rewriting we get   FFT base 2 with thinning time that is, when   FFT base 2 with thinning time   FFT base 2 with thinning time will not remain in place but will be swapped with   FFT base 2 with thinning time .
It can be said that directly binary-inverse permutation is convenient when the number of samples of the input signal is fixed in advance, however, in universal algorithms of FFT for various sizes   FFT base 2 with thinning time , binary inverse permutation is not effective, it is easier and faster to swap samples.
After a binary-inverse permutation, we obtain four 2-point DFTs:
  FFT base 2 with thinning time (15)
Based on four 2-point DFTs, two 4-point DFTs are formed:
  FFT base 2 with thinning time (sixteen)
And at the last level the full spectrum of the input signal is formed.

Turn factors
Consider in more detail the turning factors   FFT base 2 with thinning time .
At the first level (expression (15)), only one rotation coefficient is required.   FFT base 2 with thinning time This means that at the first level of the calculation of the spectrum, multiplication operations are not required (multiplication by   FFT base 2 with thinning time are called trivial, since when multiplied by   FFT base 2 with thinning time the multiplier remains the same or changes its sign to the opposite).
At the second level, we have two turning factors:
  FFT base 2 with thinning time (17)
Multiplication by an imaginary unit can also be considered trivial, since the real and imaginary parts of a complex number simply change places and change their sign.
At the third level, we already have 4 turning factors:
  FFT base 2 with thinning time (18)
Graphically, the steering factors can be represented as vectors on the complex plane:

  FFT base 2 with thinning time
Figure 5: The rotational coefficients of the FFT algorithm with decimation time at N = 8

It can be noted that at all levels of unification the number of pivot coefficients doubles, with all the pivot coefficients of the previous level of unification being present at the next level. Thus, in order to move to the next level, it is necessary to insert the next factors between the rotation coefficients of the current level. Graphically, to go to the next level with N = 16, you need to supplement Figure 5 as shown in Figure 6. Gray vectors show the turning factors that will be present at the last level when   FFT base 2 with thinning time which are not with   FFT base 2 with thinning time .

  FFT base 2 with thinning time
Figure 6: The rotational coefficients of the FFT algorithm with decimation in time at N = 16

It should also be noted that all rotational factors with the exception of zero   FFT base 2 with thinning time are in the lower half-plane of the complex plane.

Computational efficiency of time thinning FFT algorithm
The time thinning algorithm at each level requires   FFT base 2 with thinning time complex multiplications and additions. With   FFT base 2 with thinning time the number of levels of decomposition - the union is   FFT base 2 with thinning time so the total number of multiply and add operations is   FFT base 2 with thinning time .
Consider how many times the FFT algorithm with thinning in time is more efficient than the DFT. To do this, consider the acceleration factor   FFT base 2 with thinning time the ratio of the number of complex multiplication and additions using DFT and FFT, while taking into account that   FFT base 2 with thinning time :
  FFT base 2 with thinning time time. (nineteen)
The table below shows the required number of operations.   FFT base 2 with thinning time for the DFT algorithm for different   FFT base 2 with thinning time and when using FFT with thinning on time.

  FFT base 2 with thinning time four 6 eight ten 12
  FFT base 2 with thinning time sixteen 64 256 1024 4096
  FFT base 2 with thinning time DFT 256 4096 65536 1048576 16777216
  FFT base 2 with thinning time FFT 64 384 2048 10240 49152
  FFT base 2 with thinning time time four 10.7 32 102.4 341

The table clearly shows that the use of FFT leads to a significant reduction in the required number of computational operations. So for example when   FFT base 2 with thinning time FFT requires 100 times fewer operations than DFT, and with   FFT base 2 with thinning time 341 times! The first publication of these results had the effect of a bombshell, rocking the entire scientific community. At the same time, it is very important that the gain in performance is the greater, the larger the sample size   FFT base 2 with thinning time . So for example when   FFT base 2 with thinning time the gain will be   FFT base 2 with thinning time time.

findings
Thus, in order to obtain an effective FFT algorithm for a base 2 with decimation time, with   FFT base 2 with thinning time it is necessary:
  • Carry out the binary-inverse permutation of the samples of the input signal, thereby ensuring the splitting of the sequence.
  • Using the turn factors, make N / 2 operations “Butterfly” according to expression (14) to get the first combination
  • Repeat the “Butterfly” operation according to expression (14) to merge to the next level   FFT base 2 with thinning time times, also using turning factors.
At the output, we obtain the DFT of the input sequence.

Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Digital signal processing

Terms: Digital signal processing