数字信号处理实验指导手册西安文理学院机械电子工程系目录实验一离散时间信号 (2)实验二时域采样定理 (7)实验三离散时间系统 (10)实验四线性卷积与圆周卷积 (13)实验五用FFT作谱分析 (16)实验六用双线性变换法设计IIR数字滤波器 (18)实验七 FIR滤波器设计 (20)实验一离散时间信号【实验目的】用MATLAB实现离散时间信号的表示和运算,掌握MATLAB的基本命令和编程方法,为后续实验打基础。
【实验原理】在数字信号处理中,所有的信号都是离散时间信号,因此应首先解决在MATLAB中如何表示离散信号。
设一模拟信号经A/D变换后,得到序列信号由于MATLAB对下标的约定为从1开始递增,因此要表示,一般应采用两个矢量,如:这表示了一个含9个采样点的矢量:【实验内容】熟悉下面序列(信号)的产生方法及相关运算1、单位采样序列2、单位阶跃序列3、信号翻转4、信号相加5、信号折叠6、信号移位【参考程序】单位采样序列1、impluse1.m (图1-1)n=10;x=zeros(1,n);x(1)=1;plot(x,'*');2、impluse2.m(图1-2)n=-5:5;x=[n==0];stem(x,'*');3、impluse3.m(图1-3)n=1:10;n0=3;x=[(n-n0)==1];plot(x,'*');单位阶跃序列1、steps1.m(图1-4)n=10;x=ones(1,n);plot(x,'*');2、steps2.m(图1-5)n=10;x=ones(1,n);x(1)=0;x(2)=0;plot(x,'*');3、steps3.m(图1-6)n=0:10;n0=4;x=[(n-n0)>=0];plot(x,'*');信号翻转(中心对称)flip.m(图1-7)x=0:6;figure(1);subplot(211);plot(x,'*');y=fliplr(x);subplot(212);plot(y,'*');信号相加Showsigadd.m(图1-8)clear allfigure(1);[x1 n1]=impseq(-4,-5,5); subplot(3,1,1);stem(n1,x1,'*');title('信号相加演示');ylabel('x1');[x2 n2]=stepseq(0,-3,7); subplot(3,1,2);stem(n2,x2,'*');ylabel('x2');[y n]=sigadd(x1,n1,x2,n2); subplot(3,1,3);stem(n,y,'*');ylabel('y=x1+x2)')信号折叠%showfold.m(图1-9)clear all[x n]=impseq(2,-5,3); subplot(2,1,1);stem(n,x);title('信号折叠演示'); [y,n]=sigfold(x,n); subplot(2,1,2);stem(n,y);信号移位%showsigshift.m(图1-10)figure(1)clear all[x,n]=stepseq(0,-5,5);subplot(211);stem(n,x,'*');title('信号移位演示’);[y,n]=sigshift(x,n,3);subplot(212)stem(n,y);【思考题】1、用MATLAB实现信号的相加、移位、反转运算。
2、用MATLAB计算信号的能量。
实验二时域采样定理【实验目的】1、掌握奈奎斯特抽样定理的含义,以及在实际应用中需要注意的问题。
2、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
【实验原理】1、理想抽样信号连续信号经过时间间隔为T的均匀采样后,得到的理想抽样信号可表示为其傅里叶变换为可见,一个连续时间信号经过理想抽样后,其频谱将以抽样频率为间隔而重复,这就是频谱产生周期延拓。
如果信号的最高频谱超过,则各周期延拓分量产生频谱的交叠,称为混叠现象。
要想抽样后能够不失真地还原出原信号,则抽样频率必须大于两倍信号谱的最高频率(,这就是奈奎斯特抽样定理。
2、抽样恢复如果满足奈奎斯特抽样定理,即信号谱的最高频率小于折叠频率,则抽样后不产生频谱混叠,有故将通过以下理想低通滤波器:就可得到原信号频谱所以输出端即为原模拟信号【实验内容】用实验的方法验证抽样定理。
对下面连续信号:进行采样,可得到采样序列其中A为幅度因子,为衰减因子,是模拟角频率,T为采用间隔。
这些参数都要在实验过程中由键盘输入,产生不同的和。
产生采样信号序列,使A=144.128,,,图2—1给出了连续信号的幅频特性曲线,由此图可以确定对应采用的采样频率。
1、取采样频率,即T=1ms.观察所得采样的幅频特性和图2-1中的,在折叠频率附近有无明显差别。
应当注意,实验中所得频谱是用序列的傅里叶变换公式求得的,所以在频率度量上存在关系:为数字频率,为模拟频率。
2、改变采样频率,,观察的变化,并作记录(打印曲线);进一步降低采样频率,,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的曲线。
3、变采样频率,,观察的变化,并作记录(打印曲线);观察过采样时的曲线,并记录(打印)这时的曲线。
【思考题】采样频率不同时,相应理想采样序列的傅里叶变换频谱的数字频率刻度是否都相同。
它们所对应的模拟频率是否相同?为什么?实验三离散时间系统【实验目的】1、熟悉时域离散系统的时域特性。
2、利用卷积方法观察分析系统的时域特性。
3、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
【实验原理】离散信号和系统在时域均可用序列来表示。
序列图形给人以形象直观的印象,他可加深我们对信号和系统的时域特征的理解。
本实验将观察分析几种信号及系统的时域特性。
为了在数字计算机上观察分析各种序列的频域特性,通常对在上进行M点采样来观察分析。
对长度为N的有限长序列x(n),有(3-1)其中通常M应该取得大一些,以便观察谱的细节变化。
取模||可绘出幅频特性曲线。
一个时域离散线性非移变系统的输入/输出关系为y(n)=x(n)*h(n)= (3-2)这里,y(n)为系统的输出序列,x(n)为输入序列。
h(n)、x(n)可以无限长,也可以是有限长。
为了计算机绘图观察方便,主要讨论有限长情况。
如果h(n)和x(n)的长度分别为N和M,则y(n)的长度为L=N+M-1。
这样,(3-2)式所描述的卷积运算就是序列移位、相乘和累加的过程。
上述卷积运算也可以在频域实现(3-3)式(3-3式右边的相乘是在各频域点上的频谱值相乘。
【实验内容】一、认真复习离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理。
二、编制实验用相关子程序。
①信号产生子程序,用于产生实验中要用到的下列信号序列:a.单位采样序列:b.矩形序列:②系统单位脉冲响应序列产生子程序。
本实验要用到两种FIR系统。
a.b.③有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB语言中的卷积函数。
用于两个有限长序列的卷积,它假定两个序列都从n=0开始。
调用格式如下:y=其中参数x和y是两个已赋值的行向量序列。
三、在完成编制上述子程序的基础上,完成时域离散信号、系统和系统响应分析。
1、观察信号和系统的时域和频域特性;利用线性卷积求得信号通过系统的响应y(n),比较所求响应y(n)和的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
2、观察系统对信号的响应特性。
利用线性卷积求系统响应y(n),并判断y(n)图形及其非零值序列长度是否与理论结果一致。
调用序列傅里叶变换数值计算子程序,求得,观察特性曲线,定性判断结果的正确性。
改变的长度,取N=5,重复该实验。
注意参数变化的影响,说明变化前后的差异,并解释所得结果。
3、卷积定理的验证。
对信号和分别求出其频谱,按(3-3)式计算:并绘出曲线与直接对y(n)进行傅里叶变换所得幅频特性进行比较,验证时域卷积定理。
【思考题】1、试用MATLAB编写卷积函数y(n)=conv(x,n)。
2、在卷积定理验证的实验中,如果选用不同的频率采样点数M值,例如,选M=10和M=20,分别做序列的傅里叶变换,求得0,1,…,M-1所得结果之间有无差异?为什么?实验四线性卷积与圆周卷积【实验目的】理解离散序列的线性卷积与圆周卷积的原理,比较其相同点和不同点,掌握线性卷积与圆周卷积的计算步骤和计算方法,能熟练使用MATLAB的相关命令。
【实验原理】1.线性卷积设两序列为和,则和的线性卷积定义为卷积和的运算在图形表示上可分为4步(图4-1):(1)翻褶:先在哑变量坐标m上做出x(m)和h(m),将h(m)以m=0的垂直轴为对称轴翻褶成h(-m)。
(2)移位:将h(-m)移位,即得h(n-m)。
当n为正整数时,右移n位。
当n为负整数时,左移n位。
(3)相乘:再将h(n-m)和x(m)的相同m值的对应点值相乘。
(4)相加:把以上所有对应点的乘积叠加起来,即得y(n)值。
注意:对于得到的结果仍然是一个序列,若x(n)的长度是N,h(n)的长度是M,则y(n)的长度是N+M-1。
2.圆周卷积设两序列为x(n)和h(n),则x(n)和h(n)的圆周卷积和定义为=圆周卷积过程(图4-2):(1)补零:若x(n)的长度是N,h(n)的长度是M,取H>=max(N,M),对序列补零至点H。
(2)周期延拓:先在哑变量坐标m上做出x(m)和h(m),将h(m)周期延拓。
(3)翻褶,取主值序列:对h(m)以m=0的垂直轴为对称轴翻褶成h(-m),然后取主值序列。
(4)圆周移位:对得到的序列进行圆周移位。
(5)相乘相加:与x(m)对应项相乘,并累加,得到y(n)。
3.线性卷积与圆周卷积的关系时域的圆周卷积在频域上相当于两序列的DFT相乘,因而可以采用DFT的快速算法。
它与线性卷积相比,计算速度可以大大加快。
但是,一般实际问题都是线性卷积运算。
4.结论若两序列为x(n)和h(n),长度分别为N、M;则其线性卷积的长度为N+M-1,而圆周卷积的长度为K=max(N,M)。
只有L>=N1+N2-1时,则L点圆周卷积和线性卷积相等。
【实验内容】(1)计算下面信号的线性卷积、圆周卷积,比较什么情况下二者相等。