欢迎来到天天文库
浏览记录
ID:40843331
大小:283.50 KB
页数:7页
时间:2019-08-08
《数字信号处理 实验 离散傅里叶变换及其特性验证》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数字信号处理实验报告实验名称:离散傅里叶变换及其特性验证学号:姓名:评语:成绩:一、实验目的1、掌握离散时间傅立叶变换(DTFT)的计算方法和编程技术。2、掌握离散傅立叶变换(DFT)的计算方法和编程技术。3、理解离散傅立叶变换(DFT)的性质并用MATLAB进行验证。二、实验原理与计算方法1、离散时间傅立叶变换如果序列x(n)满足绝对可和的条件,即,则其离散时间傅立叶变换定义为:(1)如果x(n)是无限长的,则不能直接用MATLAB由x(n)计算X(ejw),但可以用它来估计X(ejw)表达式在[0,π]频率区间的值并绘制它的幅频和相频(或实部和虚部)曲线。如果x(n)是有限
2、长的,则可以用MATLAB对任意频率w处的X(ejw)进行数值计算。如果要在[0,π]间按等间隔频点估计X(ejw),则(1)式可以用矩阵-向量相乘的运算来实现。假设序列x(n)在(即不一定在[0,N-1])有N个样本,要估计下列各点上的X(ejw):它们是[0,π]之间的(M+1)个等间隔频点,则(1)式可写成:(2)将{x(nl)}和{X(ejwk)}分别排列成向量x和X,则有:X=Wx(3)其中W是一个(M+1)×N维矩阵:将{k}和{n}排成列向量,则在MATLAB中,把序列和下标排成行向量,对(3)式取转置得:其中nTk是一个N×(M+1)维矩阵。用MATLAB实现如
3、下:k=[0:M];n=[n1:n2];X=x*(exp(-j*pi/M)).^(n’*k);2、离散傅立叶变换一个有限长序列的离散傅立叶变换对定义为:(4)(5)以列向量x和X形式排列x(n)和X(k),则式(4)、(5)可写成:X=WNx其中矩阵WN由下式给出:可由下面的MATLAB函数dft和idft实现离散傅立叶变换运算。function[Xk]=dft(xn,N)%ComputesDiscreteFourierTransform%-----------------------------------%[Xk]=dft(xn,N)%Xk=DFTcoeff.arrayov
4、er0<=k<=N-1%xn=N-pointfinite-durationsequence%N=LengthofDFT%n=[0:1:N-1];%rowvectorfornk=[0:1:N-1];%rowvecorforkWN=exp(-j*2*pi/N);%Wnfactornk=n'*k;%createsaNbyNmatrixofnkvaluesWNnk=WN.^nk;%DFTmatrixXk=xn*WNnk;%rowvectorforDFTcoefficientsfunction[xn]=idft(Xk,N)%ComputesInverseDiscreteTransform
5、%-----------------------------------%[xn]=idft(Xk,N)%xn=N-pointsequenceover0<=n<=N-1%Xk=DFTcoeff.arrayover0<=k<=N-1%N=lengthofDFT%n=[0:1:N-1];%rowvectorfornk=[0:1:N-1];%rowvecorforkWN=exp(-j*2*pi/N);%Wnfactornk=n'*k;%createsaNbyNmatrixofnkvaluesWNnk=WN.^(-nk);%IDFTmatrixxn=(Xk*WNnk)/N;%rowve
6、ctorforIDFTvalues3、离散傅立叶变换的性质(1)线性性质:注意:若x1(n)和x2(n)分别是N1点和N2点的序列,则选择N3=max(N1,N2),将它们作N3点DFT处理。(2)周期性:离散傅立叶变换(DFT)是周期序列DFS取主值区间形成的,因此序列及其DFT具有特性和。通常将结果间的量值表示在k的负值区间。(3)对称性:实序列的离散傅立叶变换可以表示为,其中实部为偶对称,虚部为奇对称,幅值为偶对称,相位为奇对称。如果序列是实偶对称序列,则也是实偶对称,即;如果序列是实奇对称序列,则是虚奇对称,即;如果序列是虚偶对称序列,则也是虚偶对称,即;如果序列是虚奇
7、对称序列,则是实奇对称,即。根据上述关系,对于实序列,则有;对于纯虚序列,则有。三、实验内容(1)将实指数函数抽样,取抽样周期为1/64,作64点DFT,并作出实部、虚部和幅频、相频特性曲线。实验代码:n=[0:1:63];N=64;Ts=1./N;t=n.*Ts;xn=exp(-t).*ut(t);Xk=dft(xn,N);x1=real(Xk);x2=imag(Xk);x3=abs(Xk);x4=angle(Xk);subplot(411)stem(n,x1)title('实部')sub
此文档下载收益归作者所有