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