实验三 离散傅里叶变换DFT及IDFT(数字信号处理)

  • 格式:doc
  • 大小:148.50 KB
  • 文档页数:4

1 电子信息与自动化学院《数字信号处理》实验报告

学号: 姓名:

实验名称: 实验三 离散傅里叶变换DFT及IDFT

一、 实验目的

(1) 在理论学习的基础上,通过本实验,加深对DFT的理解,熟悉DFT子程序。

(2) 掌握计算离散信号DFT的方法。

(3) 体会有限长序列DFT与离散时间傅里叶变换DTFT之间的联系。

(4) 掌握用MATLAB进行离散傅里叶变换DFT及其逆变换IDFT的方法。

(5) 理解如何用 DFT 计算离散信号频谱。

二、 实验原理

1) 有限长序列的DFT和IDFT

如果有限长序列信号为()xn,则该序列的离散傅里叶变换对定义为:

正变换 10()DFT[()]()NnkNnXkxnxnW 0,1,,1kN...

逆变换 101()IDFT[()]()NnkNkxnXkXkWN 0,1,,1nN...

从离散傅里叶变换的定义式可以看出,有限长序列在时域是离散的,频域也是离散的。DFT仅在单位圆上N个等间距的点上取值,这为使用计算机进行处理带来了方便。

2) 有限长序列DFT与离散时间傅里叶变换DTFT之间的关系

离散时间傅里叶变换(DTFT)是指信号在时域上是离散的,而在频域上是连续的。

如果离散时间非周期信号为()xn,则它的离散时间傅里叶变换对为 2 正变换 jjDTFT[()](e)()ennxnXxn

逆变换 jjj1IDTFT[(e)]()(e)ed2nXxnX

式中,j(e)X称为序列的频谱,可表示为

jj()(e)|(e)|eXX

式中,j|(e)|X称为序列的幅度谱;j()arg|(e)|X称为序列的相位谱。

从离散时间傅里叶变换的定义可以看出,信号在时域上是离散的、非周期的,而在频域上则是连续的、周期的。

与有限长序列相比,j(e)X仅在单位圆上取值,()Xk是在单位圆上N个等间距的点上取值。因此,连续谱j(e)X可以由离散谱()Xk经插值后得到。

三、 实验内容与结果

(1) 已知连续信号)2sin(1.0)2sin()2sin(15.0)(321tftftftxa,其中HzfHzfHzf4,3,2321,取抽样频率Hzfs64求其抽样点数 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 3 (2) 已知有限长序列 )4/cos()8/cos()(nnnx,求其 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对应的|()|Xk和arg[()]Xk的图形。

② 画出原信号与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)]') 4

图3

比较实验结果发现,有限长序列本身是仅有N点的离散序列,相当于周期序列的主值部分。因此,其频谱也对应序列的主值部分,是含N点的离散序列。

(4)将第3题中的x(n)以补零方式加长到0100n≤≤,画出序列DFT对应的|()|Xk和arg[()]Xk的图形。

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与离散时间傅里叶变换之间的联系。