数字信号处理实验 matlab版 离散傅里叶变换DFTWord格式文档下载.docx
- 文档编号:19870912
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:12
- 大小:82.48KB
数字信号处理实验 matlab版 离散傅里叶变换DFTWord格式文档下载.docx
《数字信号处理实验 matlab版 离散傅里叶变换DFTWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验 matlab版 离散傅里叶变换DFTWord格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
(12-1)
(12-2)
从离散傅里叶变换定义式可以看出,有限长序列在时域上是离散的,在频域上也是离散的。
式中,
即仅在单位圆上N个等间距的点上取值,这为使用计算机进行处理带来了方便。
由有限长序列的傅里叶变换和逆变换定义可知,DFT和DFS的公式非常相似,因此在程序编写上也基本一致。
例12-1已知x(n)=[0,1,2,3,4,5,6,7],求x(n)的DFT和IDFT。
要求:
(1)画出序列傅里叶变换对应的|X(k)|和arg[X(k)]图形。
(2)画出原信号与傅里叶逆变换IDFT[X(k)]图形进行比较。
解MATLAB程序如下:
>
xn=[0,1,2,3,4,5,6,7];
%建立信号序列
N=length(xn);
n=0:
(N-1);
k=0:
Xk=xn*exp(-j*2*pi/N).^(n'
*k);
%离散傅里叶变换
x=(Xk*exp(j*2*pi/N).^(n'
*k))/N;
%%离散傅里叶逆变换
subplot(2,2,1),stem(n,xn);
%显示原信号序列
title('
x(n)'
);
subplot(2,2,2),stem(n,abs(x));
%显示逆变换结果
IDFT|X(k)|'
subplot(2,2,3),stem(k,abs(Xk));
%显示|X(k)|
|X(k)|'
subplot(2,2,4),stem(k,angle(Xk));
%显示arg|X(k)|
arg|X(k)|'
运行结果如图12-1所示。
图12-1例12-1有限长序列的傅里叶变换和逆变换结果
从得到的结果可见,与周期序列不同的是,有限长序列本身是仅有N点的离散序列,相当于周期序列的主值部分。
因此,其频谱也对应序列的主值部分,是含N点的离散序列。
将周期序列的傅里叶级数变换对(式(11-1)和式(11-2))与有限长序列离散傅里叶变换对(式(12-1)和式(12-2))进行比较,可以看出两者的区别仅仅是将周期序列换成了有限长序列。
例12-2已知周期序列的主值x(n)=[0,1,2,3,4,5,6,7],求x(n)周期重复次数为4次时的DFS。
(1)画出原主值和信号周期序列信号。
(2)画出序列傅里叶变换对应的
和
的图形。
4*N-1;
xn1=xn(mod(n,N)+1);
%即xn1=[xn,xn,xn,xn]
Xk=xn1*exp(-j*2*pi/N).^(n'
subplot(2,2,1),stem(xn);
%显示序列主值
原主值信号x(n)'
subplot(2,2,2),stem(n,xn1);
%显示周期序列
周期序列信号'
%显示序列的幅度谱
%显示序列的相位谱
运行结果如图12-2所示。
图12-2例12-2周期序列的傅里叶级数(DFS)结果
由这个周期序列的实验我们可以看出,与例12-1相比,有限长序列x(n)可以看成是周期序列
的一个周期;
反之,周期序列
可以看成是有限长序列x(n)以N为周期的周期延拓。
频域上的情况也是相同的。
从这个意义上说,周期序列只有有限个序列值有意义。
离散时间傅里叶变换(DTFT)是指信号在时域上为离散的,而在频域上则是连续的。
如果离散时间非周期信号为x(n),则它的离散傅里叶变换对(DTFT)表示为
其中X(ejw)称为信号序列的频谱。
将频谱表示为
.|X(ejw)|称为序列的幅度谱,
称为序列的相位谱。
从离散时间傅里叶变换的定义可以看出,信号在时域上是离散的、非周期的,而在频域上则是连续的、周期性的。
与有限长序列相比,X(ejw)仅在单位圆上取值,X(k)是在单位圆上N个等间距的点上取值。
因此,连续谱X(ejw)可以由离散谱X(k)经插值后得到。
为了进一步理解有限长序列的傅里叶变换(DFT)与离散时间傅里叶变换(DTFT)的联系,我们举例说明离散时间傅里叶变换的使用方法和结果。
例12-3求x(n)=[0,1,2,3,4,5,6,7],0≤n≤7的DTFT,将(-2p,2p)区间分成500份。
(1)画出原信号。
(2)画出由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱arg[X(ejw)]图形。
N-1;
w=linspace(-2*pi,2*pi,500);
%将[-2p,2p]频率区间分割为500份
X=xn*exp(-j*n'
*w);
%离散时间傅里叶变换
subplot(3,1,1),stem(n,xn,'
k'
ylabel('
subplot(3,1,2),plot(w,abs(X),'
%显示序列的幅度谱
axis([-2*pi,2*pi,1.1*min(abs(X)),1.1*max(abs(X))]);
幅度谱'
subplot(3,1,3),plot(w,angle(X),'
axis([-2*pi,2*pi,1.1*min(angle(X)),1.1*max(angle(X))]);
相位谱'
运行结果如图12-3所示。
图12-3例12-3离散时间傅里叶变换(DTFT)的结果
由图12-3与DFT的结果图12-1相比可以看出,两者有一定的差别。
主要原因在于,该例进行DTFT时,X(ejw)在单位圆上取250个点进行分割;
而图12-1进行DFT时,X(k)是在单位圆上N=8的等间距点上取值,X(k)的序列长度与X(ejw)相比不够长。
例12-4仍然用x(n)=[0,1,2,3,4,5,6,7],将x(n)的有限长序列后面补足至N=100,求其DFT,并与例12-3进行比较。
解将例12-1程序的前2行改为
N=100;
xn=[0,1,2,3,4,5,6,7,zeros(1,N-8)];
则|X(k)|和arg[X(k)]的图形接近由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱arg[X(ejw)]的图形,如图12-4所示。
注意,此图对应[0,2p]区间。
MATLAB程序如下:
N=100;
xn=[0,1,2,3,4,5,6,7,zeros(1,N-8)];
%建立信号序列
%离散傅里叶变换
%离散傅里叶逆变换
subplot(2,1,1),stem(k,abs(Xk));
%显示|X(k)|
subplot(2,1,2),stem(k,angle(Xk));
%显示arg|X(k)|
运行结果如图12-4所示。
图12-4增长有限长序列的长度得到|X(k)|和arg[X(k)]
五、实验过程
2.已知有限长序列x(n)=[7,6,5,4,3,2],求x(n)的DFT和IDFT。
①画出序列傅里叶变换对应的|X(k)|和arg[X(k)]的图形。
②画出原信号与傅里叶逆变换IDFT[X(k)]的图形进行比较。
xn=[7,6,5,4,3,2,];
%建立信号序列
%离散傅里叶变换
%显示原信号序列
%显示逆变换结果
%显示|X(k)|
运行结果如图12-5所示。
图12-5
3.已知周期序列的主值x(n)=[7,6,5,4,3,2],求x(n)周期重复次数为3次时的DFS和IDFS。
①画出原信号序列的主值和周期序列的图形。
②画出序列傅里叶变换对应的
xn=[7,6,5,4,3,2,1];
3*N-1;
%即xn1=[xn,xn,xn,xn]
%显示序列主值
%显示周期序列
运行结果如图12-6所示。
图12-6
4.求x(n)=[7,6,5,4,3,2],0≤n≤5的DTFT,将(-2p,2p)区间分成500份。
2出原信号。
②画出由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱arg[X(ejw)]的图形。
③求有限长序列x(n)=[7,6,5,4,3,2],N=100时的DFT,并与DTFT的结果进行比较。
xn=[7,6,5,4,3,2];
运行结果如图12-7所示。
图12-7
③MATLAB程序如下:
xn=[7,6,5,4,3,2,zeros(1,N-6)];
运行结果如图12-8所示。
图12-8
六、实验感想
通过此次实验中练习使用matlab语言进行离散傅里叶级数变换和逆变换的方法,更为熟悉的掌握了matlab的功能,在实验过程中也遇到很多小问题,并通过仔细检查和查阅相关书籍解决此类问题,让我深刻认识到,细节的重要性。
在使用help过程中,深切体会到良好的英语基础和充实的课堂知识的重要性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理实验 matlab版 离散傅里叶变换DFT 数字信号 处理 实验 matlab 离散 傅里叶变换 DFT