Decimation in time and frequency

31,172 views
30,564 views

Published on

useful for pg students

4 Comments
30 Likes
Statistics
Notes
No Downloads
Views
Total views
31,172
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
1,128
Comments
4
Likes
30
Embeds 0
No embeds

No notes for slide
  • example of the time domain decomposition used in the FFT. The next step in the FFT algorithm is to find the frequency spectra of the 1 point time domain signals. Nothing could be easier; the frequency spectrum of a 1 point signal is equal to itself . This means that nothing is required to do this step. Although there is no work involved, don't forget that each of the 1 point signals is now a frequency spectrum, and not a time domain signal. The last step in the FFT is to combine the N frequency spectra in the exact reverse order that the time domain decomposition took place.
  • 问题:式中, k 只有 N/2 个取值,只能计算 X ( k )的前一半的值。可利用 W 的周期性和对称性计算后一半的值。
  • DIF-FFT 是先做碟形运算,然后再求两个 N/2 点的 DFT DIT-FFT 是先求两个 N/2 点的 DFT ,然后再将求得的结果用碟形运算合成为一个 N 点的 DFT 。
  • DIF-FFT 是先做碟形运算,然后再求两个 N/2 点的 DFT DIT-FFT 是先求两个 N/2 点的 DFT ,然后再将求得的结果用碟形运算合成为一个 N 点的 DFT 。
  • Decimation in time and frequency

    1. 1. DECIMATION INTIME AND FREQUENCY Dr. C. Saritha Lecturer in Electronics SSBN Degree & PG College ANANTAPUR
    2. 2. INDEX INTRODUCTION TO FFT DECIMATION IN TIME(DIT) DECIMATION IN FREQUENCY(DIF) DIFFERENCES AND SIMILARITIES
    3. 3. Fourier TransformA fourier transform is an useful analytical tool that is important for many fields of application in the digital signal processing. In describing the properties of the fourier transform and inverse fourier transform, it is quite convenient to use the concept of time and frequency. In image processing applications it plays a critical role.
    4. 4. Fast fourier transform Fast fourier transform proposed by Cooley and Tukey in 1965. The fast fourier transform is a highly efficient procedure for computing the DFT of a finite series and requires less number of computations than that of direct evaluation of DFT. The FFT is based on decomposition and breaking the transform into smaller transforms and combining them to get the total transform.
    5. 5. Discrete Fourier Transform The DFT pair was given as N −1 1 N− 1 X [ k ] = ∑ x[n]e − j ( 2π / N ) kn x[n] = ∑ X[k ] e j( 2π / N) kn N k=0 n= 0Baseline for computational complexity:Each DFT coefficient requires N complex multiplications N-1 complex additionsAll N DFT coefficients require N2 complex multiplications N(N-1) complex additions
    6. 6. What is FFT? The fast fourier is an algorithm used to compute the DFT. It makes use of the symmetry and periodicity properties of twiddle factor wN to effectively reduce the DFT computation time. It is based on the fundamental principle of decomposing the computation of DFT of a sequence of length N into successively smaller DFT.
    7. 7. Symmetry and periodicity kn ∗ − kn Symmetry (W ) = W N N k (n+ N ) (k + N )n Periodicity W kn N =W N =W N − kn k ( N −n) n( N −k ) W N =W N =W N W nk N =W mnk mN , W nk N =W nk / m N /m ( k + N/ 2 ) W N N/ 2 = −1, W N = −W k N
    8. 8.  FFT algorithm provides speed increase factors, when compared with direct computation of the DFT, of approximately 64 and 205 for 256 point and 1024 point transforms respectively. The number of multiplications and additions required to compute N-point DFT using radix-2 FFT are Nlog2N and N/2 log2N respectively.
    9. 9.  Example:The number of complex multiplications required using direct computation is N2=642 =4096The number of complex multiplications required using FFT is N/2log2 N=64/2log2 64=192Speed improvement factor =4096/192= 21.33.
    10. 10. FFT Algorithms There are basically two types of FFT algorithms. They are:1. Decimation in Time2. Decimation in frequency
    11. 11. Decimation in time DIT algorithm is used to calculate the DFT of a N-point sequence. The idea is to break the N-point sequence into two sequences, the DFTs of which can be obtained to give the DFT of the original N-point sequence. Initially the N-point sequence is divided into N/2-point sequences xe(n) and x0(n) , which have even and odd numbers of x(n) respectively.
    12. 12.  The N/2-point DFTs of these two sequences are evaluated and combined to give the N-point DFT. Similarly the N/2-point DFTs can be expressed as a combination of N/4-point DFTs. This process is continued until we are left with two point DFT. This algorithm is called decimation-in-time because the sequence x(n) is often split into smaller sequences.
    13. 13. Radix-2 DIT- FFT Algorithm Radix-2: the sequence length N satisfied: N = 2L L is an integer To decompose an N point time domainsignal into N signals each containing asingle point. Each decomposing stage usesan interlace decomposition, separating theeven- and odd-indexed samples; To calculate the N frequency spectracorresponding to these N time domainsignals.
    14. 14. Radix-2 DIT- FFT Algorithm1 signal of 16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15points2 signals of 8 0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 15points4 signals of 4 0 4 8 12 2 6 10 14 1 5 9 13 3 7 11 15points8 signals of 2 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15points16 signals of 1 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15point
    15. 15. Radix-2 DIT- FFT Algorithm  Algorithm principle  To divide N-point sequence x(n) into two N/2-point sequence x1(r) and x2(r) Nx1 ( r ) = x( 2r ); x 2 ( r ) = x ( 2r + 1) , r = 0,1,2,  − 1 2  To compute the DFT of x1(r) and x2(r) N N −1 −1 2 2 NX 1 ( k ) = ∑ x1 ( r )W rk N = ∑ x ( 2r )W rk N (k = 0 ~ − 1) r =0 2 r =0 2 2 N N −1 −1 2 2 NX 2 ( k ) = ∑ x 2 ( r )W rk N = ∑ x ( 2r + 1)W rk N (k = 0 ~ − 1) r =0 2 r =0 2 2
    16. 16.  To compute the DFT of N-point sequence x(n) N −1 N −1 N −1X ( k ) = ∑ x( n)W nk N = ∑ x(n)W nk N + ∑ x(n)W nk N n= 0 n = 0 ( even ) n = 0 ( odd ) N N −1 −1 2 2= ∑ x ( 2r )W N rk + ∑ x( 2r + 1)W N2 r +1) k r =0 2 r =0 ( N N −1 −1 2 2= ∑ x (r )W r =0 1 rk N +W k N ∑ x (r )W r =0 2 rk N 2 2= X 1 (k ) + W N X 2 (k ) k ( k = 0,1,2,  N − 1)
    17. 17. N X ( k ) = X 1 ( k ) + W X 2 ( k ) ( k = 0,1,  − 1) k N 2 N N N (k+ ) N X (k + ) = X 1 (k + ) + W N 2 X 2 (k + ) 2 2 2 N = X 1 (k ) − W N X 2 (k ) k ( k = 0,1,  − 1) 2 x1 ( r ) X 1 (k )x(n) X (k ) x2 (r ) X 2 (k )
    18. 18.  Butterfly computation flow graph N X (k ) = X 1 (k ) + W X 2 (k ) k N ( k = 0,1,  − 1) 2 N N X (k + ) = X 1 (k ) − W N X 2 (k ) k ( k = 0,1,  − 1) 2 2X 1 (k ) X 1 (k ) + W N X 2 (k ) k k WNX 2 (k ) X 1 (k ) − W N X 2 (k ) k −1There are 1 complex multiplication and 2 complex additions
    19. 19. X 1 ( 0) x1 (0) = x (0) X ( 0) X (1) x1 (1) = x ( 2) N/2- 1 X (1)x1 ( r ) point X ( 2) x1 ( 2) = x (4) 1 X ( 2) DFT X 1 ( 3) x1 ( 3) = x (6) X ( 3) 0 X 2 ( 0) WN x 2 (0) = x (1) −1 X ( 4) 1 X 2 (1) WN x 2 (1) = x ( 3) N/2- −1 X ( 5)x2 ( r ) point X 2 ( 2) 2 WN x 2 ( 2) = x ( 5) −1 X ( 6) DFT 3 X 2 ( 3) WN x 2 ( 3) = x ( 7 ) −1 X (7) N-point DFT
    20. 20. Radix-2 DIT- FFT Algorithm  The computation complexity for N = 2 3 x (n) X (k ) 2-point Synthesize DFT the 2-point 2-point DFTs into a DFT 4-point DFT Synthesize the 4-point 2-point Synthesize DFTs into a DFT the 2-point 8-point DFT 2-point DFTs into a DFT 4-point DFT3-stage synthesize, each has N/2 butterfly computation
    21. 21. Radix-2 DIT- FFT Algorithm•At the end of computation flow graph at anystage, output variables can be stored in thesame registers previously occupied by thecorresponding input variables.•This type of memory location sharing is calledin-place computation which results in significantsaving in overall memory requirements.
    22. 22.  The distance between two nodes in a butterfly For N = 2 L there are L stages Stage Distance stage 1 1 stage 2 2 stage 3 4  stage L 2 L −1
    23. 23. Radix-2 DIT- FFT Algorithm  Bit-reversed orderIn the DFT computation scheme, the DFT samples X(k)appear at the output in a sequential order while the inputsamples x(n) appear in a different order: a bit-reversedorder.Thus, a sequentially ordered input x(n) must be reorderedappropriately before the fast algorithm can be implemented.Let m, n represent the sequential and bit-reversed order inbinary forms respectively, then:m: 000 001 010 011 100 101 110 111n: 000 100 010 110 001 101 011 111
    24. 24.  Why is the input bit-reversed order n0 n1 n2 0 x (000) x (0) 0 0 1 x (100) x (4) 0 1 x (010) x (2)x ( n2 n1n0 ) 1 x (110) x (6) 0 0 x (001) x (1) 1 1 x (101) x (5) 0 1 x (011) x (3) 1 x (111) x (7 )
    25. 25.  How to get the bit-reversed order Let n represent the natural order, the ˆ n represent the bit-reversed order, then: if n > n , ˆ x ( n) ⇔ x ( n) ˆ A(0) A(1) A( 2) A( 3) A(4) A(5) A(6) A(7 )n x (0) x (1) x ( 2) x ( 3) x ( 4) x ( 5) x ( 6) x(7)ˆn x ( 0) x ( 4) x ( 2) x ( 6) x (1) x ( 5) x ( 3) x(7)
    26. 26. Decimation-In-Frequency It is a popular form of FFT algorithm. In this the output sequence x(k) is divided into smaller and smaller subsequences, that is why the name decimation in frequency, Initially the input sequence x(n) is divided into two sequences x1(n) and x2(n) consisting of the first n/2 samples of x(n) and the last n/2 samples of x(n) respectively
    27. 27. Radix-2 DIF- FFT Algorithm Algorithm principle To divide N-point sequence x(n) into two N/2-point sequence NThe former N/2-point x( n), 0 ≤ n ≤ −1 2 N NThe latter N/2-point x( n + ), 0 ≤ n ≤ − 1 2 2
    28. 28. x (n) 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 butterfly computation 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 butterfly computation butterfly computation 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 butterfly butterfly butterfly butterflyX (k ) 0 4 2 6 1 5 3 7
    29. 29.  To compute the DFT of N-point sequence x(n) N −1 N −1 2 N −1X ( k ) = ∑ x ( n)W nk N = ∑ x(n)W nk N + ∑ x(n)W nk N n=0 n=0 N n= 2 N N −1 −1 2 2 N N ( n+ ∑ x(n)W + ∑ x ( n + )W N )k= nk N 2 n=0 n=0 2 N −1 2  N N  nk= ∑  x ( n) + W N x ( n + )W N k 2 n=0  2  N −1= ∑ 2  x ( n) + ( −1) k x ( n + N )W nk ( k = 0,1,  N − 1) n=0  2  N 
    30. 30. Radix-2 DIF- FFT Algorithm  To separate the even and odd numbered samples of X(k) N let k = 2r , k = 2r + 1, ( r = 0,1,  , − 1) 2 N −1 2  x ( n) + x ( n + N )W nr ( r = 0,1,  N − 1) X ( 2r ) = ∑ n=0  2  N  2 2 N −1 2X ( 2r + 1) = ∑   x ( n) − x ( n + N )W nW nr ( r = 0,1,  N − 1) n=0  2  N N 2 2
    31. 31. Radix-2 DIF- FFT Algorithm  N  x1 ( n) = x ( n) + x ( n + 2 )  Nlet  n = 0,1,  − 1  N  n 2  x 2 ( n) =  x ( n) − x ( n + )W N    2  N −1 2 N X ( 2r ) = ∑ x (n)W n= 0 1 nr N 2 ( r = 0,1,  − 1) 2 N −1 2 N X ( 2r + 1) = ∑ x (n)W n=0 2 nr N 2 ( r = 0,1,  − 1) 2
    32. 32. Radix-2 DIF- FFT Algorithm  Butterfly computation flow graph x(n) N x1 ( n) = x( n) + x( n + ) 2 n N WN  N  nx( n + ) x 2 ( n ) =  x ( n ) − x ( n + ) W N 2 −1  2  There are 1 complex multiplication and 2 complex additions
    33. 33. for N = 2 3 x1 (0)x ( 0) X ( 0) x1 (1)x(1) N/2- X ( 2) point x1 ( 2)x ( 2) X ( 4) DFT x1 ( 3)x ( 3) X ( 6) 0 WN x 2 ( 0)x ( 4) −1 X (1) 1 WN x 2 (1)x ( 5) N/2- X ( 3) −1 2 WN x 2 ( 2) pointx ( 6) −1 X ( 5) 3 DFT WN x 2 ( 3)x(7) −1 X (7)
    34. 34. for N = 2 3x ( 0) X ( 0) 0 WNx (1) X ( 4) 0 −1 WNx ( 2) X ( 2) −1 2 0 WN WNx ( 3) X ( 6) −1 −1 0 W Nx ( 4) X (1) −1 1 0 WN WNx ( 5) X ( 5) −1 −1 2 0 WN WNx ( 6) X ( 3) −1 −1 3 2 0 WN WN WNx(7) X (7) −1 −1 −1
    35. 35. Radix-2 DIF- FFT Algorithm  The comparison of DIT and DIF The order of samplesDIT-FFT: the input is bit- reversed order and the outputis natural orderDIF-FFT: the input is natural order and the output is bit-reversed order The butterfly computationDIT-FFT: multiplication is done before additionsDIF-FFT: multiplication is done after additions
    36. 36. Radix-2 DIF- FFT Algorithm Both DIT-FFT and DIF-FFT have the identical computation complexity. i.e. for N = 2 L , there are total L stages and each has N/2 butterfly computation. Each butterfly computation has 1 multiplication and 2 additions. Both DIT-FFT and DIF-FFT have the characteristic of in-place computation. A DIT-FFT flow graph can be transposed to a DIF- FFT flow graph and vice versa.

    ×