
DSP实验报告 2008 级电信 3 班 苏冠男(3008204253) LAB2
1 / 11
实验二 离散时间傅里叶变换(DTFT)和离散傅里叶变换(DFT)
一、实验目的
1、深刻理解离散时间信号傅里叶变换(DTFT)的定义,与连续傅里叶变换之间的关系;
2、深刻理解序列频谱的性质(连续的、周期的等);
3、能用 MATLAB 编程实现序列的 DTFT,并能显示频谱幅频、相频曲线;
4、深刻理解 DFT 的定义、DFT 谱的物理意义、DFT 与 DTFT 之间的关系;
5、能用 MATLAB 编程实现有限长序列的 DFT;
6、熟悉循环卷积的过程,能用 MATLAB 编程实现循环卷积运算。
二、实验原理
1、离散时间信号的频谱和图示化
(1)求出频谱函数后取出其稠密的离散点,连接成曲线。
在 MATLAB 中,用连续信号在等时间间隔点的样值来近似的表示连续信号的频谱,当
取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。对于无限长信号的频
谱和有限长信号的频谱都可以用这种方法。
(2)在 MATLAB 中,利用编程计算出信号的频谱并画出。
这种方法适用于有限长信号频谱的计算和绘出。在一个周期内(比如[-π , π ]或[0,2
π ])把变量ω 赋值为很密的、长度很长的(离散)向量来近似连续变量,通常最简单的取
法是进行 M 等分,则可取为ω =k*dω =k*2π /M。其中,dω 为频域的间隔,夜场频率分辨率;
k 为频域的顺序向量,取整数。
频率的顺序向量公式:k∈[「-(M-1)/2」:「(M-1)/2」]([-π , π ]区间内),有时因对称
性,只取 k∈[0:「(M-1)/2」]。
※当需要求离散时间傅里叶变换(DTFT)时,可直接调用自己编写的函数:
function[X]=dtft(x,n,w) %X:以ω 为自变量的 DTFT(复值向量)
%x:以持续时间为 n 的有限长序列
%ω :频域采样点组成的向量
function X=dtft(x,n1,n2,M,per) :
%X=dtft(x,n1,n2,M,per)计算有限长信号的傅里叶变换
%X:有限长信号的傅里叶变换
%n1,n2:分别为时域序列的上下界
%M:频域的总点数
%若一个周期内取 M 个点,取 per=2,则频域间隔(频率分辨率)为 2*pi/M
%若半个周期内取 M 个点,取 per=1,则频域间隔(频率分辨率)为 pi/M
%根据需要可添加 plot(最后一句)
n=n1:n2;
switch per
case 1
c=pi;
k=0:M;
case 2
c=2*pi;
k=-M/2:M/2;
end
w=(c/M)*k;
X=x*(exp(-j*c/M).^(n’*k);
%plot(w/pi,abs(X));
评论29