DFT : The Discrete Fourier Transform

of 126 /126
DFT : The Discrete Fourier Transform Chapter 8

Embed Size (px)

Transcript of DFT : The Discrete Fourier Transform

Microsoft PowerPoint - DSP_Chapter_8Chapter 8
Roots of Unity
Definition: An Nth root of unity is a complex number x such that xN = 1
The Nth roots of unity are: ω0, ω1, …, ωN-1 where ω = e 2π j/N. Proof: (ωk)N = (e 2π j k / N) N = (e π j ) 2k = (-1) 2k = 1.
In DSP, we often take the principal root of unity as
ω0 = 1
8W
Properties of N-th Root of Unity
There are exactly N N-th roots of unity: WN 0, WN
1 , WN 2 , …, WN
N-1
WN is called the principal N-th root of unity The inverse of WN : WN
-1 = WN N-1
N =1 WdN
dk = WN k
N/2 = W(N/2)*2 N/2 = (by property 3) W2 = = -1
If N>0 and N is even, then (WN k )2 = WN/2
k , k = 0, 1, …, N–1
2 /j N NW e π−=
2 /( )j dN dke π− 2 /( )j N ke π−
2 / 2je π−
N k n
N k k n N N
k rN W
N k rN
Circular Shift of a Sequence
Consider length-N sequences defined for
Values of such sequences are not defined for n < 0 and If x[n] is such a sequence, then for any arbitrary integer , the shifted sequence is no longer defined for the range We thus need to define another type of a shift that will always keep the shifted sequence in the range
Nn ≥
5
The desired shift, called the circular shift, is defined using a modulo operation:
For (right circular shift), the above equation implies
[ ] [(( )) ]c o Nx n x n n= −
0>on
−≤≤ 0for
1for
0[ ] [ ] [ ] [ ]cx n x n x n n x n−periodic extension
shift take one period
][nx 6[(( 1)) ]x n −
6[(( 5)) ]x n= + 6[(( 2)) ]x n= +
6[(( 4)) ]x n −
7
As can be seen from the previous figure, a right circular shift by is equivalent to a left circular shift by sample periods
A circular shift by an integer number greater than N is equivalent to a circular shift by
on onN −
Circular Time Shift
Points shifted out to the right don’t disappear – they come in from the left
Like a ‘barrel shifter’:
g[((n-2))5]
origin pointer
Circular Time Reversal
Time reversal is tricky in ‘modulo-N ’ indexing - not reversing the sequence:
Zero point stays fixed; remainder flips
1 2 3 4 n5 6 7 8 9 10 11-7 -6 -5 -4 -3 -2 -1
[ ]x n
Time-reversed periodic sequence
1 2 3 4 n5 6 7 8 9 10 11-7 -6 -5 -4 -3 -2 -1
[ ](( ))Nx n−
[ ] [ ] [ ] [ ]rx n x n x n x n−periodic extension
reversal take one period
Discrete-Time Fourier Transform (DTFT)
The DTFT is useful for the theoretical analysis of signals and systems. But, the definition of DTFT is
The numerical computation of DTFT has several problems: Problem 1: The summation over n is infinite Problem 2: The independent variable ω is continuous DTFT and z-transform are not numerically computable transforms.
Approaches Problem 1 requirement 1 : If the sequence had only a finite number of non-zero terms!
This might be a good assumption since in many cases, we concern only a finite duration of the signal
• The signal itself might be of a finite duration • Only a segment is of interest at a time • Signal is periodic and thus has only finite number of
unique values Problem 2 Requirement 2 : If we needed to compute the spectra only at a finite number of frequencies!
This can be achieved by sampling the DTFT in the frequency domain or the z-transform on the unit circle. The remaining issue is that what will happen for the spectra at other frequencies. Aliasing?
DTFS for a periodic sequence satisfy both requirements
Analysis equation
Synthesis equation
But, DTFS is defined for only periodic signals!!!
Way to get there: Analyze periodic sequences on the basis that a periodic sequence can always be represented by a linear combination of harmonically related complex exponentials Discrete Fourier Series (DFS). Extend the DFS to finite-duration sequences Discrete Fourier Transform (DFT), the solution to the two problems!
[ ] 1
0
N
N −
=

= = −∑
For finite duration sequences, an alternative Fourier representation is DFT (Discrete Fourier Transform)
The summation over n is finite DFT itself is a sequence, rather than a function of a continuous variable Therefore, DFT is computable and important for the implementation of DSP systems DFT corresponds to the samples of the Fourier transform
DFT is very important in DSP systems since there is FFT (Fast Fourier Transform), an extremely efficient and fast way of computing DFT.
8.1 Discrete Fourier Series (DFS)
A discrete-time signal is periodic if
Fundamental period: the smallest positive integer N
Fundamental frequency:
The DFS can represent a periodic discrete signal by a linear combination of harmonically related complex exponentials.
The Fourier series representation of continuous-time periodic signals require infinite number of complex exponentials.
But for discrete-time periodic signals, we have
Due to the periodicity of the complex exponentials, we only need N exponentials for discrete time Fourier series
][~][~ Nnxnx +=
N/20 πω =
( )( ) ( ) ( ) ( )2 / 2 / 2 2 /j N k mN n j N kn j mn j N kne e e eπ π π π+ = =
DFS analysis and synthesis pair is expressed as follows:
The Fourier series coefficients can be obtained via
For convenience we may use the notation
Analysis equation
Synthesis equation
j N kn j N kn
k N k x n X k e X k e
N N π π
− −
=
=∑
[ ] 1
0
N
=
=∑
We can represent the signal with the DFS coefficients as
[ ] 1 [ ]
0r
else δ
0 0 [ ] [ ] 1
N N j N kn j N kn j N k
− − − − −
= =
= = = =∑ ∑
N πδ
∞ −
=−∞ =
= − =∑ ∑
Example 8.2 : Here let the Fourier series coefficients be the periodic impulse train Y[k] , and given by this equation:
Substituting Y[k] into DFS equation gives
Comparing this result with the results for Example 8.1, we see that Y[k]=Nx[k] and y[n]=X[n].
[ ] [ ] r
=−∞
= −∑
N δ
The DFS coefficients
0
j k n
π π π
Shift of a Sequence
←→ ←→
+ ←→ +
[ ] [ ] [ ] [ ]
x n X k x n m e X k
e x n X k m
π
π
←→ ←→ −
Let’s form the product
The periodic sequence with given DFS can be written as a periodic convolution
Periodic convolution is commutative
←→ ←→
[ ] [ ] [ ] 1

=
= −∑

=
= −∑
Interchange summations
Substituting
[ ] [ ] [ ] N N N
kn kn N N
− − −
= = =
= = −
∑ ∑ ∑
[ ] [ ] N N
kn N
− −
= =
= −
∑ ∑

=
− =∑
3 1 2 1 2 1 2 0 0 0
[ ] [ ] [ ] N N N
kn km N N
− − −
= = =
= − = =
∑ ∑ ∑
8.3 Fourier Transform of Periodic Signals
Periodic sequences are not absolute or square summable Hence they don’t have a Fourier Transform per se
We can represent them as sums of complex exponentials: DFS We can combine DFS and Fourier transform (Generalized) Fourier transform of periodic sequences
Periodic impulse train with values proportional to DFS coefficients
This is periodic with 2π since DFS is periodic The inverse transform can be written as
( ) [ ]2 2j
ω π πδ ω ∞
1 2 1
k
k k
kX e e d X k e d N N
kX k e d X k e N N N
π ε π εω ω ω
ε ε
πδ ω ω
Therefore the Fourier transform is
[ ][ ] r
( ) 2 2j
Relation between Finite-length and Periodic Signals
Consider finite length signal x[n] spanning from 0 to N-1 Convolve with periodic impulse train
The Fourier transform of the periodic sequence (called periodic extension) is
This implies that
DFS coefficients of a periodic expansion signal can be thought as equally spaced samples of the Fourier transform of one period (= the original finite duration sequence)
[ ] [ ][ ] [ ] [ ] [ ] r r
=−∞ =−∞
= ∗ = ∗ − = −∑ ∑
( ) ( ) ( ) ( )
kX e X e P e X e N N
kX e X e N N
ω ω ω ω
ω πω=
j jX e eω ω ω ω
−=
[ ] ( ) ( ) ( )
k π π
Consider an aperiodic sequence with its Fourier transform
Assume that a sequence is obtained by sampling the DTFT
Since the DTFT is periodic, resulting sequence is also periodic We can also write it in terms of the z-transform
The sampling points are shown in figure could be the DFS of a sequence
Write the corresponding sequence
ω π= = =
[ ] ( ) ( ) ( )( )2 /
π
N π
[ ]X k
The only assumption made on the sequence is that DTFT exist
Combine equation to get
So we get the periodic extension of x[n]
( ) [ ]j j m
∞ −
=−∞
N π
[ ] ( ) ( )
[ ] ( ) ( ) [ ] [ ]
k m
m k m
x m e x m p n m N
π π
k r p n m e n m rN
N π δ
=−∞ =−∞
= ∗ − = −∑ ∑
In this case, the Fourier series coefficients for a periodic sequence are samples of the Fourier transform of one period
In this case, still the Fourier series coefficients for are samples of the Fourier transform of x[n]. But, one period of is no longer identical to x[n]. This is just sampling in the frequency domain as compared in the time domain discussed before.
[ ]x n
[ ]x n
Samples of the DTFT of an aperiodic sequence can be thought of as DFS coefficients of a periodic sequence obtained through summing periodic replicas of original sequence. periodic expansion If the original sequence is of finite length and we take sufficient number of samples of its DTFT the original sequence can be recovered by
It is not necessary to know the DTFT at all frequencies to recover the discrete-time sequence in time domain Discrete Fourier Transform representing a finite length sequence by samples of DTFT
[ ] [ ] 0 1 0
else ≤ ≤ −
=
Time-domain aliasing The relationship between x[n] and one period of in the undersampled case is considered a form of time domain aliasing. Time domain aliasing can be avoided only if x[n] has finite length, just as frequency domain aliasing can be avoided only for signals being bandlimited. If x[n] has finite length and we take a sufficient number of equally spaced samples of its Fourier transform (specifically, a number greater than or equal to the length of ), then the Fourier transform is recoverable from these samples, equivalently is recoverable from .
[ ]x n
To avoid frequency-domain aliasing Signal is bandlimited Sampling rate in time-domain is high enough
To avoid time-domain aliasing Sequence is finite Sampling interval (2π/N) in frequency-domain is small enough
8.5 The Discrete Fourier Transform
Consider a finite length sequence x[n] of length N
For given length-N sequence associate a periodic sequence (a periodic extension)
The DFS coefficients of the periodic sequence are samples of the DTFT of x[n] Since x[n] is of length N there is no overlap between terms of x[n-rN] and we can write the periodic sequence as
To maintain duality between time and frequency We choose one period of as the Fourier transform of x[n]
[ ] 0 outside of 0 1x n n N= ≤ ≤ −
[ ] [ ] r
=−∞
= −∑
[ ]X k
else ≤ ≤ −
The DFS pair
The equations involve only one period so we can write
[ ] ( ) 1
2 /
0 [ ]
− −
=
=∑
[ ] ( )
X k else
x n N else
The Discrete Fourier Transform
[ ] [ ]DFTX k x n←→
X k else
x n N else
The Discrete Fourier Transform (DFT) of a finite length sequence
The Inverse Discrete Fourier Transform (IDFT) is defined by
A DFT and IDFT pair is shown as
{ } { }1,...,0for ][][DFT][ 1
The inverse discrete Fourier transform (IDFT) is given by
To verify the above expression we multiply both sides of the above equation by and sum the result from n = 0 to 1−= Nnn
NW
we observe that the RHS of the last equation is
but, for k=0,1,…,N-1, there is only one non-zero term at k=l , and RHS =
Hence
=
= − −∑
− −
=
= ≤ ≤ −∑
N π
Periodic Extension of DFT Sequence
We can show that the definitions of DFT and IDFT induces periodicity
1 2 /
− −
=
n N
n N
x n e e
π
k N
k N
X k e e N
X k e x n N
π
N π
DTFS and DFT
X[k] is the Fourier series coefficient (or spectral component) at the frequency Thus except the scale factor, we have the following relationship
Differences between the DFT and the DTFS the DFT assumes signal periodicity while the DTFS requires periodicity the DFT scales the synthesis equation by 1/N whereas the DTFS scales the analysis equation.
0kω
ˆ[ ] [ ]
D FT
ID FT
D TFS
[ ] ( )
( )
j k n
n j k
Still samples of the DTFT but in different places
8.6 Properties of DFT
0 n
−≤≤−=
0 10))(()(~
)( 1 1
)()( kXnx →←DFT
(2 / )(( )) , 0 1 ( ) ( )j N km km N Nx n m n N e X k W X kπ−− ≤ ≤ − ←→ =DFT
53
Duality
* * *
(( )) [ ] [ ] ( ) [ ] [ ]
− ↔ − = −
↔ − = −
Review: Even and Odd Components
Any real-valued signal can be expressed as the sum of an odd signal and an even signal.
( ) ( ) ( ) [ ] [ ] [ ] where
and 1 1( ) { ( ) ( )} [ ]= { [ ] [ ]} an odd function 2 2
e o e o
e e
o o
x t x t x t x n x n x n
x t x t x t x x n x n
= + = +
= + − + −
= − − − −
For a real finite duration sequence
( ) ( )
( ) ( )
e
o
= + − = + −
= − − = − −
Review: Even and Odd Components
If x(t) is a complex valued function: x(t)=xR(t) + j xI(t) x(t) is even iff both the real and imaginary parts of x(t) are even. Similarly x(t) is odd iff both the real and imaginary components of x(t) are odd.
We can also define conjugate symmetry, or Hermitian symmetry: real part of x(t) is even but the imaginary part of x(t) is odd
xR(t)= xR(-t) and xI(t)= -xI(-t) i.e. x*(t)= x*(-t)
59
R I e o e o R R I I
R I e o e o R R I I
x n x n jx n
x n x n j x n x n X k X k jX k
X k X k j X k X k
= +
= + + + = +
= + + +
( ) [ ( ) ( )] [ ( ) ( )]
( ) [ ( ) ( )] [ ( ) ( )]
= + + +
= + + +
X k jX k
X k jX k
61
The Fourier transform of real signals exhibits special symmetry which is important to us in many cases. Basically, The transform of a real signal x[n] is therefore conjugate Symmetric (Hermitian symmetric)
Real part Symmetric (even)
Magnitude Symmetric (even)
Phase Antisymmetric (odd)
62
Example
)(nx
ω→← jeXnx FT
Circular Convolution (Cyclic Convolution)
Circular convolution of two finite length sequences
[ ] [ ] [ ]
[ ] ( )( )
[ ] ( )( )
1 2 0 1
x m x n m
x m x n m n N

=

=

=
= −
= −
= − ≤ ≤ −



The cyclic convolution is not the same as the linear
convolution of linear system theory. It is a by-
product of the periodicity of DFS/DFT.
When the DFT X[k] is used, the periodic interpretation of the signal
x[n] is implicit: if
then for any integer m:
Thus, just as the DFT X[k] is implicitly period-N, the inverse DFT is
also implicitly period-N — the periodic extension of x[n].
][][][ nhnxny N ⊗=
( ) ( ) (( )) ( ) ( ) N
N m
=
= − =∑
)()( 11 kXnx →←DFT )()( 22 kXnx →←DFT
3 1 2 3 1 2( ) ( ) ( ) ( ) ( ) ( )x n x n x n X k X k X k= ←→ =DFT
both of length N
Proof: Circular Convolution Theorem
Suppose we have two finite duration sequences x1[n] and x2[n] of length N. Suppose we multiply the two DFTs together: X3[k] = X1[k]X2[k] What happens when I take the IDFT of X3[k] ?
1
1 1 1 ( )
1( ) [ ]
1 [ ]
1 [ ] [ ]
1 [ ] [ ]
k n l
n l k
X X k W N
x n W x l W W N
x n x l W N
− −
=
− −
=
− − − −
= = =
− − − + −
= = =
=
=
=

=


∑ ∑ ∑
∑ ∑ ∑
and we have , the circular convolution of x1 and x2
68
k
W iff n l m Np p N l m n NP m n
W otherwise
=
= −∑
L=N=6


−≤≤ −
− =
==
+−

= ∑
The procedure of each pair are summed around the circle.
In a while, it will be seen that can be computed using
][*][][ nhnxny =
DFT of each sequence
else ≤ ≤ −
else
π− −
= = =

x n else
≤ ≤ − =
We can augment zeros to each sequence L=2N=12 The DFT of each sequence
Multiplication of DFTs
π
π
Example : Consider the two length-4 sequences repeated below for convenience:
We will take DFT approach
n 3210
78
The 4-point DFT G[k] of g[n] is given by
Therefore
3021 232 ≤≤++= −− kee kjkj ,// ππ
79
Likewise,
3022 232 ≤≤+++= −−− keee kjkjkj ,// πππ
80
4
[0] [0] 1 1 1 1 1 4 [1] [1] 1 1 2 1
W [2] [2] 1 1 1 1 0 2 [3] [3] 1 1 1 1
− − − = = = − − − − − +
4
[0] [0] 1 1 1 1 2 6 [1] [1] 1 1 2 1
W [2] [2] 1 1 1 1 1 0 [3] [3] 1 1 1 1
− − − = = = − − − − +
81
Thus
4
[0] [0] [1] [1]1 *W [2] [2]4 [3] [3]
C C
C C
C C
C C
=





=












−− −− −−=
n1 2 3
n1 2 3
n
1 2 3
4
*
=
−∑
84

From the above
= − ≤ ≤∑
][nge ][nhe
[0] [0] [0] [1] [6] [2] [5] [3] [4] [4] [3] [5] [2] [6] [1]
[0] [0] 1 2 2
e e e e e e e e
e e e e e e
= + + + + + +
= = × =
,)()(][][][][][ 6222101101 =×+×=+= hghgy
87
As can be seen from the above that y[n] is precisely the sequence obtained by a linear convolution of g[n] and h[n]
][nyL
][nyL
define the periodic sequence by
does not have a z-transform or a convergent Fourier sum (why?). But it does have a DFS representation.
The DFS that is the true frequency representation of discrete-time periodic signals. The DFT is just one period of the DFS.
The length-N DFT of the length-N signal contains all the information about . It is convenient to work with.
Whenever the DFT is used, actually the DFS is being used – computations involving are affected by the true periodicity of the coefficients.
{ }1,...,0];[ −= Nnnx { }+∞<<−∞ nnx ];[~
][kX ][~ kX
DFT and z-Transform
The DFT samples the z-transform at evenly spaced samples of the unit circle over one revolution:
{ }1,...,0for |)(][ /2 −∈= =
NkzXkX Nkjez π
DFT and DTFT
The DFT samples on period of the discrete-time Fourier transform (DTFT) at N evenly spaced frequencies
{ }1,...,0for |)(][ /2 −∈= = NkeXkX Nk j
πω ω
It can readily be shown that
∑ ⋅
92
X Y Kω
Discrete-Time Fourier Transform (DTFT)
Discrete Fourier Transform (DFT)
1 ],[][~ 1 ],[][ <+=→<= ∑ ∞
πω ω
can be expressed in matrix form as
where and
10,][][ 1
=
N
2
1
N N N N N N
W W W W W WW
W W W
96
can be expressed in matrix form as
where is the IDFT matrix
1
0
N
( 1) 2( 1) ( 1)
1 1 1 1
N N N N N N
W W W
W W W
97
Example: Matrix Representation
0 0 0 0 4 4 4 4 0 1 2 3
4 4 4 4 4 0 2 4 6
4 4 4 4 0 3 6 9
4 4 4 4
W 1 1 1 1 1 1
W W W W j jW W W W
W W W W j jW W W W
− − = = − − − −
0 0 0 0 4 4 4 4 0 1 2 3
1 4 4 4 4 4 0 2 4 6
4 4 4 4 0 3 6 9
4 4 4 4
1 1 1 1 1 11W 1 1 1 14 1 1
W W W W j jW W W W
W W W W j jW W W W
− − − −
− − −
− − −
− − = = − − − −
Example : The DFT matrices of dimension 2, 3, 4 are as follows:
Suppose



8.7 Linier convolution using the DFT
Efficient algorithms are available for computing the DFT of finite- duration sequence, therefore it is computationally efficient to implement a convolution of two sequences by the following procedure:
Compute the N point discrete Fourier transforms X1[k] and X2[k] for the two sequences given. Compute the product X3[k]= X1[k]X2[k] Compute the inverse DFT of X3[k]
The multiplication of discrete Fourier transforms corresponds to a circular convolution. To obtain a linear convolution, we must ensure that circular convolution has the effect of linear convolution.
[ ] [ ] [ ]3 1 2 m
=−∞
= −∑
Implementing LTI systems using the DFT
Let us consider an L point input sequence x[n] and a P point impulse response h[n]. The linear convolution has finite-duration with length L+P-1. Consequently for linear convolution and circular convolution to be identical, the circular convolution must have the length of at least L+P-1 points.
i.e. both x[n] and h[n] must be augmented with sequence amplitude with zero amplitude.
This process is often referred to as zero-padding.
106
Linear convolution is a key operation in many signal processing applications Since a DFT can be efficiently implemented using FFT algorithms, it is of interest to develop methods for the implementation of linear convolution using the DFT Let g[n] and h[n] be two finite-length sequences of length N and M, respectively Pick Define two length-L sequences
1L N M= + −
Then
Zero-padding with
Length-M Length- )( 1−+ MN
[ ] [ ] [ ] [ ] [[ ] ]CLy n g n h n y n g n h n== =∗
The size of DFT to be used can be any integer L≥N+M-1
108
L0
Filtering Long Sequences
Sometimes we want to filter a sequence that is very long could save up all the samples, then either
» do a really long time-domain convolution, or » use really big DFTs to do it in the frequency domain
but big DFTs may become impractical; besides we get long latency: we have to wait a long time to get any output
Sometimes we want to filter a sequence of indefinite length and then even the methods above don’t work
111
Example: Filtering Long Sequences
Finite-length impulse response h[n] and indefinite-length signal x[n] to be filtered
Implementing Linear Time-Invariant Systems Using the DFT Theoretically, we store the entire samples and then implement the convolution procedure using a DFT for a large number points which is generally impractical to compute. No filter samples can be computed until all the input samples have been collected. Generally, we would like to avoid such a large delay in processing.
The solution of both problems is to use “block convoltuion”.
112
Block Convolution Techniques
All of samples will be segmented into section of appropriate length (L). Each section can then be convolved with the finite-length impulse response and the filtered sections fitted together in an appropriate way.
Overlap-Add Method Overlap-Save Method
114
115
116
117
118
120
124
125
Overlap-add method is the procedure of decomposition of x[n] into nonoverlapping sections of length L and the result of convolving each section with h[n] which are overlapped and added to construct the output.
Comparison
126