Digital Signal Processing – Chapter 10 Fourier Analysis of Discrete-Time Signals and Systems Dr. Ahmed Samir Fahmy Associate Professor Systems and Biomedical Eng. Dept. Cairo University Complex Variables Complex Variables • Most of the theory of signals and systems is based on functions of a complex variable • However, practical signals are functions of a real variable corresponding to time or space • Complex variables represent mathematical tools that allow characteristics of signals to be defined in an easier to manipulate form ▫ Example: phase of a sinusoidal signal Complex Numbers and Vectors • A complex number z represents any point (x, y): z = x + j y, ▫ x =Re[z] (real part of z) ▫ y =Im[z] (imaginary part of z) ▫ j =Sqrt(-1) • Vector representation ▫ Rectangular or polar form ▫ Magnitude and Phase Complex Numbers and Vectors • Identical: use either depending on operation ▫ Rectangular form for addition or subtraction ▫ Polar form for multiplication or division • Example: let More Difficult Complex Numbers and Vectors • Powers of complex numbers: polar form • Conjugate Functions of a Complex Variable • Just like real-valued functions ▫ Example: Logarithm • Euler’s identity ▫ Proof: compute polar representation of R.H.S. ▫ Example: Functions of a Complex Variable • Starting from Euler’s Identity, one can show: Phasors and Sinusoidal Steady State • A sinusoid is a periodic signal represented by, • If one knows the frequency, cosine is characterized by its amplitude and phase. • Define Phasor as complex number characterized by amplitude and the phase of a cosine signal ▫ Such that example • Example: Steady state solution of RC circuit with input ▫ Assume that the steady-state response of this circuit is also a sinusoid ▫ Then, we can let ▫ Substitute in The Fourier Transform On Board Illustration this slide is intentionally left blank Discrete-Time Fourier Transform • Sampled time domain signal periodic Fourier transform • Periodic time domain signal sampled Fourier transform • Periodic and sampled time domain signal Fourier transform that is both periodic and sampled Forward DTFT Inverse DTFT Notes on DTFT DTFT • DTFT is periodic, with period 2π: • For convergence: Notes on DTFT Eigen functions: • Let the input to LTI be: • Using Convolution: The O/P is similar to I/P (multiplied by a factor) DTFT of h[k] calculated at input frequency DTFT vs. Z-Transform DTFT • Compare to z-transform, it is clear that: • DTFT is the values on the unit circle in z-Transform • Unit circle must be included in the ROC DTFT vs. Z-Transform Example • Consider the noncausal signal ▫ Determine its DTFT. ▫ Use the obtained DTFT to find • Solution: ▫ Z-trans: ▫ The ROC is: 1st term: Overall ROC: , with 2nd term: includes unit circle! DTFT vs. Z-Transform Example • Thus the DTFT is given by • Also, the DC component is given by: • Another way to calculate is: Notes on DTFT • Problem: the sampled signal is still infinite in length ▫ Impossible to obtain using computers ▫ Consider cases when the signal has compact support ▫ The frequency variable is continuous! Discrete Fourier Transform (DFT) • Defined as the Fourier transform of a signal that is both discrete and periodic ▫ Fourier transform will also be discrete and periodic ▫ Can assume periodicity if we have a finite duration of a signal: better than zero assumption since it allows reducing the frequency domain to a sampled function Discrete Fourier Transform (DFT) Discrete Fourier Transform (DFT) Discrete Fourier Transform (DFT) Discrete Fourier Transform (DFT) X (e jw ) e jwN1 sin( w( N1 1/ 2)) sin( w / 2) N 1 j 2 k n N X (k ) e n 0 1 e j 2 k 1 e j 2 k N N 0 k=0, 2N, ... o.w. DFT Formula • Given a periodic signal x[n] of period N, its DFT is given by, • Its inverse is given by, • Both X[k] and x[n] are periodic of the same period N. Computation of DFT Using FFT • A very efficient computation of the DFT is done by means of the FFT algorithm, which takes advantage of some special characteristics of the DFT ▫ DFT requires O(N2) computations ▫ FFT requires O(N log2N) computations ▫ Both compute the same thing • It should be understood that the FFT is NOT another transformation but an algorithm to efficiently compute DFTs. • Always remember that the signal and its DFT are both periodic Improving Resolution in DFT • When the signal x[n] is periodic of period N, the DFT values are normalized Fourier series coefficients of x[n] that only exist for the N harmonic frequencies {2k/N}, as no frequency components exist for any other frequencies ▫ The number of possible frequencies depend on the length L chosen to compute its DFT. ▫ Frequencies at which we compute the DFT can be seen as frequencies around the unit circle in the z-plane • We can improve the frequency resolution of its DFT by increasing the number of samples in the signal without distorting the signal by padding the signal with zeros ▫ Increase samples of the units circle Zero-Padding Example Matlab Code N= 32; N2= 128; n=0:N-1; n2= 0:N2-1; x= zeros(N,1); x(1:16)= 1; X= fftshift(fft(x)); X2= fftshift(fft(x,N2)); subplot(3,1,1) stem(n,x) subplot(3,1,2) stem(n,abs(X)) subplot(3,1,3) stem(n2,abs(X2)) Original Signal 32-Point FFT 128-Point FFT No zero-padding With zero-padding Phase in DFT • Output of DFT is complex numbers • Phase is just as important as magnitude in DFT (in fact, it is more important!) • Time shift amounts to linear phase ▫ Phase wrapping occurs for large shifts • Linear phase can be unwrapped to its correct form using the “unwrap” function of Matlab N= 32; x= zeros(N,1); x(11:15)= [0.2 0.5 1 0.5 0.2]; X= fftshift(fft(x)); subplot(4,1,1); stem(1:N,x); title('Signal') subplot(4,1,2); plot(abs(X)); title('DFT Magnitude') subplot(4,1,3); plot(angle(X)); title('Computed Phase') subplot(4,1,4); plot(unwrap(angle(X))); title('Unwrapped Phase') Phase in DFT: Examples Less Time Shift Slower linear phase More Time Shift Steeper linear phase Properties of DFT • Linearity x1 n DFT X1 k x2 n DFT X2 k ax1 n bx2 n DFT aX1 k bX2 k • Duality DFT xn DFT Xn Xk Nx k N Properties of DFT • Duality: example (n=0:9) Properties of DFT • Circular Shift of a Sequence DFT xn X k DFT xn m N ; 0 n N - 1 X k e j 2k / N m Linear vs. Circular Convolution • Convolution in continuous and discrete time aperiodic signals is called linear convolution • Convolution can be calculated as a multiplication in the frequency domain ▫ Convolution property of the Fourier transform • Problem: when using DFT to compute convolution of aperiodic signals, the periodicity assumption results in errors in computing the convolution ▫ Signal outside the N points used is not zero: periodic extension of the N points disturb the computation ▫ What we compute is called circular convolution Linear vs. Circular Convolution • Given x[n] and h[n] of lengths M and K, the linear convolution sum y[n] of length N=(M+K-1) can be found by following these three steps: ▫ Compute DFTs X[k] and H[k] of length LN for x[n] and h[n] using zero-padding ▫ Multiply them to get Y[k]= X[k]H[k]. ▫ Find the inverse DFT of Y[k] of length L to obtain y[n] Linear vs. Circular Convolution: Example N1= 16; N2= 16; N= 32; % N>N1+N2-1 x1= zeros(N1,1); x2= zeros(N2,1); x1(1:4)= 1; x2(:)= 1; X1= fft(x1,N1); X2= fft(x2,N1); X_circ= X1.*X2; x_circ= ifft(X_circ); X1= fft(x1,N); X2= fft(x2,N); X_lin= X1.*X2; x_lin= ifft(X_lin); figure(1); subplot(4,1,1); stem(1:N1,x1) subplot(4,1,2); stem(1:N2,x2) subplot(4,1,3); stem(1:N1, abs(x_circ)) title('Circular Convolution'); subplot(4,1,4); stem(1:N,abs(x_lin)) title('Circular Convolution'); Fourier Transformations Chart Frequency Signal Classification Continuous Continuous Discrete Continuous Fourier Transform (CFT) Discrete Fourier Series (DFS) Discrete-Time Fourier Transform (DTFT) Discrete Fourier Transform (DFT) Time Discrete Most General Form: others are special cases Only one that can be done on a computer Problem Assignments • Problems: 10.12, 10.26, 10.27, 10.29 • Partial Solutions available from the student section of the textbook web site