4.离散信号的DTFT和DFT - 数字信号处理实验报告

  • 格式:doc
  • 大小:85.00 KB
  • 文档页数:5

计算机与信息工程学院验证性实验报告
专业:通信工程 年级/班级:2011级 2013—2014学年第一学期
课程名称 数字信号处理 指导教师 段新涛
本组成员
学号姓名
实验地点 计科楼111 实验时间 周五7-8节
项目名称 离散信号的DTFT和DFT 实验类型 验证性

一、实验目的:
加深对离散信号的DTFT和DFT的及其相互关系的理解。
二、实验原理及方法
在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,
我们可以使用离散Fouier变换(DFT)。这一变换不但可以很好的反映序列的频谱
特性,而且易于用快速算法在计算机上实现。
DTFT和DFT的主要区别就是DFT在时域和频域都是离散的,它带来的最大
好处就是适合于数值计算,适合于计算机处理,DTFT和DFT有许多相似的性质。
利用MATLAB工程计算语言按要求编写程序算法,实现对有限长序列的离散
时间傅立叶变换(DTFT)和离散傅立叶变换(DFT)的求解。
序列x[n] 的DTFT定义:

()[]jjnnXexne

N点序列x[n] 的DFT定义:
22
1010[]()[][]NjkjknNNnNknNnXkXexnexnW






在MATLAB中,对形式为
0101...()()()...jjMjjM
jjjNNppepepeXeDeddede






的DTDFT可以用函数H=Freqz(num,den,w)计算;可以用函数U=fft(u,N)
和u=ifft(U,N)计算N点序列的DFT正、反变换。
三、实验内容:
1、已知序列5()cos,01516xnnn分别计算16点序列的16点和32点DFT,
绘出幅度谱图形,并绘出该序列的DTFT图形。
(1)x(n) 的 16 点和 32 点 DTFT,绘出 X(e j) 幅度谱图形;
(2)x(n) 的 16 点和 32 点 DFT,绘出 X (k) 幅度谱图形;
2、已知序列: x(n)={1,2,3,4,5,6,5,4,3,2,1}
(1)计算x(n) 的 DFT 为 X (k) ,绘出它的幅度和相位图;
(2)计算x(n) 的 DTFT 为 )(jwXe ,绘出它的幅度和相位图;
(3)利用 hold 函数,比较并验证 X (k) 是 )(jwXe 的采样。

参考流程图:

四、实验步骤:
(1)16点序列X(n)的16点及32点DFT:
clc;clear all
N=16;
n=1:16;
x= sin(5*pi*n/16);
X1=fft(x,16);

开始
输入序列x(n)
计算x(n)的DFT并计算其幅度和相位
计算x(n)的DFT并计算其幅度和相位
绘出图形
开始
X11=abs(X1);
subplot(2,1,1);
stem(X11);
xlabel('频率');
ylabel('幅度');
title('16点序列x(n)的16点DFT');
X2=fft(x,32);
X22=abs(X2);
subplot(2,1,2);
stem(X22);
xlabel('频率');
ylabel('幅度');
title('16点序列x(n)的32点DFT');

0246810121416
0
2
4
6

频率

16点序列x(n)的16点DFT

05101520253035
0
2
4
6
8
频率

16点序列x(n)的32点DFT

(2)序列x(n)的DTFT:
clc;clear all
N=16;
n=1:.01:N;
x= sin(5*pi*n/16);
X1=fft(x);
X11=abs(X1);
plot(x)
xlabel('频率');
ylabel('幅度');
title('序列x(n)的DTFT');

02004006008001000120014001600
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

频率


序列x(n)的DTFT

(3):
clc;clear all
x=[1 2 3 4 5 6 5 4 3 2 1];
nx=0:length(x)-1;
K=128;dw=2*pi/K;
k=floor((-K/2+0.5):(K/2-0.5));
X=x*exp(-j*dw*nx'*k);
subplot 311;plot(k*dw,abs(X))
hold on
xlabel('\omega');ylabel('幅度响应');
title('11点序列的DTFT和FFT');
grid
Xd=fft([1 2 3 4 5 6 5 4 3 2 1]);
plot([0:length(x)-1]*2*pi/11,abs(Xd),'r.')
Xd1=fftshift(Xd);
subplot 312;plot(k*dw,abs(X));
hold on
xlabel('\omega');ylabel('幅度响应');
title('FFT移位后');
plot([-5:5]*2*pi/11,abs(Xd1),'r.');
grid
subplot 313;plot(k*dw,angle(X));
hold on
xlabel('\omega');ylabel('相位响应');
title('FFT移位后');
grid
-4-3-2-10123456
0
20
40




11点序列的DTFT和FFT

-4-3-2-101234
0
20
40




FFT移位后

-4-3-2-101234
-5
0
5




FFT移位后

五、DTFT和DFT之间的区别和关系:
1、DTFT是离散时间傅里叶变换,DFT是离散傅里叶变换。
2、DTFT变换后的图形中的频率是一般连续的(cos(wn)等这样的特殊函数
除外,其变换后是冲击串),而DFT是DTFT的等间隔抽样,是离散的点,其函数
表示为X(k),而DTFT的函数表示为()jwXe(DFT是DTFT的等间隔抽样,DTFT
变化后的频率响应一般是连续的,DFT变换后的频率响应是离散的)。
3、DTFT是以2为周期的。而DFT的序列X(k)是有限长的。
4、DTFT是以复指数序列{()jwnXe}的加权和来表示的,而DFT是等间隔抽
样,抽样间隔为2N(N为离散序列的长度)。
5、DTFT和DFT都能表征原序列的信息。由于现在计算主要使用计算机,必
需要是离散的值才能参与运算,因此在工程中DFT应用比较广泛,FFT是DFT的
快速算法。

教师签名:
年 月 日