中南大学
数字信号处理 实验报告
学生姓名 学 号
指导教师 学 院
专业班级 完成时间
目 录
实验一 实验二
常见离散时间信号的产生和频谱分析 ………………………………………… 3 实验结果与分析…………………………………………………………………… 5 数字滤波器的设计 ………………………………………………………… 14
实验结果与分析……………………………………………………………… 17
2
实验一 常见离散时间信号的产生和频谱分析
一、 实验目的
(1) 熟悉MATLAB应用环境,常用窗口的功能和使用方法; (2) 加深对常用离散时间信号的理解; (3) 掌握简单的绘图命令;
(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号进行频域分析。 二、 实验原理
(1) 常用离散时间信号
a)单位抽样序列
?(n)??
?1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:
?(n?k)??
b)单位阶跃序列
?1?0n?k n?0n?0?1 u(n)??
n?0?0?10?n?N?1c)矩形序列 RN(n)??
0其他?d)正弦序列
x(n)?Asin(wn??)
x(n)?anu(n)e)实指数序列
f)复指数序列
x(n)?e(??jw)n
(2)离散傅里叶变换:
设连续正弦信号x(t)为
x(t)?Asin(?0t??)
这一信号的频率为f0,角频率为?0?2?f0,信号的周期为T0?12??。如果对此连续周期信号x(t)f0?0 3
进行抽样,其抽样时间间隔为T,抽样后信号以x(n)表示,则有x(n)?x(t)果令w为数字频率,满足w0??0T??0t?nT?Asin(?0nT??),如
f1?2?0,其中fs是抽样重复频率,简称抽样频率。 fsfs为了在数字计算机上观察分析各种序列的频域特性,通常对X(ejw)在?0,2??上进行M点采样来
观察分析。 对长度为N的有限长序列x(n), 有
N?1n?0X(ejwk)??x(n)e?jwkn
2?k,k?0,1,?,M?1 M其中 wk?通常M应取得大一些,以便观察谱的细节变化。取模|X(ejwk)|可绘出幅频特性曲线。 (3)用DFT进行普分析的三种误差
三种误差:混叠现象、泄露现象、栅栏效应 a) 混叠现象
当采样频率小于两倍信号(这里指是信号)最大频率时,经过采样就会发生频谱混叠,这使得采样后的信号序列频谱不能真实地反映原信号的频谱。所以在利用DFT分析连续信号的频谱时,必须注意这一问题。避免混叠现象的唯一方法是保证采样速率足够高,使频谱交叠现象不致出现。也就是说,在确定采样频率之前,必须对信号的性质有所了解,一般在采样前,信号通过一个防混叠低通滤波器。 b) 泄漏现象
实际中的信号序列往往很长,为了方便我们往往用截短的序列来近似它们,这样可以使用
较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数。
泄漏是不能与混叠完全分离开的,因为泄漏导致频谱的扩散,从而造成混叠。为了减小泄漏的影响,可以选择适当的窗函数,使频谱的扩散减到最小。 c) 栅栏效应
因为DFT是对单位圆上Z变换的均匀采样,所以他不可能将频谱视为一个连续函数。这样
就产生了栅栏效应,就一定意义上看,DFT来观看频谱就好像通过一个尖桩的栅栏来观看一个图景一样,只能在离散点上看到真实频谱,这样就可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所挡住,不能被我们观察到。减小栅栏效应的一个方法就是借助在原序列的末端添补一些零值,从而变动DFT的点数。这一方法实际上是人为地改变了对真实谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或者谷点暴露出来。当然,这是每根谱线所对应的频率和原来的不同了。
综上所述,DFT可以用于信号的频谱分析,但必须注意可能产生的误差,在应用过程中要
尽可能减少和消除这些误差的影响。 三、 实验内容及要求
(1)复习常用离散时间信号的有关内容;
4
(2) 用MATLAB编程产生上述任意3种序列(长度可输入确定,对(d) (e) (f)中的参数可自行选择),并绘出其图形; (3) 混叠现象
对连续信号x(t)?sin(2*pi*f01*t)其中,f01?500Hz进行采样,分别取采样频率
fs?2000Hz,1200Hz,800Hz,观察|X(ejw)|的变化,并做记录(打印曲线),观察随着采样频率降低频谱
混叠是否明显存在,说明原因。 (4)截断效应
?给定x(n)?cos(n),截取一定长度的信号y(n)?x(n)w(n),w(n)为窗函数,长度为N,
4w(n)?RN(n)。做2N点DFT变换,分析当N逐渐增大时,分析是否有频谱泄露现象、主瓣的宽度变化?
如何减小泄露? (5)栅栏效应
给定x(n)?R4(n),分别计算X(ejw)在频率区间?0,2??上的16点、32点、64点等间隔采样,
绘制X(ejw)采样的幅频特性图,分析栅栏效应,如何减小栅栏效应?
??(6) 提高题:给定信号x1(n)?5sin(n),x2(n)?cos(n),x3(n)?x1(n)?x2(n)。分别计算X(ejw)在频
54率区间?0,2??上的频谱,观察其幅频特性图,分析是否存在谱间干扰,如何减小谱间干扰?
四、实验用MATLAB函数介绍
(1)数字信号处理中常用到的绘图指令(只给出函数名,具体调用格式参看help)
figure(); plot(); stem(); axis(); grid on; title(); xlabel(); ylabel(); text(); hold on; subplot()
(2)离散时间信号产生可能涉及的函数
zeros(); ones(); exp(); sin(); cos(); abs(); angle(); real(); imag();
五、实验结果与分析
(1)复习常用离散时间信号的有关内容;
在时间上依次出现的数值序列,例如,{…,0.5,1,2,-1,0,5,…}。相邻两个数之间的时间间隔可以是相等的,也可以是不等的。在前一情况下,设时间间隔为T秒,则离散信号可用符号x(nT)来表示。在间隔T归一化为1的条件下,T可以省略,即将x(nT)表示为x(n)。x(n)既可表示整个序列, 也可表示离散信号在nT瞬间的值。
(2) 用MATLAB编程产生上述任意3种序列(长度可输入确定,对(d) (e) (f)中的参数可自行选择),
5