资源描述:
《数字信号处理实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字信号处理实验指导书临沂师范学院信息学院实验指导书-学年第学期学院信息学院教研室信息工程系课程名称数字信号处理授课班级主讲教师孟庆民职称副教授2009年11月数字信号处理实验指导书目录前言1实验一熟悉MATLAB环境4实验二用MATLAB进行离散系统的Z域分析6实验三傅立叶变换10实验四IIR及FIR滤波器的MATLAB实现13数字信号处理实验指导书前言ATLAB是由美国MathWorks公司推出的软件产品。MATLAB是“MatrixLaboratory”的缩写,意及“矩阵实验室”。MATLAB是一完整的并可扩展的计算机环境,是一种进行科学和工程计算
2、的交互式程序语言。它的基本数据单元是不需要指定维数的矩阵,它可直接用于表达数学的算式和技术概念,而普通的高级语言只能对一个个具体的数据单元进行操作。因此,解决同样的数值计算问题,使用MATLAB要比使用Basic、Fortran和C语言等提高效率许多倍。许多人赞誉它为万能的数学“演算纸”。MATLAB采用开放式的环境,你可以读到它的算法,并能改变当前的函数或增添你自己编写的函数。在欧美的大学和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算以及绘制出各种图形。它还是一种有利的教学工具,它在大学
3、的线性代数课程以及其它领域的高一级课程的教学中,已成为标准的教学工具。最初的MATLAB是用FORTRAN编写的,在DOS环境下运行。新版的MATLAB是C语言编写的高度集成系统。它在几乎所有流行的计算机机种,诸如PC、MACINTOSH、SUN、VAX上都有相应的MATLAB版本。新版的MATLAB增强了图形处理功能,并在WINDOWS环境下运行。现今,MATLAB的发展已大大超出了“矩阵实验室”的范围,在许多国际一流专家学者的支持下,MathsWorks公司还为MATLAB配备了涉及到自动控制、信息处理、计算机仿真等种类繁多的工具箱(Tool Box
4、),这些工具箱有数理统计、信号处理、系统辨识、最优化、稳健等等。近年来一些新兴的学科方向,MathsWorks公司也很快地开发了相应的工具箱,例如:神经网络、模糊逻辑等。本课程实验要求学生运用MATLAB编程完成一些数字信号处理的基本功能,加深对教学内容的理解。数字信号处理实验指导书实验一熟悉MATLAB环境[实验目的]1.熟悉MATLAB主界面,并学会简单的菜单操作。2.学会简单的矩阵输入与信号输入。3.掌握部分绘图函数。[实验内容] 1.数组的加减乘除和乘方运算输入A=[123],B=[456],求C=A+B,D=A-B,E=A.*B,F=A./
5、B,G=A.^B,并用stem画出A,B,C,D,E,F,G。再输入一些数组,进行类似运算。Stem函数格式可通过helpstem命令查询2.给出实现单位脉冲序列、单位阶跃序列的MATLAB函数,并用stem函数画出图形。注:(1)单位脉冲序列可以通过借助MATLAB中的零矩阵函数zeros表示。全零矩阵zeros(1,N)产生一个由N个零组成的列向量,对于有限区间的可以通过以下MATLAB程序表示%单位抽样序列实现程序k=-30:30;delta=[zeros(1,30),1,zeros(1,30)];stem(k,delta)(2)单位阶跃序列可以通
6、过借助MATLAB中的单位矩阵函数ones表示。单位矩阵ones(1,N)产生一个由N个1组成的列向量,对于有限区间的可以通过以下MATLAB程序表示%单位阶跃序列实现程序k=-30:30;uk=[zeros(1,30),ones(1,31)];stem(k,uk)3.已知两离散序列分别为和,试用MATLAB绘出它们的波形及的波形。注:对于离散序列来说,序列相加是将信号对应时间序号的值逐项相加,在这里不能象连续时间信号那样用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加需表示成两个向量的相加,因而参加运算的两序列向量必须具有相同
7、的维数。实现离散序列相加的MATLAB实用子程序如下function[f,k]=lsxj(f1,f2,k1,k2)%实现f(k)=f1(k)+f2(k),f1,f2,k1,k2是参加运算的二离散序列及其对应的时间序列向量,f和k为返回的和序列及其对应的时间序列向量k=min(min(k1),min(k2)):max(max(k1),max(k2));%构造和序列长度s1=zeros(1,length(k));s2=s1;%初始化新向量s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;%将f1中在和序列范围内但又无定义的点
8、赋值为零s2(find((k>=min(k2))&(k<=max(k2))==1