数字信号处理实验指导书(2015年用) (1)
- 格式:doc
- 大小:294.00 KB
- 文档页数:11
《数字信号处理》实验指导书实验一离散傅里叶变换一、实验目的(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)的频率响应。
2015-2016学年第1学期学院物理与电子信息学院教研室信息与通信工程教研室课程名称数字信号处理授课班级13电信本、13电信卓越主讲教师黄隆胜职称副教授2014年03月目录前言 (1)实验一熟悉MATLAB环境 (4)实验二用MATLAB进行离散系统的Z域分析 (6)实验三傅立叶变换 (8)实验四IIR及FIR滤波器的MATLAB实现 (11)前言MATLAB是由美国Math Works公司推出的软件产品。
MATLAB是“Matrix Laboratory”的缩写,意及“矩阵实验室”。
MATLAB是一完整的并可扩展的计算机环境,是一种进行科学和工程计算的交互式程序语言。
它的基本数据单元是不需要指定维数的矩阵,它可直接用于表达数学的算式和技术概念,而普通的高级语言只能对一个个具体的数据单元进行操作。
因此,解决同样的数值计算问题,使用MATLAB要比使用Basic、Fortran和C语言等提高效率许多倍。
许多人赞誉它为万能的数学“演算纸”。
MATLAB采用开放式的环境,你可以读到它的算法,并能改变当前的函数或增添你自己编写的函数。
在欧美的大学和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算以及绘制出各种图形。
它还是一种有利的教学工具,它在大学的线性代数课程以及其它领域的高一级课程的教学中,已成为标准的教学工具。
最初的MATLAB是用FORTRAN编写的,在DOS环境下运行。
新版的MATLAB 是C语言编写的高度集成系统。
它在几乎所有流行的计算机机种,诸如PC、MACINTOSH、SUN、VAX上都有相应的MATLAB版本。
新版的MATLAB增强了图形处理功能,并在WINDOWS环境下运行。
现今,MATLAB的发展已大大超出了“矩阵实验室”的范围,在许多国际一流专家学者的支持下,Maths Works公司还为MATLAB 配备了涉及到自动控制、信息处理、计算机仿真等种类繁多的工具箱(Tool Box),这些工具箱有数理统计、信号处理、系统辨识、最优化、稳健等等。
“数字信号处理”实验指导书(一)一、实验课程编码: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 常用信号产生实验目的:学习用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 转换为级联型结构。
数字信号处理实验指导书电子信息工程学院2015年4月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (14)实验五基于ICETEK-F2812-A 的FFT 算法分析 .................................. 错误!未定义书签。
实验六基于ICETEK-F2812-A 的数字滤波器设计 ................................. 错误!未定义书签。
实验七基于ICETEK-F2812-A的交通灯综合控制................................... 错误!未定义书签。
实验八基于BWDSP100的步进电机控制................................................. 错误!未定义书签。
实验一离散信号产生和基本运算一、实验目的1.掌握MATLAB最基本的矩阵运算语句。
2.掌握对常用离散信号的理解与运算实现。
二、实验原理1.向量的生成(1)利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。
第二种格式用于生成步长为p的均匀等分的向量。
(2)利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。
第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。
2.矩阵的算术运算(1)加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9(2)乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另A’表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。
《数字信号处理》实验指导书实验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); ·分析滤波器特性,检查其指标是否满足要求。
实验0:熟悉Matlab环境和语言1. 实验目的(1)熟悉MATLAB界面,了解常用操作窗口。
(2)熟悉MATLAB语言的基本操作技术。
(3)掌握m文件的编程及调试技术。
2. 实验原理与方法(1)软件界面简介不同版本的Matlab软件界面不完全相同,但一般都由标题栏、菜单栏、工具栏、交互窗口、状态栏等部分组成。
其中,交互窗口主要包括:命令窗、当前目录窗、工作空间窗(含数组编辑器)、历史指令窗、m文件编辑窗、图形显示窗等等。
(2)常用操作指定标点符号在MATLAB中的地位极其重要,为确保指令正确执行,标点符号一定要在英文状态下输入。
常用标点符号的功能如下:逗号, 用于要显示计算结果的指令结尾标志;用于输入量与输入量之间的分隔符;用于数组元素分隔符号。
黑点. 用作数值中的小数点;用于元素群运算。
分号; 用于不显示计算结果的指令结尾标志;用作数组的行间分隔符号。
冒号: 用于生成一维数值数组;用做单下标援引。
注释号% 后面的物理行作注释。
单引号‘ ’ 字符串记述符。
圆括号()函数指令时用;数组援引时用。
方括号[ ] 输入数组时用;函数指令输出宗量列表时用。
续行号… 由三个以上连续黑点构成,用于长指令。
常用操作指定主要有:clc 清除指令窗中显示内容clear 清除MATLAB工作空间中保存的变量。
close all 关闭所有打开的图形窗口type 显示指定m文件的内容。
disp 显示变量的内容。
(3)标识符、特殊变量、函数标识符是标志变量名、常量名、函数名和文件名的字符串的总称。
标识符可由字母、数字和下划线组成,但必须以英文字母开头。
标识符区分字母大小写。
特殊变量是MATLAB内部用来表达特殊含义的变量(包括常量),又称为MATLAB的预定义变量。
如:ans(指当前未定义变量名的答案);eps(表示浮点相对精度,eps=2-52≈2.2204e-016);inf(无穷大);nan(不是数);i或j(虚单元);pi(圆周率)。
在编写程序指定时,应尽可能不对这些预定义变量重新赋值。
MATLAB语言的优点和难点是函数多,仅基本部分就有700多个函数,共分22大类(即22个函数库)。
学习函数的基本方法是利用help命令或help窗口文件,在应用中逐步扩展掌握。
(4)矩阵运算和数组(元素群)运算矩阵在结构上和二维数组没有区别,但矩阵是一种具有线性变换意义的二维数组,矩阵运算有明确而且严格的数学规则。
把矩阵作为一个整体进行运算的常用运算符有五个“’、*、/、\、^ ”,常用运算函数有三个“expm、logm、 sqrtm”。
在做矩阵运算时,往往还需要进行行列提取、抽除、转置、重排等操作。
数组(元素群)运算是指对数组中所有元素按单个元素进行运算。
MATLAB 所有的运算符和函数都适用于做数组运算。
如果是对数组进行“转置、乘、除、幂”等运算,必须在运算符前加一个小黑点。
(5) 编辑调试m 文件对于比较简单的问题或一次性问题,可通过在指令窗中直接输入指令求解,但当指令较复杂,或一组指令只需改变少量参数就可解决不同问题时,直接在指令窗中逐条输入指令的方法就显得烦琐、累赘和笨拙。
m 文件可以很好地解决这个问题。
m 文件编辑器:m 文件可用编辑调试器(Edit/Debugger )进行编辑调试。
缺省情况下,m 文件编辑器不随MATLAB 的启动而开启,新建或打开m 文件时均可启动m 文件编辑器。
m 文件的编写:用clear,close all,clc 等语句清除工作空间的变量、关闭所有图形窗口和清空命令窗口;除单引号内部的字符及注释外,程序语句必须用半角英文字母和符号(建议在程序输入时从头到尾用英文,汉字在程序调试完毕后加入);编辑器可对程序的字体格式和段落缩进自动排版;程序路径和标识符不允许出现汉字字符;以%开头的物理行后面是注释(可用汉字)。
m 文件的运行:在m 文件编辑调试器(Edit/Debugger )中执行Debug:Run 命令即可运行调试,可在命令窗口及工作空间窗口了解运行情况。
想退出运行的m 文件可在命令窗中用“Ctrl+C ”中止m 文件的运行。
(6)matlab 绘图matlab 绘图函数比较多,常用的MATLAB 绘图函数有plot 、stem 、subplot 、 figure 等。
利用plot 函数可绘连续图象、利用stem 函数可绘离散图象。
利用subplot 函数可分割窗口。
利用figure 函数可创建新的图形窗口或指定当前窗口。
title 命令可给图加上标题;xlabel/ylabel 命令可给坐标轴加说明;text 或gtext 命令可在图上任何位置加标注;grid 命令可在图上画坐标网格线;hold on 命令可保持当前图形绘图。
这些函数命令的调用格式,可参阅help 查找。
表1 基本线型和颜色3.实验内容及步骤(1) 用plot 函数在0到2π范围内绘制两条正弦信号波形)4/sin(2),sin(1π-==x y x y ,波形需用不同线形区分,需加必要说明。
clc; clear; close all;format compact x=linspace(0,2*pi,100); y1=sin(x);y2=sin(x-pi/4); plot(x,y1,'r');hold on plot(x,y2,'b:');axis([0,2*pi,-1.1,1.1]); xlabel('x'),ylabel('y'), title('正弦波形图'),grid on(2) 用stem 函数绘15点指数序列波形n n x 8.02)(⨯=,需加必要说明。
clc; clear; close all;format compactn=0:14, xn=2*0.8.^n, stem(n,xn,'.');xlabel('n'),ylabel('x(n)'), title('指数序列波形'),(3) 已知序列}2,0,1,1,3,2{)(-=n x ,}1,1,2{)(-=n h ,计算卷积)(*)()(n h n x n y =,并用三个子窗口绘制x(n),h(n)和y(n)的波形,需加必要说明。
clc; clear; close all; format compactxn=[2,3,1,-1,0,2],Nx=length(xn), hn=[2,-1,1],Nh=length(hn), yn=conv(xn,hn),Ny=length(yn), n=0:(Ny-1), subplot(3,1,1);stem(n,[xn,zeros(1,Ny-Nx)],'b.'), xlabel('n'),ylabel('x(n)'), grid,title('输入信号x(n)'), subplot(3,1,2);stem(n,[hn,zeros(1,Ny-Nh)],'b.'), xlabel('n'),ylabel('h(n)'),grid,title('脉冲响应h(n)'), subplot(3,1,3); stem(n,yn,'r.'),xlabel('n'),ylabel('y(n)'), grid,title('输出信号y(n)'),(4) 已知系统的差分方程为)2()()2(9801.0)1(8237.1)(00--+---=n x b n x b n y n y n y ,令 49.100/10=b ,判断系统是否稳定,绘出系统的幅频特性曲线和相频特性曲线。
clc; clear; close all; format compactA=[1,-1.8237,0.9801],B=[1/100.49,0,-1/100.49], %系统差分方程系数向量A 和B[r,p,k]=tf2zp(B,A), %求系统的零、极点及增益 figure(1);zplane(B,A), %绘零极点图 figure(2);freqz(B,A); %观察系统的谐振频率实验一:系统响应及系统稳定性1. 实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及判断系统的稳定性。
2. 实验原理与方法描述系统特性有多种方式,时域描述有差分方程和单位脉冲响应,频域描述有系统函数和频率响应。
已知输入信号可以由差分方程、单位脉冲响应、系统函数或频率响应求系统输出信号。
(1)求系统响应 本实验仅在时域求系统响应。
在计算机上,已知差分方程可调用filter 函数求系统响应;已知单位脉冲响应可调用conv 函数计算系统响应。
(2)系统的时域特性 系统的时域特性是指系统的线性、时不变性质、因果性和稳定性。
本实验重点分析系统的稳定性,包括观察系统的暂态响应和稳态响应。
(3)系统的稳定性判断 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和条件。
实际中,检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。
可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的。
(4)系统的稳态响应 系统的稳态输出是指当∞→n 时,系统的输出。
如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。
注意在以下实验中均假设系统的初始状态为零。
3.实验内容及步骤(1)已知差分方程求系统响应 设输入信号 )()(81n R n x =,)()(2n u n x =。
已知低通滤波器的差分方程为 )1(9.0)1(05.0)(05.0)(-+-+=n y n x n x n y 。
试求系统的单位冲响应,及系统对)()(81n R n x =和)()(2n u n x =的输出信号,画出输出波形。
(2)已知单位脉冲响应求系统响应 设输入信号 )()(8n R n x =,已知系统的单位脉冲响应分别为)()(101n R n h =,)3()2(5.2)1(5.2)()(2-+-+-+=n n n n n h δδδδ,试用线性卷积法分别求出各系统的输出响应,并画出波形。
(3)系统的稳定性判断 给定一谐振系统的差分方程为)2()()2(9801.0)1(8237.1)(00--+---=n x b n x b n y n y n y 令 49.100/10=b ,谐振器的谐振频率为0.4rad 。