您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字信号处理实验-3
广东海洋大学学生实验报告书实验名称实验三离散傅里叶变换(DFT)及其快速算法(FFT)课程名称数字信号处理课程号学院(系)信息学院专业软件工程班级应用1123学生姓名钟炜堂学号201211701131实验地点科技楼04017日期2015.10.26一、实验目的:1.理解DFT算法,并能用MATLAB实现DFT。2.加深对FFT的理解,体会DFT和FFT之间的关系。3.熟悉应用FFT实现两个序列的线性卷积的方法。二、实验原理:N点序列x(n)的DFT和IDFT定义:若将DFT变换的定义写成矩阵形式,则得到X=A﹒x,其中DFT变换矩阵A为2)1(111...1...............11...11NNNNNNN=fft(u,N)和u=ifft(U,N)计算N点序列的DFT正、反变换。三、实验内容(一)离散傅里叶变换(DFT)1.用MATLAB求N=16的有限序列)4/sin()8/sin()(nnnx的DFT结果,并画出结果图。参考程序如下:N=16;n=0:1:N-1;%时域采样xn=sin(n*pi/8)+sin(n*pi/4);k=0:1:N-1;%频域采样WN=exp(-j*2*pi/N);GDOU-B-11-112nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;subplot(2,1,1)stem(n,xn);subplot(2,1,2)stem(k,abs(Xk));2.矩形序列x(n)=R5(n),求N分别取8,32时的DFT,最后绘出结果图形。参考程序如下:function[Xk]=dft(xn,N)n=[0:1:N-1];%n的行向量k=[0:1:N-1];%k的行向量WN=exp(-j*2*pi/N);%旋转因子nk=n'*k;%产生一个含nk值的N乘N维矩阵WNnk=WN.^nk;%DFT矩阵Xk=xn*WNnk;%DFT系数的行向量调用上面函数解题。N=8;x=[ones(1,5),zeros(1,N-5)];n=0:N-1;X=dft(x,N);%N=8点离散傅立叶变换magX=abs(X);phaX=angle(X)*180/pi;k=(0:length(magX)'-1)*N/length(magX);subplot(2,2,1);stem(n,x);ylabel('x(n)');subplot(2,2,2);stem(k,magX);axis([0,10,0,5]);ylabel('|X(k)|');N=32;x=[ones(1,5),zeros(1,N-5)];n=0:N-1;X=dft(x,N);%N=32点离散傅立叶变换magX=abs(X);phaX=angle(X)*180/pi;k=(0:length(magX)'-1)*N/length(magX);subplot(2,2,3);stem(n,x);ylabel('x(n)');subplot(2,2,4);stem(k,magX);axis([0,32,0,5]);ylabel('|x(k)|');(二)快速傅里叶变换(FFT)1.已知一个8点的时域非周期离散阶跃信号,n1=0,n2=7,在n0=4前为0,n0以后为1。用N=32点进行FFT变换,作其时域信号图及信号频谱图。参考程序如下:n1=0;n0=4;n2=7;N=32;n=n1:n2;w=[(n-n0)=0];%建立时间信号subplot(2,1,1);stem(n,w);i=0:N-1;%频率采样点从0开始y=fft(w,N);%用快速算法计算DFTaw=abs(y);%求幅度值subplot(2,1,2);stem(i,aw);2.利用FFT计算线性卷积。设x(n)=[23145];h(n)=[21745723]。计算二者的线性卷积。参考程序如下:x=[23145];h=[21745723];Lenx=length(x);%求序列x的长度Lenh=length(h);%求序列h的长度N=Lenx+Lenh-1;Xk=fft(x,N);%计算x序列的DFTHk=fft(h,N);%计算h序列的DFTYk=Xk.*Hk;y=ifft(Yk)%求IDFTstem(y);xlabel('n');ylabel('y(n)');title('x(n)*h(n)');Grid四、实验分析(一)实验结果1、离散傅立叶级数变换是周期序列,仍不便于计算机计算。但离散傅立叶级数虽是周期序列,却只有N个独立的数值,所以它的许多特性可以通过有限长序列延拓来得到。2、分析:对时域离散序列信号进行DFT变换,若采样点数越多,则所得频谱图越密集。(二)实验结果及分析1、分析:对时域离散序列信号进行DFT变换再IDFT反变换得到的序列,与原信号序列基本相同。2、分析:fft算法相比与原来的算法速度很快,因为出结果要快!五、实验总结我以为在实验前咱要了解相关背景知识,并查找好相关资料,实验时要大量借鉴其他的资料。理解DFT算法,并能用MATLAB实现DFT;加深对FFT的理解,体会DFT和FFT之间的关系;熟悉应用FFT实现两个序列的线性卷积的方法。成绩指导教师日期
本文标题:数字信号处理实验-3
链接地址:https://www.777doc.com/doc-5928749 .html