数字信号处理IDFT的实现设计报告.doc

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

燕山大学课程设计说明书燕山大学课程设计说明书题目:IDFT的实现学院(系):电气工程学院年级专业:10级精仪2班学号:学生姓名:指导教师:教师职称:燕山大学课程设计说明书电气工程学院《课程设计》任务书课程名称:数字信号处理课程设计基层教学单位:仪器科学与工程系指导教师:学号学生姓名(专业)班级设计题目19、IDFT的实现设计技术参数**)]([1)]([)(kXDFTNkXIDFTnx设计要求按照上面IDFT算法编写IFFT程序,其中FFT部分不用写出清单,可调用fft函数,。并分别对单位脉冲序列、矩形序列、三角序列和正弦序列进行FFT和IFFT,验证所编程序。参考资料数字信号处理方面资料MATLAB方面资料周次前半周后半周应完成内容收集消化资料、学习MATLAB软件,进行相关参数计算编写仿真程序、调试指导教师签字基层教学单位主任签字说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。2、学生那份任务书要求装订到课程设计报告前面。电气工程学院教务科燕山大学课程设计说明书摘要数字信号处理是随着计算机的发展而迅速发展起来的一门新兴学科,如今已广泛地应用于雷达、通信、声纳、遥感、生物工程、数字信号处理等各个领域。在计算机的到广泛应用的如今,对于自然界中各种模拟信号的处理,首先要通过AD转换成离散数字信号,便于计算机快速实时的处理。本次课程设计是用matlab软件利用fft算法编写ifft的程序。内容较为初步,但是作为初步入门,以后做深层次的研究也是十分有必要的。关键字:离散傅里叶变换快速傅立叶变换频谱分析燕山大学课程设计说明书目录第一章相关离散傅里叶变换的知识…………………………………11.1离散傅里叶变换……………………11.2快速离散傅里叶变换……………………………41.3相关证明……………………4第二章软件仿真设计……………42.1单位脉冲序列…………………………………52.2矩形序列…………………………………52.3三角序列…………………………52.4正弦序列…………………………6第三章仿真结果分析……………63.1单位脉冲序列…………………………63.2矩形序列……………………………73.3三角序列…………………………………………83.4正弦序列…………………………9第四章学习心得…………………………………………………………9第五章设计与实验过程中遇到的问题和分析……………………10燕山大学课程设计说明书第1页,共14页第一章相关离散傅里叶变换的知识1.1离散傅里叶变换离散傅里叶变换(DiscreteFourierTransform,缩写为DFT),是傅里叶变换在时域和频域上都呈离散的形式,将信号的时域采样变换为其DTFT的频域采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作其周期延拓的变换。在实际应用中通常采用快速傅里叶变换计算DFT。有限长序列的离散傅里叶变换(DFT)和周期序列的离散傅里叶级数(DFS)本质上是一样的。为了更好地理解DFT,需要先讨论周期序列的离散傅里叶级数DFS。而为了讨论离散傅里叶级数及离散傅里叶变换,我们首先来回顾并讨论傅里叶变换的几种可能形式设x(t)为连续时间非周期信号,傅里叶变换关系如下图所示:时域连续函数造成频域是非周期的谱,而时域的非周期造成频域是连续的谱。二、连续时间,离散频率------傅里叶级数设f(t)代表一个周期为T1的周期性连续时间函数,f(t)可展成傅里叶级数,其傅里叶级数的系数为nF,f(t)和nF组成变换对,表示为:tjnnneFtf1)((112T)dtetfTFTTtjnn221111)(1时域连续函数造成频域是非周期的谱,而时域的周期造成频域是离散的谱三、离散时间,连续频率------序列的傅里叶变换正变换:DTFT[x(n)]=()()jnjnXexne反变换:DTFT-11[()]()()2jnjjXexnXeed)(jeX级数收敛条件为|()jnnxne|=nnx)(时域离散函数造成频域是周期的谱,而时域的非周期造成频域是连续的谱燕山大学课程设计说明书第2页,共14页四、离散时间,离散频率------离散傅里叶变换上面讨论的三种傅里叶变换对,都不适用在计算机上运算,因为至少在一个域(时域或频域)中,函数是连续的。因为从数字计算角度,我们感兴趣的是时域及频域都是离散的情况,这就是我们这里要谈到的离散傅里叶变换。时域抽样间隔T,频域周期s=2/T,时域周期T1,频域抽样间隔1=2/T1周期序列的离散傅里叶级数(DFS)设)(~nx是周期为N的一个周期序列,即)(~)(~rNnxnx,r为任意整数。和连续时间周期信号一样,周期序列可用离散傅里叶级数来表示。离散傅里叶级数(DFS)对:正变换)(~kX=DFS[)(~nx]=210()NjknNnxne=nkNNnWnx10)(~k燕山大学课程设计说明书第3页,共14页反变换)(~nx=IDFS[)(~kX]=102)(~1NkknNjekXN=10)(~1NknkNWkXNn式中,NjNeW2,k和n均为整数。观察)(~kX=knNjNnenx210)(~。)(~kX是一个周期序列吗?如是,周期为多少?10)(2)(~)(~NnnmNkNjenxmNkXknNjNnenx210)(~=)(~kX。所以。)(~kX是一个周期序列,周期为N。)(~nx,周期为N)(~kX,周期也为N。观察)(~nx=102)(~1NkknNjekXN,与连续时间信号与系统中的傅里叶级数对应,表明将周期序列分解成N个独立谐波分量。第0次谐波序列20jnNe,基波序列21jnNe,…,第k次谐波序列knNje2,第N-1次谐波序列2(1)jNnNe。谐波频率kNk)/2(,k=0,1,2,…,N-1,幅度为)/1(N)(~kX。离散傅立叶变换(DFT)周期序列实际上只有有限个序列值才有意义,因而它的离散傅里叶级数表示式也适用于有限长序列,这就可以得到有限长序列的傅里叶变换(DFT)。设x(n)是一个长度为M的有限长序列,燕山大学课程设计说明书第4页,共14页正变换)(kX=DFT[)(nx]=nkNjNnenx210)(=nkNNnWnx10)(k=0,1,2,…,N-1反变换)(nx=IDFT[)(kX]=102)(1NkknNjekXN=10)(1NknkNWkXNn=0,1,2,…,N-1式中NjNeW2,N称为DFT变换区间长度,N≥M。1.2快速傅里叶变换计算离散傅里叶变换的一种快速算法,简称FFT。快速傅里叶变换是1965年由J.W.库利和T.W.图基提出的。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著x(n)为N项的复数序列,由DFT变换,任一X(m)的计算都需要N次复数乘法和N-1次复数加法,而一次复数乘法等于四次实数乘法和两次实数加法,一次复数加法等于两次实数加法,即使把一次复数乘法和一次复数加法定义成一次“运算”(四次实数乘法和四次实数加法),那么求出N项复数序列的X(m),即N点DFT变换大约就需要N^2次运算。当N=1024点甚至更多的时候,需要N2=1048576次运算,在FFT中,利用WN的周期性和对称性,把一个N项序列(设N=2k,k为正整数),分为两个N/2项的子序列,每个N/2点DFT变换需要(N/2)^2次运算,再用N次运算把两个N/2点的DFT变换组合成一个N点的DFT变换。这样变换以后,总的运算次数就变成N+2*(N/2)^2=N+N^2/2。继续上面的例子,N=1024时,总的运算次数就变成了525312次,节省了大约50%的运算量。而如果我们将这种“一分为二”的思想不断进行下去,直到分成两两一组的DFT运算单元,那么N点的DFT变换就只需要Nlog2N次的运算,N在1024点时,运算量仅有10240次,是先前的直接算法的1%,点数越多,运算量的节约就越大,这就是FFT的优越性。1.3相关证明)(kX=DFT[)(nx]=nkNjNnenx210)(=nkNNnWnx10)(knNknNWW*)(knNNnWKXKXDFT)()]([10*燕山大学课程设计说明书第5页,共14页NkXDFTN1)]([1**)()]([)(1])([10*10*nxKXIDFTWKXNWKXNnknNknNNn因为fft为dft的快速傅里叶算法,结果是一样的,故同样有**)]([1)]([)(kXIFTNkXIFFTnx第二章软件仿真设计2.1单位脉冲序列N=8;n=[0:1:N-1];xn=[(n-0)==0];XK=fft(xn,N);magXK=abs(XK);phaXK=angle(XK);subplot(3,2,1);stem(n,xn);xlabel('n');ylabel('x(n)');title('单位脉冲序列');subplot(3,2,2);k=0:1:length(magXK)-1;stem(k,magXK,'.');xlabel('k');ylabel('|X(k)|');title('X(k)N=8');z1=conj(XK);z2=fft(z1);z3=conj(z2);y=z3/N;magx=real(y);subplot(3,2,3);n=[0:1:N-1];stem(n,y);xlabel('n');ylabel('y');title('通过IFFT转换的矩形序列')2.2矩形序列clear,;N=8;n=[0:1:N-1];xn1=[(n-0)=0];xn2=[(n-5)=0];xn=xn1-xn2;XK=fft(xn,N);magXK=abs(XK);phaXK=angle(XK);subplot(3,2,1);stem(n,xn);xlabel('n');ylabel('x(n)');title('矩形序列')subplot(3,2,2);k=0:1:length(magXK)-1;stem(k,magXK,'.');xlabel('k');ylabel('|X(k)|');title('X(k)N=8');z1=conj(XK);z2=fft(z1);z3=conj(z2);y=z3/N;magx=real(y);subplot(3,2,3);n=[0:1:N-1];stem(n,y);xlabel('n');ylabel('y');title('通过IFFT转换的矩形序列')2.3三角序列n=0:1:7;燕山大学课程设计说明书第6页,共14页xn=[1,2,3,4,4,3,2,1];subplot(3,2,1);stem(n,xn);xlabel('n');ylabel('x(n)');title('三角序列')XK=fft(xn,N);magXK=abs(XK);phaXK=angle(XK);subplot(3,2,2);k=0:1:length(magXK)-1;stem(k,magXK,'.');xlabel('k');ylabel('|X(k)|');title('X(k)N=8');z1=conj(XK);z2=fft(z1);z3=conj(z2);y=z3/N;magx=real(y);subplot(3,2,3);n=[0:1:N-1];stem(n,y);xlabel('n');ylabel('y');title('通过IFFT转换的三角序列')2.4正弦序列clear;N=8;n=[

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功