数字信号处理实验指导手册
数字信号处理实验指导手册【模板】
数字信号处理实验指导手册西安文理学院机械电子工程系目录实验一离散时间信号 (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实现信号的相加、移位、反转运算。
数字信号处理实验指导书(M)
数字信号处理实验电子信息科学与技术实验室2007年7月目录实验一离散时间信号的时域表示 (3)实验二离散信号的卷积和 (6)实验三离散傅立叶变换及其特性验证 (8)实验四信号处理中FFT的应用 (11)实验五离散系统的Z域分析 (15)实验六无限冲激响应(IIR)数字滤波器的三种结构 (19)实验七冲激响应不变法IIR数字滤波器设计 (23)实验八双线性变换法IIR数字滤波器设计 (26)实验一 离散时间信号的时域表示一、实验目的1、熟悉Matlab 命令,掌握离散时间信号-序列的时域表示方法。
2、掌握用Matlab 描绘二维图像的方法。
3、掌握用Matlab 对序列进行基本的运算和时域变换的方法。
二、实验原理与计算方法(一)序列的表示方法 序列的表示方法有列举法、解析法和图形法,相应的用Matlab 也可以有这样几种表示方法,分别介绍如下:1、列举法 在Matlab 中,用一个列向量来表示一个有限长序列,由于一个列向量并不包含位置信息,因此需要用表示位置的n 和表示量值的x 两个向量来表示任意一个序列,如:例1.1:>>n=[-3,-2,-1,0,1,2,3,4]; >>x=[2,1,-1,0,1,4,3,7];如果不对向量的位置进行定义,则Matlab 默认该序列的起始位置为n=0。
由于内存有限,Matlab 不能表示一个无限序列。
2、解析法对于有解析表达式的确定信号,首先定义序列的范围即n 的值,然后直接写出该序列的表达式,如:例1.2:实现实指数序列nn x )9.0()(=,100≤≤n 的Matlab 程序为:>>n=[0:10]; >>x=(0.9).^n;例 1.3:实现正余弦序列)5.0sin(2)31.0cos(3)(n n n x πππ++=,155≤≤n 的Matlab 程序为:>>n=[5:15];>>x=3*cos(0.1*pi*n+pi/3)+2*sin(0.5*pi*n); 3、图形法在Matlab 中用图形法表示一个序列,是在前两种表示方法的基础上将序列的各个量值描绘出来,即首先对序列进行定义,然后用相应的画图语句画图,如:例1.4:绘制在例1.1中用列举法表示的序列的图形,则在向量定义之后加如下相应的绘图语句:>>stem(n,x);此时得到的图形的横坐标范围由向量n 的值决定,为-3到4,纵坐标的范围由向量x 的值决定,为-1到7。
《数字信号处理》上机实验指导书
《数字信号处理》上机实验指导书实验1 离散时间信号的产生1.实验目的数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大的绘图功能,便于用户直观地输出处理结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号的理解。
2.实验要求本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
3.实验原理(1)常见的离散时间信号1)单位抽样序列,或称为离散时间冲激,单位冲激:?(n)???1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:?1n?k ?(n?k)??0n?0?2)单位阶跃序列n?0?1 u(n)?n?0?0在MATLAB中可以利用ones( )函数实现。
x?ones(1,N);3)正弦序列x(n)?Acos(?0n??)这里,A,?0,和?都是实数,它们分别称为本正弦信号x(n)的振幅,角频率和初始相位。
f0??02?为频率。
x(n)?ej?n4)复正弦序列5)实指数序列x(n)?A?n(2)MATLAB编程介绍MATLAB是一套功能强大,但使用方便的工程计算及数据处理软件。
其编程风格很简洁,没有太多的语法限制,所以使用起来非常方便,尤其对初学者来说,可以避免去阅读大量的指令系统,以便很快上手编程。
值得注意得就是,MATLAB中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。
数字信号处理实验指导书(需印刷)
实验一 常见离散信号的MATLAB 产生和图形显示1、实验目的:(1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
(2)加深对常用离散时间信号的理解。
(3)掌握简单的绘图命令。
(4)掌握线性卷积的计算机编程方法。
2、实验原理:(1)单位抽样序列⎩⎨⎧=01)(n δ0≠=n n如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n(2)单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n(3)矩形序列 ⎩⎨⎧=01)(n R N 其他10-≤≤N n(4)正弦序列)sin()(ϕ+=wn A n x(5)复正弦序列jwnen x =)((6)指数序列na n x =)((7)线性时不变系统的响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y )()()()()(3、实验内容及步骤:(1)复习常用离散时间信号的有关内容。
(2)编制程序产生上述6种序列(长度可输入确定,对(4) (5) (6)中的参数可自行选择),并绘出其图形。
(3)已知系统的单位脉冲响应),(9.0)(n u n h n=输入信号)()(10n R n x =,试用卷积法求解系统的输出)(n y ,并绘出n n x ~)(、n n h ~)(及n n y ~)(图形。
4、实验用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(); (3)卷积计算可能涉及的函数conv(); length()注:实验过程中也可以使用自己编制的自定义函数,如impseq()、stepseq()等。
数字信号处理实验指导书--Matlab版
下:
由于 e jω 是频率的周期函数,所以系统的频率特性也是频率的周期函数,且周期为 2π ,因 此研究系统频率特性只要在[ −π ,π ]范围内就可以了。
三、实验内容及步骤
1、在实验上机前,认真复习离散卷积和差分方程的有关内容,仔细阅读本实验原理和 步骤。准备实验所需数据。
2、离散卷积计算。 1)在主界面下进入“实验五” 的“离散卷积”子系统,选定几组不同的 x(n)、h(n) 代入离散卷积程序计算 y(n),记录实验结果。 3、差分方程迭代解法 1)¨在主界面下进入“实验五” 的“差分方程”子系统,本实验要求首先确定系统方 程系数个数和需要输出 y(n)的样点个数,然后依次输入 a[0]~a[N]、b[0]~b[N]这些系数的 数值和 y(n)的初始值 y(0)~y(N-1),h(n)的初始值 h(0)~h(N-1),运行后即得冲激响应 h(n) 和阶跃信号激励下的响应 y(n)的结果和图形显示。 2)自己选择一个离散时间系统,写出其差分方程,设好初始条件进行实验并记录实验 结果。 4、在主界面下进入“实验六”即“离散系统 Z 域分析”,本实验中给出了计算系统
明了系统结构、参数、特性三者之间的关系,即同一结构,参数不同其特性也不同。 例如,下图所示离散系统:
数学模型由下列差分方程描述: y(n)=ay(n-1)+x(n)
系统函数 系统频率特性
H (z) = z , | z |> a z−a
幅度特性为
H (e jω )
=
e jω e jω − a
《数字信号处理》实验指导书(完整)
《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第1章 系统响应及系统稳定性1.1 实验目的● 学会运用MATLAB 求解离散时间系统的零状态响应; ● 学会运用MATLAB 求解离散时间系统的单位取样响应; ● 学会运用MATLAB 求解离散时间系统的卷积和。
1.2 实验原理及实例分析1.2.1 离散时间系统的响应离散时间LTI 系统可用线性常系数差分方程来描述,即∑∑==-=-Mj jN i i j n x b i n y a 00)()( (1-1) 其中,i a (0=i ,1,…,N )和j b (0=j ,1,…,M )为实常数。
MATLAB 中函数filter 可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter 的语句格式为y=filter(b,a,x)其中,x 为输入的离散序列;y 为输出的离散序列;y 的长度与x 的长度一样;b 与a 分别为差分方程右端与左端的系数向量。
【实例1-1】 已知某LTI 系统的差分方程为试用MATLAB 命令绘出当激励信号为)()2/1()(n u n x n=时,该系统的零状态响应。
解:MATLAB 源程序为>>a=[3 -4 2];>>b=[1 2];>>n=0:30;>>x=(1/2).^n;>>y=filter(b,a,x);>>stem(n,y,'fill'),grid on>>xlabel('n'),title('系统响应y(n)')程序运行结果如图1-1所示。
1.2.2 离散时间系统的单位取样响应系统的单位取样响应定义为系统在)(n 激励下系统的零状态响应,用)(n h 表示。
MATLAB 求解单位取样响应可利用函数filter ,并将激励设为前面所定义的impDT 函数。
《数字信号处理》实验指导书(正文)
实验一 离散时间信号分析一、实验目的1.掌握各种常用的序列,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。
4.掌握线性卷积软件实现的方法。
5.掌握计算机的使用方法和常用系统软件及应用软件的使用。
6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列来表示,其中代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对)(t x a 模拟信号进行等间隔采样,采样间隔为T ,得到一个{})(nT x a 有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位采样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算∑∞∞-*=-=)()()()()(n h n x m n h m x n y上式的运算关系称为卷积运算,式中代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4个步骤。
(1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。
(2)移位:将)(m h -移位n ,得)(m n h -。
当n 为正数时,右移n 位;当n 为负数时,左移n 位。
(3)相乘:将)(m n h -和)(m x 的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。
《数字信号处理》实验指导书
R6(n)
0.5
0 0.2
0
5
10
15
20
25 n
30
35
40
45
ቤተ መጻሕፍቲ ባይዱ
50
Magnitude
0.1
0 4
-3
-2
-1
0 Frequency(rad)
1
2
3
Phase
2 0 -2 -4 -3 -2 -1 0 Frequency(rad) 1 2 3
k=0 时的直流分量及其合成的波形:
0.5
the Kth harmonic
the Kth harmonic
0
the Kth harmonic
0 5 10 15 20 25 n 30 35 40 45 50
0
-0.5
-0.5
0
5
10
15
20
sum of the first K+1 harmonics
1
sum of the first K+1 harmonics
25 n
30
35
0
-0.5
-0.5
0
5
10
15
20
sum of the first K+1 harmonics
1
sum of the first K+1 harmonics
25 n
30
35
40
45
50
1
0.5
0.5
0 0 5 10 15 20 25 n 30 35 40 45 50
0 0 5 10 15 20 25 n 30 35 40 45 50
数字信号处理实验指导书
j j
括幅频特性和相频特性)曲线。并将其和第 4 步中得到的结果进行比较。
七. 实验报告内容与要求
1. 简述实验目的、实验原理及实验方法和步骤。 2. 对各实验所得结果进行分析和解释。 3. 打印程序清单和要求的各信号波形。 4. 总结实验中的主要结论。 5. 简要回答思考题。
八. 思考
1. 信号的频域特性即信号的傅立叶变换利用 MATLAB 程序如何实现? 2. 信号的频域特性即频率响应函数 H (e ) 利用 MATLAB 程序如何求取?
4
X (e j ) FT [ x(n)]
n
x ( n) e
j n
(2.1)
序列和信号的傅立叶变换是ω的连续函数, 而计算机只能计算出有限个离散频率点的 函数值。因此在取得频谱函数后,应该在 0~2π之间取许多点,计算这些点的频谱函数 的值,并取它们的包络,该包络才是需要的频率特性。当然,点数取得多一些,该包络才
y(n) 0.05 x(n) 0.05 x(n 1) 0.9 y(n 1) 的响应 y2 (n) ,并绘出 y2 (n) 的时域特性曲
线。
( n) ,并绘出 y1 ( n) 的 5. 利用卷积函数 conv () 求信号 x1 ( n) 通过系统 h1 (n) 的响应 y1
j 能接近真正得频率特性。通常对 X (e ) 在[0,2π]上取模 X (e ) ,绘出幅频特性曲
j
线进行观察分析。系统的频域特性,通常是指求系统频率响应函数 H (e ) ,即系统单位 脉冲响应 h(n)的傅里叶变换。 对于线性时不变时域离散系统,当系统的输入序列为 x(n) ,系统的单位脉冲响应为 为 h(n) ,则线性时不变系统的输出序列为
《数字信号处理实验》指导书
《数字信号处理实验》实验1 常用信号产生实验目的:学习用MATLAB编程产生各种常见信号。
实验内容:1、矩阵操作:输入矩阵:x=[1 2 3 4;5 4 3 2;3 4 5 6;7 6 5 4]引用 x的第二、三行;引用 x的第三、四列;求矩阵的转置;求矩阵的逆;2、单位脉冲序列:产生δ(n)函数;产生δ(n-3)函数;3、产生阶跃序列:产生U(n)序列;产生U(n-n0)序列;4、产生指数序列:x(n)=0.5n⎪⎭⎫⎝⎛4 35、产生正弦序列:x=2sin(2π*50/12+π/6)6、产生取样函数:7、产生白噪声:产生[0,1]上均匀分布的随机信号:产生均值为0,方差为1的高斯随机信号:8、生成一个幅度按指数衰减的正弦信号:x(t)=Asin(w0t+phi).*exp(-a*t)9、产生三角波:实验要求:打印出程序、图形及运行结果,并分析实验结果。
实验2 利用MATLAB 进行信号分析实验目的:学习用MATLAB 编程进行信号分析实验内容:1数字滤波器的频率响应:数字滤波器的系统函数为:H(z)=21214.013.02.0----++++z z z z , 求其幅频特性和相频特性:2、离散系统零极点图:b =[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];画出其零极点图3、数字滤波器的冲激响应:b=[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];求滤波器的冲激响应。
4、 计算离散卷积:x=[1 1 1 1 0 0];y=[2 2 3 4];求x(n)*y(n)。
5、 系统函数转换:(1)将H(z)=)5)(2)(3.0()1)(5.0)(1.0(------z z z z z z 转换为直接型结构。
(2)将H (z )=3213210.31.123.7105.065.06.11-------+--+-zz z z z z 转换为级联型结构。
《数字信号处理》实验指导书-167
《数字信号处理》实验指导书实验1 数字滤波器的设计实验序号:1 实验名称:数字滤波器的设计 适用专业:通信工程、电子信息工程 学 时 数:4学时一、实验目的1.掌握双线性变换法设计IIR 数字滤波器的具体设计方法及其原理和窗函数设计FIR 滤波器的设计原理与基本方法。
2.观察双线性变换的频域特性。
熟悉Butterworth 滤波器的频率特性。
3.了解各种不同窗函数对滤波器性能的影响。
4.熟悉Matlab 计算机编程。
二、实验原理1.用双线性变换法设计IIR 数字滤波器方法(1)设计思想:将模拟滤波器转换成数字滤波器的实质是,用一种从s 平面到z 平面的映射函数将Ha(s)转换成H(z)。
对这种映射函数的要求是:(1) 因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。
(2)数字滤波器的频率响应模仿模拟滤波器的频响,s 平面的虚轴映射z 平面的单位圆,相应的频率之间成线性关系。
脉冲响应不变法和双线性变换法都满足如上要求。
s 平面与z 平面之间满足以下映射关系:1111--+-=zz ss 平面的虚轴单值地映射于z 平面的单位圆上,s 平面的左半平面完全映射到z 平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换时一种非线性变换)/ω(tg 2=Ω,这种非线性引起的幅频特性畸变可通过预畸而得到校正。
(2)以低通数字滤波器为例,将设计步骤归纳如下:·确定数字滤波器的性能指标:通带临界频率f p 、阻带临界频率f s ;通带内的最大衰减A p ;阻带内的最小衰减A s ;· 确定相应的数字角频率,ωp=2πfp ;ωs=2πfs ;·计算经过预畸的相应模拟低通原型的频率,)2/(ωtg =Ω;·根据Ωp 和Ωs 计算模拟低通原型滤波器的阶数N ,并求得低通原型的传递函数Ha(s); ·用上面的双线性变换公式代入Ha(s),求出所设计的传递函数H(z); ·分析滤波器特性,检查其指标是否满足要求。
《数字信号处理》实验指导书(全)
数字信号处理实验指导书电子信息工程学院2012年6月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (16)实验五基于ICETEK-F2812-A 的FFT 算法分析 (18)实验六基于ICETEK-F2812-A 的数字滤波器设计 (20)实验七基于ICETEK-F2812-A的交通灯综合控制 (24)实验八基于BWDSP100的步进电机控制 (26)实验一离散信号产生和基本运算一、实验目的(1)掌握MATLAB最基本的矩阵运算语句。
(2)掌握对常用离散信号的理解与运算实现。
二、实验原理1.向量的生成a.利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。
第二种格式用于生成步长为p的均匀等分的向量。
b.利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。
第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。
2.矩阵的算术运算a.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9b.乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另'A表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。
sin(A),cos(A),exp(A),log(A)(相当于ln)sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部 式中A 可以是标量也可以是矩阵 例: 利用等差向量产生一个正弦值向量 t=0:0.1:10 A=sin(t) plot(A)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。
数字信号处理实验指导书(带源程序)
实验一离散时间系统与MA TLAB一. 实验目的1. 进一步加深对离散时间系统的理解。
2. 学习在MATLAB中怎样表示离散时间信号。
3. 熟悉离散时间信号的作图。
二. 实验步骤1. 复习离散时间系统的有关容。
2. 复习MA TLAB的基本语法。
3. 按实验容熟悉stem。
4. 编写程序。
5. 输出结果,总结结论,按要求写出实验报告。
三. 实验容1.掌握stem函数STEM(Y) plots the data sequence Y as stems from the x axis terminated with circles for the data value.STEM(X,Y) plots the data sequence Y at the values specified in X.例:t=[0:0.1:2]; x=cos(pi*t+0.6); stem(t,x);xn=[4,2,2,3,6,7]; stem(xn);思考:STEM(Y)与STEM(X,Y)有什么不同?STEM与PLOT函数有什么不同?2.掌握subplot函数H = SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for the current plot, and returns the axis handle. The axes are counted along the top row of the Figure window, then the second row, etc.例:n1=0:3;x1=[1,1,1,1];subplot(221);stem(n1,x1);title('x1序列');n2=0:7;x2=[1,2,3,4,4,3,2,1];subplot(222);stem(n2,x2);title('x2序列');n3=0:7;x3=[4,3,2,1,1,2,3,4];subplot(223);stem(n3,x3);title('x3序列');n4=0:7;x41=cos((pi/4)*n4);subplot(224);stem(n4,x41);title('x4序列');思考:subplot是怎样分配各个作图分区的顺序号的?3.信号的运算]0,1.0,4.0,7.0,1[)(1=n x ,]9.0,7.0,5.0,3.0,1.0[)(2=n x ,请作出)()(21n x n x +,)()(21n x n x 的图形。
《数字信号处理》实验指导书
的相角, Ai 就是极点 pi 到单位圆上的点 e jω 的矢量长度(距离),而θ i 就是该矢量 的相角,因此有:
M
∏ B e j(ψ1 +ψ 2 +⋅⋅⋅⋅+ψ M ) j
H (e jω ) =
j =1 N
= H (e jω ) e jϕ (ω )
∏ A e j(θ1+θ2 +⋅⋅⋅⋅+θ N ) i
(1) 设有直流信号 g(t)=1,现对它进行均匀取样,形成序列 g(n)=1。试讨 论若对该序列分别作加窗、补零,信号频谱结构有何变化。 四、实验过程及结果(含程序)
12
13
14
15
16
实验三 IIR 数字滤波器的设计
一、实验目的 (1)掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体设计 方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和 带通 IIR 数字滤波器的计算机编程。 (2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双 线性变换法及脉冲响应不变法的特点。 (3)熟悉 Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特 性
《数字信号处理》
实验指导书
班级: 学号: 姓名: 苏州科技学院 电子教研室
实验一 信号、系统及系统响应
一、实验目的
(1) 熟悉 MATLAB 平台的使用,掌握离散信号、离散系统的 MATLAB 实现。 (2)掌握根据系统函数绘制系统零极点分布图的基本原理和方法。 (3)理解离散系统频率特性分析的基本原理,掌握根据系统函数零极点分布来分 析离散系统频率响应的几何矢量法。
17
变换类型 低通
Байду номын сангаас
数字信号处理实验指导书(学生版)
“数字信号处理”实验指导书(一)一、实验课程编码:105003 二、实验课程名称:数字信号处理三、实验项目名称: 应用MATLAB 分析离散信号频谱 四、实验目的掌握应用MATLAB 分析离散信号频谱的方法,即熟悉应用MATLAB 分析离散信号的函数。
五、主要设备安装有MATLAB 软件的电脑 六、实验内容编写MATLAB 程序,实现下面题目:1. 用快速卷积法计算下面两个序列的线性卷积。
)()4.0(s )(15n R n in n x =,)(9.0)(20n R n h n =2.已知序列[]()cos 0120n n N Nx n π⎧≤≤-⎪=⎨⎪⎩其它(1)计算该序列DTFT 的表达式()j X e ω,并画出N=10时的()j X e ω曲线; (2)编写MATLAB 程序,利用FFT 函数,计算N =10时,序列x [k ]的DTFT 在2m mNπω=的抽样值。
利用hold 函数,将抽样点画在()j X e ω的曲线上。
3.理解高密度频谱和高分辨率频谱的概念。
设)52.0cos()48.0(co )(n n s n x ππ+=(1) 取0≤n ≤9,求)(1k X(2) 将(1)中的)(x n 补零加长到0≤n ≤99,求)(2k X (3) 增加取样值的个数,取0≤n ≤99,求)(3k X4. 用DFT 对连续信号做谱分析。
设)50cos()100sin()200cos()(t t t t x a πππ++=,用DFT 分析)(t x a 的频谱结构,选择不同的截取长度Tp ,观察截断效应,试用加窗的方法减少谱间干扰。
选取的参数:(1) 频率s s f T Hz f /1 ,400==(2) 采样信号序列)()()(n w nT x n x a =,)(n w 是窗函数。
选取两种窗函数:矩形窗函数)()(n R n w N =和Hamming 窗,后者在程序中调用函数Hamming 产生宽度为N 的Hamming 窗函数向量。
数字信号处理实验指导书
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10
12
14
16
18
20
(3)用 impz 函数 a1=[1,0.75,0.125]; b1=[1,-1]; impz(b1,a1,21);
Impulse Response 1.5
1
0.5
Amplitude
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10 12 n (samples)
5
……
程序计算结果: I.
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1]
a. 单位冲激响应: (1) 用 filter 函数 a1=[1,0.75,0.125]; b1=[1,-1]; n=0:20; x1=[1 zeros(1,20)]; y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');
3. 编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分
别用 filter、conv、impz 三种函数完成。
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1] y[n] = 0.25{x[n − 1] + x[n − 2] + x[n − 3] + x[n − 4]}
数字信号处理实验指导书
实验一DES 综合外设实验1.1实验目的和要求DES320E 提供了键盘,液晶,数码管,直流电机,步进电机,交通灯等外设。
本实验学习这些外设的控制原理。
本实验为大型综合性实验,要求学生掌握DSP编程的基本方法。
通过实验,学生能编写外设控制程序。
例如,使用交通灯和定时器实现十字路口红绿灯的控制,直流电机的调速控制,使用液晶数码管显示和键盘实现计算器等。
1.2实验原理1) C54XX 的I O 空间读写C54XX 提供64K 字的I O 空间访问能力。
在汇编指令中分别提供了读和写命令:portr和p ortw。
你也可以在C中实现该I O 操作,方法如下:首先定义I O 空间变量,如:ioport unsigned portXXXX;/* 其中,XXXX 代表具体I O 口地址*/然后,就可以象访问普通变量一样访问I O 口。
如portXXXX=0x55;/* 将0x55 写到X XXX 指定的I O 口*/2) 交通灯的控制DES320E 提供了 12 个 LED,其控制地址为 IO 空间的 0x0c000h。
该地址的 D0-11比特位分别对应这12 个L ED。
将1写入可以点亮L ED,0 则关闭。
3) 直流电机控制DES320E 实验系统配有一个小型直流电机,可以 DSP 编程完成直流电机的调速控制。
其控制方法为:当向0x0e000h(…VC5402 的I O 空间)的D0 比特位写入1时,电机正向转动;当写入 0 时,电机反向转动。
用户可以通过 D0 位为 1 或 0 的持续时间(即D0 输出方波的占空比)控制电机的转速。
注意,使用直流电机时,应该先接通电机的电源,方法如下:向I O 空间的0x8000 地址的D0 比特位写入1。
若要关闭电源,请写入0。
当写入1或0时,你可以听到继电器动作的声音。
4) 步进电机的控制DES320E 实验系统还配有一个步进电机。
IO 空间的0x0f000h 的D0,D1,D2,D3 四个比特位分别对应步进电机的四相驱动端。
数字信号处理实验指导书(修订版)
目录实验一卷积实验 (1)实验二DFT和FFT实验 (5)实验三用双线性变换法设计IIR数字滤波器 (11)实验四用窗函数法设计FIR数字滤波器 (16)实验一卷积实验一.实验目的1.熟悉离散信号和系统的MATLAB 表示和产生方法;2.熟悉线性卷积的MATLAB编程方法;3利用卷积方法观察分析系统的时域特性。
二实验原理(一) 离散时间信号的MATLAB表示序列x(n)={2,6,1,2,0,3,4,5,6},用MATLAB语句表示为:n=[-4 -3 -2 -1 0 1 2 3 4];x=[ 2 6 1 2 0 3 4 5 6];其中:n表示取样时间点,x表示对应时间点的值。
如果不需要采样位置信息或这个信息是多余的时候(例如序列从n=0开始),用户可以只使用x向量来表示序列。
1.单位样值序列产生函数IMPSEQ.Mfunction[x,n]=impseq(n0,n1,n2)%产生x(n)=delta(n-n0);n1<=n<=n2;n=[n1:n2];x=[(n-n0)==0];在命令行窗口里执行:>>x= impseq(20,0,100);>> stem(x)有:2.单位阶跃序列产生函数STEPSEQ.Mfunction[x,n]=stepseq(n0,n1,n2)%产生x(n)=u(n-n0);n1<=n<=n2;n=[n1:n2];x=[(n-n0)>=0]; 在命令行窗口里执行:>>x=stepseq(20,0,100);>> stem(x)有:3正余弦信号的产生:% x(n)=1.5cos(0.02*pi*n) -150<=n<=150 n=-150:150x=1.5*cos(0.02*pi*n);stem(n,x)4.产生均值为0,方差为1的高斯随机噪声序列。
n=-150:150;Noise=randn(1,301);stem(n, Noise)(二) 序列的卷积一个线性系统一般应满足下式:y(n)=T[x(n)]由数字信号处理理论可知,线性系统的脉冲响应即为h(n),上式一般称为线性卷积,一般可以表示为:y(n)=x(n)*h(n)如果任意序列是无限长度的,就不能用MATLAB来直接计算卷积。
数字信号处理试验手册
数字信号处理—实验指导书洛阳理工学院计算机与信息工程系通信工程教研室王新新2012年2月试验一 MATLAB环境入门一、实验目的1. 熟悉Matlab语言基本操作界面及其功能;2. 熟悉Matlab语言的基本语法和程序文件的编写;3. 了解Matlab的矩阵操作命令和基本绘图命令。
二、试验内容1. 基本操作界面及其功能在Windows界面上双击MATLAB 图标,即可打开MATLAB命令平台,如图1所示。
图1 matlab操作界面2. Matlab语言的基本语法和程序文件的编写(1)常数矩阵输入a=[1 2 3]a=[1;2;3]记录结果,比较显示结果有何不同。
b=[1 2 5]b=[1 2 5]; 比较显示结果有何不同。
a=[1 2 3;4 5 6;7 8 0]a^2a^0.5 记录显示结果。
(2)循环命令程序makesum=0;for i=1:1:100makesum=makesum+i;end;键入makesum,按enter键,记录计算结果,说明程序功能。
(3)练习m文件的基本操作打开file 菜单,单击命令new或open,可以在m文件编辑器上新建或打开m 文件。
选中编辑器菜单选项下的run,可以运行该文件(也可以在命令平台上直接键入文件名来执行。
注意:大部分m文件需要输入变量才可以运行,此时命令平台上给出缺少输入变量的警告提示)。
问题1:请编程求取级数求和问题∑10000013121=+=iiiS)(,并记录程序及结果。
3. 基本绘图命令。
(1) 向量绘图x=0:0.1:2*pi; y1=sin(2*x);y2=cos(2*x); plot(x,y1) plot(x,y2) plot(x,y1,x,y2)(2) 保持作图 figureplot(x,y1);hold on plot(x,y2);hold off(3) 矩阵作图 figureplot(x,[y1',y2'])(4) 设定颜色和线形 figureplot(x,y1,'c:',x,y2,'ro')(4) 多窗口绘图 figuresubplot(221);plot(x,y1) subplot(222);plot(x,y2) subplot(223);plot(x,y1,x,y1+y2)subplot(224);plot(x,y2,x,y1-y2)(6) 三维绘图 t=0:0.1:2*pi; x=t.^3; y=cos(3*t); z=t.^2; figureplot3(x,y,z),grid(6)三维曲面绘制x=-10:0.1:10;y = x;[x,y]=meshgrid(x,y);z=f(x,y); % 这里的f自己定义mesh(x,y,z)可自定义三维曲面函数surf(x,y,z)问题2:请综合学过的Matlab语言编程画出一个频率为50Hz的正弦信号,并记录程序及结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验指导手册西安文理学院机械电子工程系目录实验一离散时间信号 (2)实验二时域采样定理 (7)实验三离散时间系统 (10)实验四线性卷积与圆周卷积 (13)实验五用FFT作谱分析 (16)实验六用双线性变换法设计IIR数字滤波器 (18)实验七 FIR滤波器设计 (20)实验一 离散时间信号【实验目的】用MATLAB 实现离散时间信号的表示和运算,掌握MATLAB 的基本命令和编程方法,为后续实验打基础。
【实验原理】在数字信号处理中,所有的信号都是离散时间信号,因此应首先解决在MATLAB 中如何表示离散信号。
设一模拟信号经A/D 变换后,得到序列信号}),1(),0(),1(,{)}({)( x x x n x n x -==由于MATLAB 对下标的约定为从1开始递增,因此要表示)(n x ,一般应采用两个矢量,如:]5,4,3,2,1,0,1,2,3[---=n ]1,2,5,4,0,2,3,1,1[-=y这表示了一个含9个采样点的矢量:)}5(,),1(),2(),3({)(x x x x n y ---=【实验内容】熟悉下面序列(信号)的产生方法及相关运算 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;图1-1 单位采样序列1图1-2 单位采样序列2图1-3 单位采样序列3plot(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 all figure(1);[x1 n1]=impseq(-4,-5,5);图1-4 单位阶跃序列1图1-5 单位阶跃序列2图1-6 单位阶跃序列3图1-7 信号翻转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)')图1-8 信号相加信号折叠%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-9 信号折叠图1-10 信号移位实验二 时域采样定理【实验目的】1、掌握奈奎斯特抽样定理的含义,以及在实际应用中需要注意的问题。
2、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
【实验原理】1、理想抽样信号连续信号)(t x a 经过时间间隔为T 的均匀采样后,得到的理想抽样信号)(t x a可表示为)()()(t t x t x T a a δ⋅=其傅里叶变换为∑∞-∞=-=k a a Tjkj XTj X )2(1)(πΩΩ 可见,一个连续时间信号经过理想抽样后,其频谱将以抽样频率s πΩ2=为间隔而重复,这就是频谱产生周期延拓。
如果信号的最高频谱h Ω超过2s Ω,则各周期延拓分量产生频谱的交叠,称为混叠现象。
要想抽样后能够不失真地还原出原信号,则抽样频率必须大于两倍信号谱的最高频率()2h s Ω>Ω,这就是奈奎斯特抽样定理。
2、抽样恢复如果满足奈奎斯特抽样定理,即信号谱的最高频率小于折叠频率,则抽样后不产生频谱混叠,有)2()(1)(sa a j X Tj X ΩΩΩΩ<=故将)(Ωj X a通过以下理想低通滤波器:就可得到原信号频谱)()()()(ΩΩΩΩj X j H j X j Y a a a =⋅=⎪⎪⎩⎪⎪⎨⎧≥<=)2(0)2()(ssTj H ΩΩΩΩΩ所以输出端即为原模拟信号)()(t x t y a a =【实验内容】用实验的方法验证抽样定理。
对下面连续信号:0()sin()()at a x t Ae t u t -=Ω进行采样,可得到采样序列)()sin()()(0n u nT Ae nT x n x nT a a Ωα-==其中A 为幅度因子,α为衰减因子,0Ω是模拟角频率,T 为采用间隔。
这些参数都要在实验过程中由键盘输入,产生不同的)(t x a 和)(n x a 。
产生采样信号序列)(n x a ,使A=144.128,πα250=,π250=0Ω ,图2—1给出了连续信号)(t x a 的幅频特性曲线,由此图可以确定对)(t x a 应采用的采样频率。
1、取采样频率KHz sf 1=,即T =1ms .观察所得采样()a x n 的幅频特性|)(|ωj e X 和图2-1中的|)(|jf X a ,在折叠频率附近有无明显差别。
应当注意,实验中所得频谱是用序列()a x n 的傅里叶变换公式求得的,所以在频率度量上存在关系:T Ωω=为数字频率,Ω为模拟频率。
2、改变采样频率,Hz sf 300= ,观察|)(|ωj e X 的变化,并作记录(打印曲线);进一步降低采样频率,Hzs f 200= ,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|)(|ωj e X 曲线。
3、变采样频率,KHz s f 2= ,观察|)(|ωl e X 的变化,并作记录(打印曲线);观察过采样时的曲线,并记录(打印)这时的|)| j eX曲线。
(【思考题】采样频率不同时,相应理想采样序列的傅里叶变换频谱的数字频率刻度是否都相同。
它们所对应的模拟频率是否相同?为什么?实验三 离散时间系统【实验目的】1、熟悉时域离散系统的时域特性。
2、利用卷积方法观察分析系统的时域特性。
3、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
【实验原理】离散信号和系统在时域均可用序列来表示。
序列图形给人以形象直观的印象,他可加深我们对信号和系统的时域特征的理解。
本实验将观察分析几种信号及系统的时域特性。
为了在数字计算机上观察分析各种序列的频域特性,通常对)(ωj e X 在]2,0[π上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n),有∑-=-=1)()(N n nj j k kem x eX ωω (3-1)其中 1,1,02-==M k k Mk πω通常M 应该取得大一些,以便观察谱的细节变化。
取模|)(k j e X ω|可绘出幅频特性曲线。
一个时域离散线性非移变系统的输入/输出关系为y(n)=x(n)*h(n)=∑-∞-∞=m m n h m x )()( (3-2)这里,y(n)为系统的输出序列,x(n)为输入序列。
h(n)、x(n)可以无限长,也可以是有限长。
为了计算机绘图观察方便,主要讨论有限长情况。
如果h(n)和x(n)的长度分别为N 和M ,则y(n)的长度为L=N+M-1。
这样,(3-2)式所描述的卷积运算就是序列移位、相乘和累加的过程。
上述卷积运算也可以在频域实现)()()(ωωωj j j e H e X e Y ⋅= (3-3)式(3-3式右边的相乘是在各频域点上的频谱值相乘。
【实验内容】一、认真复习离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理。
二、编制实验用相关子程序。
①信号产生子程序,用于产生实验中要用到的下列信号序列: a.单位采样序列:)()(n n x a δ= b.矩形序列: 10),()(==N n R n x N b②系统单位脉冲响应序列产生子程序。
本实验要用到两种FIR 系统。
a. 10()()a h n R n =b. ()() 2.5(1) 2.5(2)(3)b h n n n n n δδδδ=+-+-+-③有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB 语言中的卷积函数conv 。
conv 用于两个有限长序列的卷积,它假定两个序列都从n=0开始。
调用格式如下:y=(,)conv x h其中参数x 和y 是两个已赋值的行向量序列。
三、在完成编制上述子程序的基础上,完成时域离散信号、系统和系统响应分析。
1、观察信号)(n x a 和系统()b h n 的时域和频域特性;利用线性卷积求得信号()b x n 通过系统()b h n 的响应y(n),比较所求响应y(n)和()b h n 的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
2、观察系统)(n h a 对信号)(n x b 的响应特性。
利用线性卷积求系统响应y(n),并判断y(n)图形及其非零值序列长度是否与理论结果一致。