《数字信号处理》实验指导书
数字信号处理实验指导书(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) 熟悉Matlab的主要操作命令;掌握Matlab的基本使用方法,能够运用Matlab软件分别产生常见的连续信号和离散信号,并对其进行一定的运算。
(2) 理解离散傅立叶变换是信号分析与处理的一种重要变换,特别是FFT在数字信号处理中的高效率应用。
掌握DFT的理论,通过DFT对典型信号进行的频谱分析,加深对DFT的理解。
(3) 通过对同一信号,作不同点数的FFT,比较其对应的频谱,比较两者的异同点,加深理解信号频谱概念和谱分析的原理与方法,了解快速傅立叶变换(FFT)可以提高运算量的特点,并运用Matlab软件分别对离散周期信号和非周期信号进行谱分析,同时绘出幅度频谱和相位频谱。
二、预习要求1、掌握连续信号和离散信号的特点及其运算方法;2、熟悉Matlab的基本编程语言及其变量、数组、向量与矩阵和部分运算符的使用;3、掌握部分Matlab基本数学函数和作图函数的使用。
三、和实验相关的一些功能函数正弦信号:A*sin(w0*t+phi),A*cos(w0*t+phi),A*sin(omega*n+phi);方波信号:square(w0*t),square(w0*t,DUTY),A*square(omega*n);注意DUTY的取值情况。
指数信号:A*exp(a*t);矩形脉冲信号:rectpulse(t),rectpulse(t,w);单位脉冲信号和单位阶跃信号:ones(1,n)和zeros(1,n);基本信号运算函数:abs(幅值)、 angle(相角)。
四、实验原理1、有限长序列x(n)的DFT的概念和公式:N?1?kn?x(k)??x(n)WN?n?0?N?1?kn?x(n)?1x(k)WN??Nk?0?0?k?N?10?n?N?1《数字信号处理》实验指导书WN?e?j(2?/N)2、FFT算法调用格式是X= fft(x)或 X=fft(x,N)对前者,若x的长度是2的整数次幂,则按该长度实现x的快速变换,否则,实现的是慢速的非2的整数次幂的变换;对后者,N应为2的整数次幂,若x的长度小于N,则补零,若超过N,则舍弃N以后的数据。
数字信号处理实验指导书
数字信号处理实验指导书实验一离散时间与系统的傅立叶分析一、实验目的用傅立叶变换对信号和系统进行频域分析。
二、实验原理对信号进行频域分析就是对信号进行傅立叶变换。
对系统进行频域分析即对它的单位脉冲响应进行傅立叶变换,得到系统的传输函数。
也可以由差分方程经过;傅立叶变换直接求它的传输函数。
传输函数代表的就是系统的频率响应特性。
但传输函数是ω的连续函数,计算机只能计算出有限个离散频率点的传输函数值,因此得到传输函数以后,应该在0~2л之间取许多点,计算这些点的传输函数的值,并取它们的包络,该包络才是需要的频率特性。
当然,点数取得多一些,该包络才能接近真正的频率特性。
注意:非周期信号的频率特性是ω的连续函数,而周期信号的频率特性是离散谱,它们的计算公式不一样,响应的波形也不一样。
三、实验内容‘1.已知系统用下面差分方程描述:y(n)=x(n)十ay(n一1)试在a=0.95和a=一0.5两种情况下用傅立叶变换分析系统的频率特性。
要求写出系统的传输函数和幅度响应,并打印|H(e jw)|~ω曲线。
2.已知两系统分别用下面差分方程描述:y1(n)=x(n)+x(n一1)y2(n)=x(n)一x(n一1)试分别写出它们的传输函数和幅度响应,并分别打印|H(e jw)|~ω曲线。
3.已知信号x(n)=R3(n),试分析它的频域特性,要求打印|H(e jw)|~ω曲线。
4.假设x(n)=a(n),将x(n)以2为周期进行周期延拓,得到x(n),试分析它的频率特性,并画出它的幅频特性。
四、实验用MATLAB函数介绍1.abs功能:求绝对值(复数的模)。
y=abs(x):计算实数x的绝对值。
当x为复数时得到x的模(幅度值)。
当x为向量时,计算其每个元素的模,返回模向量y。
2.angle功能:求相角。
Ph=angle(x):计算复向量x的相角(rad)。
Ph值介于-л和+л之间.3.freqz:计算数字滤波器H(z)的频率响应。
《数字信号处理》实验指导书(完整)
《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第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 系统的差分方程为)1(2)()2(2)1(4)(3-+=-+--n x n x n y n y n y试用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 表示。
数字信号处理实验指导书
《数字信号处理》实验指导书适用专业:电气、信息、测控课程代码: 8401980总学时: 48 总学分: 3编写单位:电气学院信息工程系编写人:阳小明审核人:审批人:批准时间:年月日目录实验一 Matlab与数字信号处理基础 (2)实验二离散傅里叶变换与快速傅里叶变换 (4)实验三数字滤波器结构 (6)注释 (9)主要参考文献 (9)实验一 Matlab与数字信号处理基础一、实验目的和任务1、熟悉Matlab的操作环境2、学习用Matlab建立基本序列的方法;3、学习用仿真界面进行信号抽样的方法。
二、实验内容1、基本序列的产生:单位抽样序列、单位阶跃序列、矩形序列、实指数序列和复指数序列的产生2、用仿真界面进行信号抽样练习:用simulink建模仿真信号的抽样三、实验仪器、设备及材料计算机、Matlab软件四、实验原理序列的运算、抽样定理五、主要技术重点、难点Matlab的各种命令与函数、建模仿真抽样定理六、实验步骤1、基本序列的产生:单位抽样序列δ(n): n=-2:2;x=[0 0 1 0 0];stem(n,x);单位阶跃序列u(n):n=-10:10;x=[zeros(1,10) ones(1,11)];stem(n,x);矩形序列R N(n):n=-2:10;x=[0 0 ones(1,5) zeros(1,6)];stem(n,x);实指数序列0.5n:n=0:30;x=0.5.^nstem(n,x);复指数序列e(-0.2+j0. 3)n:n=0:30;x=exp((-0.2+j*0.3)*n);模:stem(n,abs(x));幅角:stem(n,angle(x));2、用仿真界面进行信号抽样练习:(1)在Matlab命令窗口中输入simulink 并回车,以打开仿真模块库;(2)按CTRL+N,以新建一仿真窗口;在仿真模块库中用鼠标点击Sources(输入源模块库),从中选择sine wave(正弦波模块)并将其拖至仿真窗口;(3)在仿真模块库中用鼠标点击Discrete(离散模块库),从中选择Zero-Order Hold(零阶保持器模块)并将其拖至仿真窗口;(4)在仿真模块库中用鼠标点击Sinks(显示模块库),从中选择Scope(示波器模块)并将其拖至仿真窗口;(5)在仿真窗口中把上述模块依次连接起来;(6)用鼠标双击Scope模块,以打开示波器的显示界面;(7)用鼠标点击仿真窗口工具条中的►图标开始仿真,结果显示在示波器中;(8)用鼠标双击Zero-Order Hold模块,打开其参数设置窗口,改变sample time参数值,例如1、0.5、0.1、0.05…,用鼠标点击仿真窗口工具条中的►图标开始仿真,比较示波器显示结果(选三个参数值,得三个结果);(9)在仿真模块库中用鼠标点击Sinks(显示模块库),从中选择To Workspace(输出到当前工作空间的变量模块)并将其拖至仿真窗口;(10)用鼠标双击To Workspace模块,打开其参数设置窗口,改变variable name参数值为x ;同时把save format参数值设置为Array ;(11)在仿真窗口中先用鼠标点击Zero-Order Hold模块与Scope模块的连线,然后按住CTRL 键,从选中连线的中部引出一条线到To Workspace模块;(12)用鼠标双击Zero-Order Hold模块,打开其参数设置窗口,改变sample time参数值,例如1、0.5、0.1、0.05…,用鼠标点击仿真窗口工具条中的►图标开始仿真,并返回命令窗口,用stem(x)作图,比较序列图显示结果(选三个参数值,得三个结果);七、实验报告要求1、实验步骤按实验内容指导进行;2、对于实验内容1和2的数据必须给出的离散图,其相关参数应在图中注明;3、具有关联性和比较性的图形最好用subplot()函数,把它们画在一起;4、实验报告按规定格式填写,要求如下:(1)实验步骤根据自己实际操作填写;(2)各小组实验数据不能完全相同,否则以缺席论处;5、实验结束,实验数据交指导教师检查,得到允许后可以离开,否则以缺席论处;八、实验注意事项1、Matlab编程、文件名、存盘目录均不能使用中文。
《数字信号处理》实验指导书(正文)
实验一 离散时间信号分析一、实验目的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 。
数字信号处理实验指导书
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 转换为级联型结构。
《数字信号处理》实验指导书(全)
数字信号处理实验指导书电子信息工程学院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)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。
《数字信号处理》实验指导书
实验一 采样率对信号频谱的影响一、实验目的1.理解采样定理; 2.掌握采样频率确定方法; 3.理解频谱的概念; 4.理解三种频率之间的关系。
二、实验原理理想采样过程是连续信号x a (t )与冲激函数串M (t )的乘积的过程∑∞-∞=-=k skT t t M )()(δ (1))()()(ˆt M t x t xa a = (2) 式中T s 为采样间隔。
因此,理想采样过程可以看作是脉冲调制过程,调制信号是连续信号x a (t ),载波信号是冲激函数串M (t )。
显然)()()()()(ˆs k s ak s aa kT t kT xkT t t xt x-=-=∑∑∞-∞=∞-∞=δδ (3)所以,)(ˆt xa 实际上是x a (t )在离散时间kT s 上的取值的集合,即)(ˆs a kT x 。
对信号采样我们最关心的问题是,信号经过采样后是否会丢失信息,或者说能否不失真地恢复原来的模拟信号。
下面从频域出发,根据理想采样信号的频谱)(ˆΩj X a和原来模拟信号的频谱)(Ωj X 之间的关系,来讨论采样不失真的条件∑∞-∞=Ω-Ω=Ωk ssakj j X T j X )(1)(ˆ (4)上式表明,一个连续信号经过理想采样后,其频谱将以采样频率Ωs =2π/T s 为间隔周期延拓,其频谱的幅度与原模拟信号频谱的幅度相差一个常数因子1/T s 。
只要各延拓分量与原频谱分量之间不发生频率上的交叠,则可以完全恢复原来的模拟信号。
根据式(4)可知,要保证各延拓分量与原频谱分量之间不发生频率上的交叠,则必须满足Ωs ≥2Ω。
这就是奈奎斯特采样定理:要想连续信号采样后能够不失真地还原原信号,采样频率必须大于或等于被采样信号最高频率的两倍h s Ω≥Ω2,或者h s f f 2≥,或者2hs T T ≤(5) 即对于最高频率的信号一个周期内至少要采样两点,式中Ωh 、f s 、T h 分别为被采样模拟信号的最高角频率、频率和最小周期。
数字信号处理实验指导书
实验一 信号、系统及系统响应1、实验目的:(1)熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2)熟悉时域离散系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
(4)掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2、实验仪器:PC 机一台 MATLAB 软件 3、实验原理:采样是连续信号数字处理的第一个关键环节。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示。
)()()(ˆt p t x t xa a = 其中)(ˆt xa 为)(t x a 的理想采样,)(t p 为周期冲激脉冲, 即 ∑∞-∞=-=n nT t t p )()(δ;由频域卷积定理,得)]([1)(ˆs a am j X Tj X Ω-Ω=Ω ※ 上式表明,)(ˆΩj X a为)(Ωj X a 的周期延拓,其延拓周期为采样角频率(T s /2π=Ω)。
采样前后的频谱示意图见课本。
只有满足采样定理时,才不会发生频率混叠失真。
在计算机上用高级语言计算)(ˆΩj X a 很不方便,下面给出用序列的傅里叶变换来计算)(ˆΩj X a的方法。
课本中(2.4.7)式∑∞-∞=-=r ajwr TT w j X T e X )]2([1)(π,表示序列的傅里叶变换)(jwe X 和模拟信号)(t x a 的傅里叶变换)(Ωj X a 之间的关系式。
与※式比较,可得T w jw a e X j X Ω==Ω|)()(ˆ,这说明两者之间只在频率度量上差一个常数因子T 。
实验过程中应注意这一差别。
为了在数字计算机上观察分析各种序列的频域特性,通常对)(jwe X 在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n), 有∑-=-=1)()(N n n jw jw k ke n x eX其中 1,,1,02-==M k k Mw k ,π通常M 应取得大一些,以便观察谱的细节变化。
《数字信号处理》实验指导书
《数字信号处理》实验指导书实验序号:1 实验名称:利用FFT 进行谱分析和实现快速卷积 适用专业:通信工程、电子信息工程 学 时 数:4学时一、实验目的1.加深DFT 算法原理和基本性质的理解。
2.熟悉FFT 算法原理和FFT 子程序的应用。
3.学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析 误差及其原因,以便正确应用FFT 。
4.加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。
5.掌握循环卷积和线性卷积两者之间的关系。
二、实验原理1.在工程技术的许多分支中,要掌握的基本内容之一就是正确理解时域和频域的关系。
对于数字系统来说,就是要精通离散傅立叶变换,因此离散傅立叶变换在数字信号处理中占有十分重要的地位。
在实际应用中,有限长序列有相当重要的地位,有限长序列的离散傅氏变换(DFT)的定义:[][]10)(1)()(10)()()(1010-≤≤==-≤≤==∑∑-=--=N n W k X N k X IDFT n x N k W n x n x DFT k X N k nk N N n nk N快速傅里叶变换(FFT )并不是一种新的变换,而是离散傅里叶变换(DFT )的一种快速算法。
用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N (即x(n)长度为N )有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。
可以根据此式选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
数字信号处理实验指导书(带源程序)
实验一离散时间系统与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
变换类型 低通
Байду номын сангаас
数字信号处理实验指导书
《数字信号处理》实验指导书编写:刘梦亭审核:司玉娟阎维和适用专业:电子信息工程电子信息科学与技术通信工程等电子信息与工程系2009年9月目录实验一:离散时间信号分析 (1)实验二:离散时间系统分析 (3)实验三:离散系统的Z域分析 (6)实验四:FFT频谱分析及应用 (9)实验五:IIR数字滤波器的设计 (12)实验六:FIR数字滤波器的设计 (16)附录: MATLAB基本操作及常用命令 (20)实验一:离散时间信号分析实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的1) 掌握离散卷积计算方法; 2) 学会差分方程的迭代解法;3) 了解全响应、零输入响应、零状态响应和初始状态的物理意义和具体求法; 二、实验内容 1、信号的加数学描述 )()()(21n x n x n x += MATLAB 实现 21X X X +=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]2、信号的乘数学描述 )()()(21n x n x n x *= MATLAB 实现 2.1X X X *=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]3、计算卷积用MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
首先用手工计算,然后用MATLAB 编程验证。
三、实验组织运行要求1、学生在进行实验前必须进行充分的预习,熟悉实验内容;2、学生根据实验要求,读懂并理解相应的程序;3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;4、教师在学生实验过程中予以必要的辅导,独立完成实验;5、采用集中授课形式。
四、实验条件1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台; 2.、MATLAB 编程软件。
数字信号处理实验指导书
实验一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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》上机实验指导书一、引言“数字信号处理”是一门理论和实验密切结合的课程,为了深入地掌握课程内容,应当在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助学生深入地理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
所以,根据本课程的重点要求编写了四个实验。
第一章、二章是全书的基础内容,抽样定理、时域离散系统的时域和频域分析以及系统对输入信号的响应是重要的基本内容。
由于第一、二章大部分内容已经在前期《信号与系统》课程中学习完,所以可通过实验一帮助学生温习以上重要内容,加深学生对“数字信号处理是通过对输入信号的一种运算达到处理目的”这一重要概念的理解。
这样便可以使学生从《信号与系统》课程顺利的过渡到本课程的学习上来。
第三章、四章DFT、FFT是数字信号处理的重要数学工具,它有广泛的使用内容。
限于实验课时,仅采用实验二“用FFT对信号进行谱分析”这一实验。
通过该实验加深理解DFT的基本概念、基本性质。
FFT是它的快速算法,必须学会使用。
所以,学习完第三、四章后,可安排进行实验二。
数字滤波器的基本理论和设计方法是数字信号处理技术的重要内容。
学习这一部分时,应重点掌握IIR和FIR两种不同的数字滤波器的基本设计方法。
IIR滤波器的单位冲激响应是无限长的,设计方法是先设计模拟滤波器,然后再通过S~Z平面转换,求出相应的数字滤波器的系统函数。
这里的平面转换有两种方法,即冲激响应不变法和双线性变换法,后者没有频率混叠的缺点,且转换简单,是一种普遍应用的方法。
学习完第六章以后可以进行实验三。
FIR滤波器的单位冲激响应是有限长的,设计滤波器的目的即是求出符合要求的单位冲激响应。
窗函数法是一种基本的,也是一种重要的设计方法。
学习完第七章后可以进行实验四。
以上所提到的四个实验,可根据实验课时的多少恰当安排。
例如:实验一可根据学生在学习《信号与系统》课程后,掌握的程度来确定是否做此实验。
若时间紧,可以在实验三、四之中任做一个实验。
建议实验二必做,因为DFT和FFT是学习数字信号处理必须掌握的内容。
二、关于使用计算机语言由于数字信号处理实验的主要目的是验证数字信号处理的有关理论,进一步理解巩固所学理论知识。
所以,实现实验用的算法语言可以有许多种,但为了提高实验效率,要求学生用编程效率比C语言高好几倍的MATLAB语言。
下面介绍MATLAB的主要特点。
(有关MATLAB的启动、程序运行和有关信号处理工具箱函数等内容将放到最后附录中介绍。
)MATLAB是一种交互式的以矩阵为基本数据结构的系统。
在生成矩阵对象时,不要求明确的维数说明。
所谓交互式,是指MATLAB的草稿纸编程环境。
即用户每输入一条命令并按回车键,MATLAB系统便解释执行之,并显示执行结果。
根据该结果,用户立即知道刚输入的命令的正确性,或利用中间结果进行其他处理等。
与C语言或FORTRON语言做科学数值计算的程序设计相比较,利用MATLAB 可节省大量的编程时间。
将其用于数字信号处理实验,则可大大提高实验效率,在有限的上机时间内,实验内容可增加几倍。
例如,C语言FFT子程序有70多行,而用MATLAB只调用一个fft函数即可实现对序列进行FFT计算。
另外,MATLAB的工具箱及图形显示(打印)功能,可满足各层次人员直观、方便的进行分析、计算和设计工作,从而可大大节省时间。
例如,序列的卷积、滤波,系统函数H(z)的幅频特性和相频特性等计算,均有现成的工具箱函数。
而用其它算法语言完成这些计算的编程比较麻烦,且程序较长。
由于上述特点,在美国一些大学里,MATLAB 已成为辅助教学的有益工具。
MATLAB 已成功地用于数字信号处理课程中的问题分析、实验、滤波器设计及计算机模拟。
附录中所介绍的信号处理工具箱函数及绘图函数基本可满足本教材所要求的上机实验需要。
对序列进行谱分析的MATLAB 程序及运行结果见附录。
三、上机实验实验一:信号、系统及系统响应1. 实验目的① 熟悉连续信号经过理想抽样前后的频谱变化关系,加深对时域抽样定理的理解。
② 熟悉时域离散系统的时域特性。
③ 利用卷积方法观察分析系统的时域特性。
④ 掌握序列傅里叶变换的计算机实验方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2. 实验原理与方法抽样是连续信号数字处理的第一个关键环节。
对抽样过程的研究不仅可以了解抽样前后信号时域和频域特性发生的变化以及信号信息不丢失的条件,而且可以加深对傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。
我们知道,对一个连续信号x a (t)进行理想抽样的过程可用(1.1)式表示。
)(ˆt xa = )(t x a δT (t) —— (1.1) 其中)(ˆt xa 为x a (t)的理想抽样,δT (t)为周期冲激脉冲,即 ∑∞-∞=-=n T nT t t )()(δδ —— (1.2) )(ˆt x a 的傅里叶变换)(ˆΩj X a 为 )(ˆΩj X a = ∑∞-∞=Ω-Ωk s a k j X T )]([1 —— (1.3) (1.3)式表明)(ˆΩj X a为)(Ωj X a 的周期延拓,其延拓周期为抽样角频率(Ωs =2π/T)。
抽样前后信号的频谱示意图见“参考教材1图1-29”。
只有满足抽样定理时,才不会发生频率混叠失真。
在计算机上用高级语言编程直接按(1.3)式计算理想抽样)(ˆt x a 的频谱)(ˆΩj X a很不方便。
下面导出用序列的傅里叶变换来计算)(ˆΩj X a的公式。
将(1.2)式代入(1.1)式并进行傅里叶变换,1 数字信号处理教程(程佩青))(ˆΩj X a= ⎰∞∞-Ω-dt e t xt j a )(ˆ = dt e nT t nT x t j n a Ω-∞∞-∞-∞=⎰∑⎥⎦⎤⎢⎣⎡-)()(δ =∑⎰∞-∞=∞∞-Ω-⎥⎦⎤⎢⎣⎡-n nT j a dt nT t e nT x )()(δ = ∑∞-∞=Ω-n nT j a e nT x )( —— (1.4)式中的x a (nT)就是采样后得到的序列x(n),即x(n) = x a (nT)x(n)的序列傅里叶变换为X(e j ω) =∑∞-∞=-n n j e n x ω)( —— (1.5)比较(1.5)和(1.4)可知 )(ˆΩj X a= X(e j ω) |ω = ΩT —— (1.6) 这说明两者之间只在频率度量上差一个常数因子T 。
实验过程中应注意这一差别。
离散信号和系统在时域均可用序列来表示。
序列图形给人以形象直观的印象,它可加深我们对信号和系统的时域特征的理解。
本实验还将观察分析几种信号及系统的时域特性。
为了在数字计算机上观察分析各种序列的频域特性,通常对X(e j ω)在[0,2π]上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n),有∑-=-=10)()(N n n j j k k e n x e X ωω —— (1.7)其中 k Mk πω2= , k = 0,1, …, M-1 通常M 应取得大一些,以便观察谱的细节变化。
取模|)(k j e X ω|可绘出幅频待性曲线。
一个时域离散线性非移变系统的输入/输出关系为y(n) = x(n) * h(n) =∑∞-∞=-m m n h m x )()( —— (1.8) 这里,y(n)为系统的输出序列,x(n)为输入序列。
h(n)、x(n)可以是无限长,也可以是有限长。
为了计算机绘图观察方便,主要讨论有限长情况。
如果h(n)和x(n)的长度分别为N 和M ,则y(n)的长度为L = N + M - 1。
这样,(1.8)式所描述的卷积运算就是序列移位、相乘和累加的过程,所以编程十分简单。
上述卷积运算也可以在频域实现(即卷积定理:时域卷积,频域相乘。
)Y(e j ω) = X(e j ω)H(e j ω) —— (1.9)(1.9)式右边的相乘是在各频点{ωk }上的频谱值相乘。
3. 实验内容(1) 连续信号分析① 连续时间非周期信号的选择参考:信号与系统(第二版)上册;郑君里—附录三(P378)1 单边指数脉冲;2 双边指数脉冲;3 钟形脉冲;4 抽样脉冲;图1.1 连续信号分析程序框图③ 时域观察,频域分析调整信号x a (t)参数,观察时域波形变化。
分析频域波形,选取近似带限频率值f max ,确定对x a (t)→x(n)=x a (nT)的抽样周期T(T=1/f s ),不失真的条件应该满足抽样频率f s ≥2f max (即:时域抽样定理)。
例如图 1.2给出了单边减幅余弦信号x a (t) =exp(-10*t).*cos(2*pi*25*t)的时域和幅频特性曲线,由此图可以近似选取x a (t)的抽样频率f s ≥2f max =2×150=300Hz 。
00.050.10.150.20.250.30.350.40.450.5-1-0.50.51t in sec.x a (t )Analog Signal-200-150-100-5005010015020000.020.040.06Frequency in Hz |X a (j 2πf )|Continuous-time Fourier Transform图1.2 x a (t)的时域和幅频特性曲线(2) 离散信号分析① 离散时间非周期信号x(n)的生成对前一个实验中的连续信号x a (t)抽样,用于产生实验中要用到的信号序列x(n) = x a (nT)。
根据上一个实验分析结果选取近似带限频率值f max ,按照抽样频率f s =2f max 、f s >2f max 和f s <2f max 三种情况编制MATLAB 源程序(T=1/f s )。
图1.3 离散信号分析程序框图③ 时域观察,频域分析调整抽样频率f s =2f max 、f s >2f max 和f s <2f max ,观察时域波形变化,分析频域波形。
根据时域、频域的变化验证时域抽样定理X(e j 2πfT ) = ∑∞-∞=-k s a kf f j X T )](2[1π。
改变程序中频率轴变量为:f(Hz)模拟频率、Ω(rad/s)模拟角频率和ω(rad)数字频率,观察频率特性的周期变化,并用所学理论对以上各种情况加以解释。
例如图 1.4给出了单边减幅余弦抽样信号x(n)的时域和幅频特性曲线,由此图可以观察分析选取抽样频率f s =2f max =2×150=300Hz 时的时域和幅频特性。
00.050.10.150.20.250.30.350.40.450.5t in sec.x (n )Sample Signal-500-400-300-200-100010020030040050005101520Frequency in Hz |X (e j 2πf T )|Sample Signal Fourier Transform图1.4 x a (t)的时域和幅频特性曲线(3) 系统响应分析①生成实验用的输入序列x(n)和系统单位冲激响应序列h(n)输入序列:x(n) = R10(n)单位冲激响应序列:h(n) = δ(n) + 2.5δ(n-1) + 2.5δ(n-2) + δ(n-3)②时域离散信号、系统和系统响应分析观察系统h(n)对输入信号x(n) = R10(n)的响应特性y(n)。