Chapt5_第1页
Chapt5_第2页
Chapt5_第3页
Chapt5_第4页
Chapt5_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Chapter 5. The Discrete Fourier Transform,Gao Xinbo School of E.E., Xidian Univ. ,Review 1,The DTFT provides the frequency-domain (w) representation for absolutely summable sequences. The z-transform provides a generalized frequency-domain (z) representation for arbitrary sequences. Two features in common: Defined for infinite-length sequences Functions of continuous variable (w or z) From the numerical computation viewpoint, these two features are troublesome because one has to evaluate infinite sums at uncountably infinite frequencies.,Review 2,To use Matlab, we have to truncate sequences and then evaluate the expression at finitely many points. The evaluation were obviously approximations to the exact calculations. In other words, the DTFT and the z-transform are not numerically computable transform.,Introduction 1,Therefore we turn our attention to a numerically computable transform. It is obtained by sampling the DTFT transform in the frequency domain (or the z-transform on the unit circle). We develop this transform by analyzing periodic sequences. From FT analysis we know that a periodic function can always be represented by a linear combination of harmonically related complex exponentials (which is form of sampling). This give us the Discrete Fourier Series representation. We extend the DFS to finite-duration sequences, which leads to a new transform, called the Discrete Fourier Transform.,Introduction 2,The DFT avoids the two problems mentioned above and is a numerically computable transform that is suitable for computer implementation. The numerical computation of the DFT for long sequences is prohibitively time consuming. Therefore several algorithms have been developed to efficiently compute the DFT. These are collectively called fast Fourier transform (or FFT) algorithms.,The Discrete Fourier Series,Definition: Periodic sequence N: the fundamental period of the sequences From FT analysis we know that the periodic functions can be synthesized as a linear combination of complex exponentials whose frequencies are multiples (or harmonics) of the fundamental frequency (2pi/N). From the frequency-domain periodicity of the DTFT, we conclude that there are a finite number of harmonics; the frequencies are 2pi/N*k,k=0,1,N-1.,The Discrete Fourier Series,A periodic sequence can be expressed as,are called the discrete Fourier series coefficients, which are given by,The discrete Fourier series representation of periodic sequences,The Discrete Fourier Series,X(k) is itself a (complex-valued) periodic sequence with fundamental period equal to N.,Example 5.1,Matlab Implementation,Matrix-vector multiplication: Let x and X denote column vectors corresponding to the primary periods of sequences x(n) and X(k), respectively. Then,DFS Matrix,dfs1 function(row vect.for dfs),Function Xk = dfs (xn, N) % Xk and xn are column(not row) vectors if nargin 2 N = length(xn) n = 0: N-1; k = 0: N-1; WN = exp(-j*2*pi/N); kn = k*n; WNkn = WN.kn; Xk = WNkn * xn,Ex5.2 DFS of square wave seq.,Note Envelope like the sinc function; Zeros occur at N/L (reciprocal of duty cycle); Relation of N to density of freq. Samples;,Relation to the z-transform,The DFS X(k) represents N evenly spaced samples of the z-transform X(z) around the unit circle.,Relation to the DTFT,The DFS is obtained by evenly sampling the DTFT at w1 intervals. The interval w1 is the sampling interval in the frequency domain. It is called frequency resolution because it tells us how close are the frequency samples.,Sampling and construction in the z-domain,DFS & z-transform,IDFS,Comments,When we sample X(z) on the unit circle, we obtain a periodic sequence in the time domain. This sequence is a linear combination of the original x(n) and its infinite replicas, each shifted by multiples of N or N. If x(n)=0 for n=N, then there will be no overlap or aliasing in the time domain.,Comments,RN(n) is called a rectangular window of length N. THEOREM1: Frequency Sampling If x(n) is time-limited (finite duration) to 0,N-1, then N samples of X(z) on the unit circle determine X(z) for all z.,Reconstruction Formula,Let x(n) be time-limited to 0,N-1. Then from Theorem 1 we should be able to recover the z-transform X(z) using its samples X(k).,WN-kN=1,The DTFT Interpolation Formula,An interpolation polynomial,This is the DTFT interpolation formula to reconstruct X(ejw) from its samples X(k),Since , we have that X(ej2pik/N)=X(k), which means that the interpolation is exact at sampling points.,The Discrete Fourier Transform,The discrete Fourier series provided us a mechanism for numerically computing the discrete-time Fourier transform. It also alert us to a potential problem of aliasing in the time domain. Mathematics dictates that the sampling of the discrete-time Fourier transform result in a periodic sequences x(n). But most of the signals in practice are not periodic. They are likely to be of finite duration.,The Discrete Fourier Transform,Theoretically, we can take care of this problem by defining a periodic signal whose primary shape is that of the finite duration signal and then using the DFS on this periodic signal. Practically, we define a new transform called the Discrete Fourier Transform (DFT), which is the primary period of the DFS. This DFT is the ultimate numerically computable Fourier transform for arbitrary finite duration sequences.,The Discrete Fourier Transform,First we define a finite-duration sequence x(n) that has N samples over 0=n=N as an N-point sequence,The compact relationships between x(n) and x(n) are,The function rem(n,N) can be used to implement our modulo-N operation.,The Discrete Fourier Transform,The Discrete Fourier Transform of an N-point sequence is given by,Note that the DFT X(k) is also an N-point sequence, that is, it is not defined outside of 0=n=N-1. DFT X(k) is the primary interval of X(k).,Matlab Implementation,Examples 5.6 5.7 Comments,Zero-padding is an operation in which more zeros are appended to the original sequence. The resulting longer DFT provides closely spaced samples of the discrete-times Fourier transform of the original sequence. The zero-padding gives us a high-density spectrum and provides a better displayed version for plotting. But it does not give us a high-resolution spectrum because no new information is added to the signal; only additional zeros are added in the data. To get high-resolution spectrum, one has to obtain more data from the experiment or observations.,Properties of the DFT,1. Linearity: DFTax1(n)+bx2(n)=aDFTx1(n)+bDFTx2(n) N3=max(N1,N2): N3-point DFT 2. Circular folding:,Matlab: x=x(mod(-n,N)+1),Properties of the DFT,3. Conjugation:,4. Symmetry properties for real sequences: Let x(n) be a real-valued N-point sequence,Comments:,Circular symmetry Periodic conjugate symmetry About 50% savings in computation as well as in storage. X(0) is a real number: the DC frequency X(N/2)(N is even) is also real-valued: Nyquist component Circular-even and circular-odd components:,The real-valued signals,Function, p143,Properties,5. Circular shift of a sequence,6. Circular shift in the frequency domain,7. Circular convolution*,Properties,8. Multiplication:,9. Parsevals relation:,Energy spectrum Power spectrum,Linear convolution using the DFT,In general, the circular convolution is an aliased version of the linear convolution. If we make both x1(n) and x2(n) N=N1+N2-1 point sequences by padding an appropriate number of zeros, then the circular convolution is identical to the linear convolution.,Error Analysis,When N=max(N1,N2) is chosen for circular convolution, then the first (M-1) samples are in error, where M=min(N1,N2).,X3(n) is also causal,n=0,1,(N1+N2-1)-N,Block Convolution,Segment the infinite-length input sequence into smaller sections (or blocks), process each section using the DFT, and finally assemble the output sequence from the outputs of each section. This procedure is called a block convolution operation. Let us assume that the sequence x(n) is sectioned into N-point sequence and that the impulse response of the filter is an M-point sequence, where MN. We partition x(n) into sections, each overlapping with the previous one by exactly (M-1) samples, save at last (N-M+1) output samples, and finally concatenate these outputs into sequence. To correct for the first (M-1) samples in the first output block, we set the first (M-1) samples in the first input blocks to zero.,Matlab Implementation,Function y=ovrlpsav(x,h,N) Lenx = length(x); M=length(h); M1=M-1; L=N-M1; H = h zeros(1,N-M); X = zeros(1,M1), x, zeros(1,N-1); K = floor(Lenx+M1-1)/L); For k=0:K, xk = x(k*L+1:k*L+N); Y(k+1,: ) = circonvt(xk,h,N); end Y=Y(:,M:N); Y=(Y(:);,The Fast Fourier Transform,Although the DFT is computable transform, the straightforward implementation is very inefficient, especially when the sequence length N is large. In 1965, Cooley and Tukey showed the a procedure to substantially reduce the amount of computations involved in the DFT. This led to the explosion of applications of the DFT. All these efficient algorithms are collectively known as fast Fourier transform (FFT) algorithms.,The FFT,Using the Matrix-vector multiplication to implement DFT: X=WNx (WN: N*N, x: 1*N, X: 1*N) takes NN multiplications and (N-1)N additions of complex number. Number of complex mult. CN=O(N2) A complex multiplication requires 4 real multiplications and 2 real additions.,Goal of an Efficient computation,The total number of computations should be linear rather than quadratic with respect to N. Most of the computations can be eliminated using the symmetry and periodicity properties CN=Nlog2N If N=210, CN=will reduce to 1/100 times.,Decimation-in-time: DIT-FFT, decimation-in-frequency: DIF-FFT,4-point DFTFFT example,X=Wx X(0) = x(0)+x(2) + x(1)+x(3) = g1 + g2 X(1) = x(0)-x(2) j(x(1)-x(3) = h1 - jh2 X(2) = x(0)+x(2) - x(1)+x(3) = g1 - g2 X(3) = x(0)-x(2) + j(x(1)-x(3) = h1 + jh2 It requires only 2 complex multiplications. Signal flowgraph,Efficient Approach,A 4-point DFTFFT example,Divide-and-combine approach,To reduce the DFT computations quadratic dependence on N, one must choose a composite number N=LM since L2+M2N2 for large N. Now divide the sequence into M smaller sequences of length L, take M smaller L-point DFTs, and combine these into a large DFT using L smaller M-point DFTs. This is the essence of the divide-and-combine approach.,Divide-and-combine approach,Three-step procedure: P155,Twiddle factor,Divide-and-combine approach,The total number of complex multiplications for this approach can now be given by CN=ML2+N+LM2o(N2) This procedure can be further repeat if M or L are composite numbers. When N=Rv, then such algorithms are called radix-R FFT algorithms.,A 8-point DFTFFT example,1. two 4-point DFT for m=1,2,Number of multiplications,A 4-point DFT is divided into two 2-point DFTs, with one intermedium matrix mult. number of multiplications= 44cplx 2 1+ 1 4 cplx 16 6 A 8-point DFT is divided into two 4-point DFTs, with one intermedium matrix mult. 882 6 + 24 64 20 For 16-point DFT: 16162 20 + 28 256 56,In general the reduction of mult.,If N=M*L N-pt DFT divided into M times L-pt DFT + Intermediate matrix transform + L times M-pt DFT CN=ML2+ML+LM2=N(M+L)N2,Radix-2 FFT Algorithms,Let N=2v; then we choose M=2 and L=N/2 and divide x(n) into two N/2-point sequence. This procedure can be repeated again and again. At each stage the sequences are decimated and the smaller DFTs combined. This decimation ands after v stages when we have N one-point sequences, which are also one-point DFTs. The resulting procedure is called the decimation-in-time FFT (DIF-FFT) algorithm, for which the total number of complex multiplications is: CN=Nv= N*log2N; using additional symmetries: CN=Nv= N/2*log2N Signal flowgraph in Figure 5.19,function y=mditfft(x) % 本程序对输入序列 x 实现时域抽取快速傅立叶变换DIT-FFT基2算法 m=nextpow2(x); n=2m; % 求x的长度对应的2的最低幂次m if length(x)n x=x,zeros(1,n-length(x); % 若x的长度不为2的幂次,补零到2的整数幂 end nxd=bin2dec(fliplr(dec2bin(1:n-1,m)+1; % 求1:2m数列的倒序 y=x(nxd); % 将x倒序排列得y的初始值 for mm=1:m % 将DFT作m次基2分解,从左到右,对每次分解作DFT运算 le=2mm;u=1; % 旋转因子u初始化为w0=1 w=exp(-i*2*pi/le); % 设定本次分解的基本DFT因子w=exp(-i*2*pi/le) for j=1:le/2 % 本次跨越间隔内的各次蝶形运算 for k=j:le:n % 本次蝶形运算的跨越间隔为le=2mm kp=k+le/2; % 确定蝶形运算的对应单元下标 t=y(kp)*u; % 蝶形运算的乘积项 y(kp)=y(k)-t; % 蝶形运算 y(k)=y(k)+t; % 蝶形运算 end u=u*w; % 修改旋转因子,多乘一个基本DFT因子w end end,Decimation-in-frequency FFT,In an alternate approach we choose L=2, M=N/2 and follow the steps in (5.49). We can get the decimation-frequency FFT (DIF-FFT) algorithm. Its signal flowgraph

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论