电子信息与自动化学院《数字信号处理》实验报告
学号: 姓名:
实验名称: 实验三 离散傅里叶变换DFT 及IDFT
一、 实验目的
(1) 在理论学习的基础上,通过本实验,加深对DFT 的理解,熟悉DFT 子程序。
(2) 掌握计算离散信号DFT 的方法。
(3) 体会有限长序列DFT 与离散时间傅里叶变换DTFT 之间的联系。 (4) 掌握用MATLAB 进行离散傅里叶变换DFT 及其逆变换IDFT 的方法。 (5) 理解如何用 DFT 计算离散信号频谱。
二、 实验原理
1) 有限长序列的DFT 和IDFT
如果有限长序列信号为()x n ,则该序列的离散傅里叶变换对定义为:
正变换 1
0()DFT[()]()N nk N n X k x n x n W -===∑ 0,1,,1k N =-...
逆变换 1
1
()IDFT[()]()N nk N
k x n X k X k W
matlab傅里叶变换的幅度谱和相位谱N
--===
∑ 0,1,,1n N =-...
从离散傅里叶变换的定义式可以看出,有限长序列在时域是离散的,频域也是离散的。DFT 仅在单位圆上N 个等间距的点上取值,这为使用计算机进行处理带来了方便。
2) 有限长序列DFT 与离散时间傅里叶变换DTFT 之间的关系
离散时间傅里叶变换(DTFT)是指信号在时域上是离散的,而在频域上是连续的。
如果离散时间非周期信号为()x n ,则它的离散时间傅里叶变换对为
正变换 j j DTFT[()](e )()e
n
n x n X x n ω
ω∞
-=-∞
==∑
逆变换 j j j 1IDTFT[(e )]()(e )e d 2n
X x n X ωωωω π-π
==π⎰ 式中,j (e )X ω称为序列的频谱,可表示为
j j ()(e )|(e )|e X X ωωϕω=
式中,j |(e )|X ω称为序列的幅度谱;j ()arg |(e )|X ωϕω=称为序列的相位谱。
从离散时间傅里叶变换的定义可以看出,信号在时域上是离散的、非周期的,而在频域上则是连续的、周期的。
与有限长序列相比,j (e )X ω仅在单位圆上取值,()X k 是在单位圆上N 个等间距的点上取值。因此,连续谱j (e )X ω可以由离散谱()X k 经插值后得到。
三、 实验内容与结果
(1) 已知连续信号)2sin(1.0)2sin()2sin(15.0)(321t f t f t f t x a πππ-+=,其中
Hz f Hz f Hz f 4,3,2321===,取抽样频率Hz f s 64=求其抽样点数 N=64 时的 DFT
N=64;n=0:N-1;f1=2;f2=3;f3=4;
x1n=0.15*sin(2*pi*f1*n)+sin(2*pi*f2*n)-0.1*sin(2*pi*f3*n); X1k=dft(x1n,N); subplot(2,1,1); stem(n,x1n,'.');
title('x1(n)');xlabel('k');ylabel('x1(n)') subplot(2,1,2);
stem(n,abs(X1k),'.');
title('DFT[x1(n)]');xlabel('k');ylabel('|X1(k)|')
图1
(2) 已知有限长序列 )4/cos()8/cos()(ππn n n x +=,求其 N=32 时的 DFT 。
N=32;n=0:N-1;
x1n=cos(n/pi*8)+sin(n*pi/4); X1k=dft(x1n,N); subplot(2,1,1); stem(n,x1n,'.');
title('x1(n)');xlabel('k');ylabel('x1(n)') subplot(2,1,2);
stem(n,abs(X1k),'.');
title('DFT[x1(n)]');xlabel('k');ylabel('|X1(k)|')
图2
(3) 已知有限长序列x(n)=[7,6,5,4,3,2],求x(n)的DFT 和IDFT 。要求: ① 画出序列DFT 对应的|()|X k 和arg[()]X k 的图形。 ② 画出原信号与IDFT[X(k)]的图形,并进行比较。
xn=[7,6,5,4,3,2];N=6;n=0:N-1; X=dft(xn,6);
x=(X*exp(2*j*pi/N).^(n'*n))/N;
magX=abs(X),angX=angle(X)*180/pi; subplot(221);
stem(n,magX,'.'); grid title('[X(k)]') subplot(222);
stem(n,angX,'.'); grid; title('arg[X(k)]') subplot(223); stem(n,xn);grid title('x(n)') subplot(224); stem(n,x);grid title('IDFT[X(k)]')
图3
比较实验结果发现,有限长序列本身是仅有N点的离散序列,相当于周期序列的主值部分。因此,其频谱也对应序列的主值部分,是含N点的离散序列。
(4)将第3题中的x(n)以补零方式加长到0100
≤≤,画出序列DFT对应
n
的|()|
X k和arg[()]
X k的图形。
x=[7,6,5,4,3,2,zeros(1,94)];N=100;X=dft(x,N);n=0:N-1;
magX=abs(X),angX=angle(X)*180/pi;
subplot(211); stem(n,magX,'.'); grid
title('[X(k)]')
subplot(212); stem(n,angX,'.'); grid;
title('arg[X(k)]')
图4
四、实验分析总结
本次实验,通过给定连续信号或有限序列,求解对应抽样点数的DFT以及IDFT,观察幅度相位,逆变换信号等实验习题,使我进一步加深了对DFT的原理和基本性质的理解,懂得了利用DFT程序计算IDFT的方法。利用程序产生傅里叶变换与反变换图像,并进行比较分析,由此体会到有限长序列DFT与离散时间傅里叶变换之间的联系。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论