DSP的MATLAB基础 (2).ppt
Matlab基础介绍,Matlab 简介Matlab 的安装与启动Matlab 编程基础Matlab 在数字信号处理课程中的应用,一 Matlab 简介,Matlab名字是由Matrix和Laboratory两个词的前三个字母组合而成的,是由MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件。Matlab编程运算与人进行科学计算的思路和表达方式完全一致。不象学习其它高级语言如Basic、Fortran和C等那样难于掌握。其基本元素是矩阵。具有强大的数值计算和图示能力。具有丰富的工具箱(ToolBox)。在高校中,Matlab以成为数学,信息,控制等诸多学科有关课程的有效教学工具。,Matlab 的安装,Matlab的启动,三 Matlab 编程基础,1 变量2 数组,向量与矩阵的创建和访问3 部分特殊变量和常数4 部分常用运算符5 Matlab的程序设计6 m文件的创建,保存7 基本数学函数和基本绘图函数8 编程举例,3.1 变量,变量无需定义即可使用。变量名的大小写是敏感的。变量的第一个字符必须为英文字母,而且不超过31个字符。变量名可以包含下连字符、数字,但不能为空格符、标点。,3.2 数组,向量与矩阵的创建和访问,在Matlab中,这三个概念在创建和显示的时候没有任何区别。向量的创建 要创建一个向量,在命令窗口下输入:t=0:1:10屏幕显示:t=0 1 2 3 4 5 6 7 8 9 10注意:向量的第一个元素的下标是1,而不是0。T=0:1:10产生了010步长为1的共11个数,保存在t(1),t(2),t(11)中。,矩阵的创建 例如:创建一个33的矩阵,输入:a=1 2 3;4 5 6;7 8 9 屏幕输出a=1 2 3 4 5 6 7 8 9,访问矩阵的某一个元素:a(3,2)ans=8访问矩阵某行(列)的所有元素:a(3,:)a(:,2)注意:这两个符号分别是1*3行向量和3*1列向量,3.3部分特殊变量和常数,ans 最近生成的无名结果eps 浮点数的相对误差pi 3.14145926 i 虚数单位 j 虚数单位Inf 无穷大,如n/0,3.4部分常用运算符,3.4.1 算术运算符 加 减*乘(包括标量乘,矩阵乘,标量与矩阵乘)/除(包括标量除,矩阵除标量,数组除标量)矩阵求幂(矩阵必须为方阵).*数组相乘./数组相除.数组求幂注意:.*./表示两个同维数组中的对应元素做乘,除.表示对数组的每个元素求幂,3.4.2 关系运算符,大于=大于等于=等于=不等于运算法则:若关系式成立,结果为1;若关系式不成立,结果为0。,3.4.3 逻辑运算符,&与|或 非运算法则:若逻辑真,结果为1;若逻辑假,结果为0。,3.4.4 其他常见符号,=变量赋值%注释符 共轭转置符:冒号运算符 n:s:m 产生nm,步长为s的序列,s可以为 正或负或者小数,默认值为1。,3.5 Matlab 程序设计,Matlab的工作方式有二种 1.交互式的指令操作方式。即用户在命令窗口中输入命令并按下回车键后,系统执行该指令并立即给出运算结果。2.m文件的编程方式。m文件是由 matlab语句构成的文件,且文件名必须以.m为扩展名,如example.m。用户可以用任何文件编辑器来对M文件进行编辑。,程序流程控制,顺序结构:Matlab 从上到下依次执行各语句,该结构最简单。循环结构(1)for-end 循环 用于循环次数事先确定的,格式为for i=n:s:m 语句体end s 为步长,可以为正数,负数或小数。,(2)while-end 循环 用于循环次数不能事先确定的,格式为 while 表达式 语句 体 end 只有表达式为真,就执行语句体,表达式为假,终止该循环。,分支结构(1)if 语句 格式为if 表达式1 语句体1elseif 表达式2 语句体2.else 语句体elseend,3.6 m文件的创建,保存,创建【File】菜单下【New】菜单选项的【M-File】命 令 打开matlab的m文件编辑器窗口。,保存 单击M文件编辑器窗口工具栏中的【Save】图标,打开保存对话框,3.7基本数学函数和基本绘图函数,sin cos tan cot exp log:自然对数log10:以10为底的对数Log2:以二为底的对数abs:取模conj:取共轭real:取实部 imag:取虚部,基本绘图指令,Matlab提供了强大的图形绘制功能。在大多数情况下,用户只需要指定绘图的方式,提供绘图数据,利用Matlab提供的丰富的二维,三维图形函数,就可以绘制出所需的图形。1绘制二维连续函数 Matlab中最常用的绘图函数是plot,plot的命令格式有以下几种:,(1)plot(y)当y为一向量时,以y的序号作为x轴,按向量y的值绘制曲线。(2)plot(x,y)x,y均为向量时,以x向量作为X轴,向量y作为Y轴绘制曲线。注意:x和y种元素的个数必须相同!,2.绘制二维离散序列,在Matlab用stem命令实现离散序列的绘制。stem命令的格式有以下几种:(1)stem(y)以x=1,2,3为各点数据的x坐标,以y向量的各个对应元素为y坐标,在(X,Y)坐标面画一个空心小圆圈。(2)stem(x,y,filled)以x向量的各个元素为x坐标,以y向量的各个对应元素为y坐标,在(X,Y)坐标面画一个实心小圆圈,并连接一条线段到X轴。,3.8编程举例,例一:画出衰减震荡曲线 及其包络线 t的取值范围是 程序如下:,程序运行结果如下:,例二.用图形表示连续调制波形及其包络。程序如下:,四 Matlab 在数字信号处理课程中的应用举例,常见连续信号 离散信号 离散卷积 LTI系统,4.1 常见连续信号,周期信号:正弦信号,周期方波ex1.产生一个幅度为2,频率为4Hz,相位为 的正弦信号,非周期信号:指数信号,阶跃信号,取样函数Sa(x)等ex2.产生一个高度为1,宽度为3,延时为2秒的矩形脉冲 信号,ex3 取样函数:用sinc(x)命令,随机信号:rand产生均匀分布的白嘈声,randn产生高斯分布的白嘈声,4.2离散信号,周期序列 ex4 产生一个幅度为2,频率为4Hz,相位为 的正弦信号,单位脉冲序列 和单位阶跃序列u(n)可以用ones(1,n)和zeros(1,n)来生成单位脉冲序列和单位阶跃序列 ones(1,n)命令产生1行n列的1值 zeros(1,n)命令产生1行n列的0值,ex5 产生单位脉冲序列 和单位阶跃序列u(n-3),4.3 离散卷积,matlab 中卷积运算的指令是c=conv(a,b),其中a和b是有限长的序列。ex6:计算下面两个序列的卷积 a=-2 0 1 1 3;b=1 2 0-1;两个序列的都从0开始的,4.4 LTI系统,因果LTI系统的的零状态响应,在matlab中可以用函数 y=filter(num,den,x)实现 其中:num-系统传递函数分子系数组成的行向量 den-系统传递函数分母系数组成的行向量 x-输入的离散序列 y-输出的离散序列,y的长度与x的长度一样,因果LTI系统的幅频响应和相频响应曲线,在matlab中可以用函数 freqz(num,den,n,Fs)该函数可以同时作出幅频和相频响应图 其中:num-系统传递函数分子系数组成的行向量 den-系统传递函数分母系数组成的行向量 n-是频率响应的点数,最好为2的幂缺省值512 Fs-采样频率,ex7 已知一个系统的传递函数为 求系统单位冲激响应hn,以及hn的幅频相频响应图,MATLAB 函数要求,各部分重要函数要求,基本函数要求,MATLAB 基本函数操作,如循环操作,绘图操作等,考点包括这些基本函数的功能,参数操作,如何使用等。,DSP基本函数,DSP 常见函数基本操作:各种序列产生函数。DSP 常见函数基本操作:DTFT 计算,DFT 计算,IDFT 计算,基于 DFT 的线性卷积计算。DSP 常见函数基本操作:系统传递函数(用有理分式表达的 Z 变换)的零极点计算、收敛域计算,用部分分式展开法求反 Z 变换等。,DSP基本函数,DSP 常见函数基本操作:模拟滤波器设计函数,包括 Butterworth 滤波器,第一型 Chebyshev 滤波器,第二型 Chebyshev 滤波器,椭圆滤波器等,能够利用这些函数进行模拟低通滤波器设计。,DSP基本函数,DSP 常见函数基本操作:使 MATLAB 进行数字滤波器基本结构的实现,包括对 FIR 和 IIR 系统进行因式分解得到二阶系统的积联及对它们进行并联实现。,DSP基本函数,DSP 常见函数基本操作:数字滤波器设计函数:包括 IIR 和 FIR 的阶数估计,滤波器设计等,能够利用这些函数进行数字低通滤波器设计。DSP 常见函数基本操作:能够对直接型 IIR 滤波器和直接型 FIR 滤波器设计进行仿真验证,FFT 计算函数。,