《数字信号处理》实验指导书学生版.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数字信号处理》实验指导书学生版

赣南师范学院物理与电子信息学院 实验指导书 2015-2016学年 第 1学期 学院 物理与电子信息学院 教研室 信息与通信工程教研室 课程名称 数字信号处理 授课班级 13电信本、13电信卓越 主讲教师 黄隆胜 职称 副教授 2014年03月 目 录 前 言 1 实验一 熟悉MATLAB环境 4 实验二 用MATLAB进行离散系统的Z域分析 6 实验三 傅立叶变换 10 实验四 IIR及FIR滤波器的MATLAB实现 13 前 言 ATLAB是由美国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),这些工具箱有数理统计、信号处理、系统辨识、最优化、稳健等等。近年来一些新兴的学科方向,Maths Works公司也很快地开发了相应的工具箱,例如:神经网络、模糊逻辑等。 本课程实验要求学生运用MATLAB编程完成一些数字信号处理的基本功能,加深对教学内容的理解。 实验一 熟悉MATLAB环境 [实验目的] 1.熟悉MATLAB主界面,并学会简单的菜单操作。 2.学会简单的矩阵输入与信号输入。 3.掌握部分绘图函数。 [实验内容]??? 1.数组的加减乘除和乘方运算输入A=[1 2 3],B=[4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B,并用stem画出A,B,C,D,E,F,G。再输入一些数组,进行类似运算。Stem函数格式可通过help stem命令查询 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)单位阶跃序列可以通过借助MATLAB中的单位矩阵函数ones表示。单位矩阵ones(1,N)产生一个由N个1组成的列向量,对于有限区间的可以通过以下MATLAB程序表示 % 单位阶跃序列实现程序 k=-30:30; uk=[zeros(1,30),ones(1,31)]; stem(k,uk) 已知两离散序列分别为,试用MATLAB绘出它们的波形及的波形。 对于离散序列来说,序列相加是将信号对应时间序号的值逐项相加,在这里不能象连续时间信号那样用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加需表示成两个向量的相加,因而参加运算的两序列向量必须具有相同的维数。 实现离散序列相加的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

文档评论(0)

yy556911 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档