数字信号处理 矩阵乘方的运算符为^它分为以下几种情况 (1)当a为方阵,p为大于1的整数则ap为a的p次方,即a自乘p次 (2)当a为方阵,p为非整数时则ˆp涉及到a的特征向量v和特征值矩阵d即有ap=v*d^p/v. (3)当a为标题而为矩阵时,ap为计算标量的矩阵幂 (4)当a和p均为矩阵时,不能计算a^p 数组运算实际上是对应元素的标题运算其基本运算在表示上是在相应的标题运算符相加 个点”"(加减法不用加),表示对应数组的元素作相应的标题运算,见下面的几个例子, x=[123l y=456] 579 4101 ans- 0.25000.400 0.5000 ans- 4.000 2.50002.0000 132729 对于 MATLAB语言,需要注意是它是大小写敏感的语言即变量Abc和abc是两个不同的变 量,函数各也不例外,如inv函数如果写成INV函数,则成了未定义的函数 123命令行编辑器 在命令行中输入命令时,可以利用功能键方便地修改当前或以前的命令行,以提高命 令输入的效率] 命令行的功能键如表1-1所示 按键 功能 按键 功能 ↑,Ctrl-P 重新调出上一行 Home. Ctrl-A 光标移到行首 Ctrl-N 重新调出下一行 End. Ctrl-E 光标移到行尾 Ctrl-B 光标左移一个字符Esc 清除命令行 Ctrl-F 光标右移一个字符|Dl,Ctr1-D 删除光标处的字符 Ctrl-← 光标左移一个字 pace 删除光标左处的字符 Ctr 光标左移 Ctrl-K 删除至行尾 12.4 MATLAB帮助系统 11
数字信号处理 11 矩阵乘方的运算符为^,它分为以下几种情况: (1)当 a 为方阵,p 为大于 1 的整数,则 a^p 为 a 的 p 次方,即 a 自乘 p 次. (2)当 a 为方阵,p 为非整数时,则 a^p 涉及到 a 的特征向量 v 和特征值矩阵 d,即有 ap=v*d.^p/v. (3)当 a 为标题而为矩阵时,a^p 为计算标量的矩阵幂 (4)当 a 和 p 均为矩阵时 ,不能计算 a^p. 数组运算实际上是对应元素的标题运算,其基本运算在表示上是在相应的标题运算符相加 一个点"."(加减法不用加),表示对应数组的元素作相应的标题运算,见下面的几个例子, x=[1 2 3]; y=[4 5 6]; x+y ans= 5 7 9 x-y ans= -3 -3 -3 x.*y ans= -4 10 18 x./y ans= 0.2500 0.4000 0.5000 x.\y ans= 4.000 2.5000 2.0000 x.^y ans= 1 32 729 对于 MATLAB 语言,需要注意是,它是大小写敏感的语言,即变量 Abc 和 abc 是两个不同的变 量,函数各也不例外,如 inv 函数,如果写成 INV 函数,则成了未定义的函数. 1.2.3 命令行编辑器 在命令行中输入命令时,可以利用功能键方便地修改当前或以前的命令行,以提高命 令输入的效率.] 命令行的功能键如表 1-1 所示. 按 键 功 能 按 键 功 能 ↑,Ctrl-P 重新调出上一行 Home, Ctrl-A 光标移到行首 ↓, Ctrl-N 重新调出下一行 End, Ctrl-E 光标移到行尾 ←, Ctrl-B 光标左移一个字符 Esc 清除命令行 →, Ctrl-F 光标右移一个字符 Del, Ctrl-D 删除光标处的字符 Ctrl-← 光标左移一个字 Backspace 删除光标左处的字符 Ctrl-→ 光标左移一个字 Ctrl-K 删除至行尾 1.2.4 MATLAB 帮助系统
数字信号处理 要学会使用 MATLAB首先要学会的两个命令是:hep和demo这两个函数构成了基 本的 MATLAB的帮助,help命令的使用如下(以查看demo的使用方法为例) help demo DEMO Run demonstrations Type" demo"at the command linetobrowse available demos With the optional action argument demo (matlab toolbox 'simulink 'blockset 'stateflow) DEMo opens the demo screen[0 the specified subtopic With the optional category Arg argument, DEMO opens 10 the specified toolbox or category, e.g demo toolbox signal demo matlab language 只要有一定的英文阅读能力掌握了help,也就相当于掌握了整个 MATLAB至于demo,则是 用于演示 MATLAB在各个应用领域中的基本应用,可以作为 MATLAB初学者的范例例如, 如果要学习信号处理工具箱的使用,可以键入下面的两条指令 help signal demo toolbox signal MATLAB中的另一类基于图形界面的帮助系统可以能过访问命令窗口的 HELP菜单中的菜单项常用的有" Help Window";" Help Desk(HIML)"," Examplesand Demos 其作用与前面介绍的两条命令类似但界面更友好 12.5 MATLAB的搜索路径 MATLAB利用自身的搜索路径来寻找M文件函数,如果你要执行的文件不在搜索路径 中,就无法执行利用path命令可显示当前的 MATLAB搜索路径,如下 MATLABPATH E: MATLABRIlltoolboxlmatlablgeneral E: MATLABRIItoolboxlmatlablops E: \MATLABRIl\toolbox\matlab\lang E: MATLABRIl\toolbox\matlablelmat E: \MATLABRIltoolboxmatlab\elfun E: MATLABRIIltoolboxlmatlablspecfun E: \MATLABRIl\toolbox\matlab\matfun E: \MATLABRIl\toolbox\matlab\datafun E: MATLABRIItoolboxlmatlablpolyfun E: \MATLABRIl\toolbox\matlab\funfun E: MATLABRIItoolboxlmatlablsparfun E: MATLABRIItoolboxlmatlablgraph2d E: MATLABRIItoolboxlmatlablgraph3d E: MATLABRIItoolboxlmatlablspecgraph E: MATLABRIItoolboxlmatlablgraph9cs E: \MATLABRIl\toolbox\matlabluitools E: MATLABRIl\toolbox\matlab\stffun E: \MATLABRIl\toolbox\matlabliofun
数字信号处理 12 要学会使用 MATLAB,首先要学会的两个命令是: help 和 demo.这两个函数构成了基 本的 MATLAB 的帮助, help 命令的使用如下(以查看 demo 的使用方法为例): help demo DEMO Run demonstrations Type"demo"at the command linetObrowse available demos. With the optional action argument demo ('matlab'|'toolbox'|'simulink'|'blockset'|'statefiow'), DEMO opens the demo screen[0 the specified subtopic] With the optional categoryArg argument, DEMO opens IO the specified toolbox or category,e.g. demo toolbox signal demo matlab language 只要有一定的英文阅读能力,掌握了 help,也就相当于掌握了整个 MATLAB.至于 demo,则是 用于演示 MATLAB 在各个应用领域中的基本应用,可以作为 MATLAB 初学者的范例,例如, 如果要学习信号处理工具箱的使用,可以键入下面的两条指令: help signal demo toolbox signal MATLAB 中的另一类基于图形界面的帮助系统,可以能过访问命令窗口的 HELP 菜单中的菜单项.常用的有"HelpWindow","Help Desk(HTML)","Examplesand Demos". 其作用与前面介绍的两条命令类似,但界面更友好. 1.2.5 MATLAB 的搜索路径 MATLAB 利用自身的搜索路径来寻找 M 文件函数,如果你要执行的文件不在搜索路径 中,就无法执行.利用 path 命令可显示当前的 MATLAB 搜索路径,如下 : path MATLABPATH E:\MATLABR11\toolbox\matlab\general E:\MATLABR11\toolbox\matlab\ops E:\MATLABR11\toolbox\matlab\lang E:\MATLABR11\toolbox\matlab\elmat E:\MATLABR11\toolbox\matlab\elfun E:\MATLABR11\toolbox\matlab\specfun E:\MATLABR11\toolbox\matlab\matfun E:\MATLABR11\toolbox\matlab\datafun E:\MATLABR11\toolbox\matlab\polyfun E:\MATLABR11\toolbox\matlab\funfun E:\MATLABR11\toolbox\matlab\sparfun E:\MATLABR11\toolbox\matlab\graph2d E:\MATLABR11\toolbox\matlab\graph3d E:\MATLABR11\toolbox\matlab\specgraph E:\MATLABR11\toolbox\matlab\graph9cs E:\MATLABR11\toolbox\matlab\uitools E:\MATLABR11\toolbox\matlab\stffun E:\MATLABR11\toolbox\matlab\iofun
数字信号处理 E: \MATLABRIl\toolbox\matlabltimefun E: MATLABRIItoolboxlmatlab\datatypes E: \MATLABRll\toolbox\matlablwinfun E: \MATLABRIlltoolboxlmatlab\demos E: MATLABRIltoolboxlsignalsiggui E: MATLABRIItoolboxlsignal\sigdemos E \MATLATRIl\work E: MATLABRIltoolbox\ ocsl 要将指定的路径加入,可以使用 path, addpath命令:要删除某个路径,可以使用 empath命令: 要修改路径,可以使用 pathol 1命令,为了方便,可以只使用 pathol,因为该命令执行后,会弹出 个图形界面十分易于使用,其他命令的具体使用可以用help命令查看 12.5 MATLAB图形系统 MATLABR提供了强大图形系统功能本书并不打算详细地介绍该功能,其实,本书中最 常用的函数是plot函数 其具体的使用方法可以用help命令获得,这里以实例说明基本的使用,实例的运行结果如 图1-1所示 Ei1 e Edit View工 nsert To1s置 indow He1p 口口舀A戶 0.8 0.6 06 0.8 =0:0.02:20 Sin(x)
数字信号处理 13 E:\MATLABR11\toolbox\matlab\timefun E:\MATLABR11\toolbox\matlab\datatypes E:\MATLABR11\toolbox\matlab\winfun E:\MATLABR11\toolbox\matlab\demos ...... E:\MATLABR11\toolbox\signal\siggui E:\MATLABR11\toolbox\signal\sigdemos E:\MATLATR11\work E:\MATLABR11\toolbox\locsl 要将指定的路径加入,可以使用path,addpath命令:要删除某个路径,可以使用rmpath命令: 要修改路径,可以使用 pathtool 命令,为了方便,可以只使用 pathtool,因为该命令执行后,会弹出 一个图形界面,十分易于使用,其他命令的具体使用可以用 help 命令查看. 1.2.5 MATLAB 图形系统 MATLABR 提供了强大图形系统功能,本书并不打算详细地介绍该功能,其实,本书中最 常用的函数是 plot 函数. 其具体的使用方法可以用help命令获得,这里以实例说明基本的使用,实例的运行结果如 图 1-1 所示 x=0:0.02:20 y=cos(x); z=sin(x);
数字信号处理 plot(x,y, x, Z, ) 13离散时间信号 信号是传递信息的载体按照信号的特点不同,可将信号表示成一个或几个独立变量的函 数 通常信号可以分为以下几类 连续信号:在连续时间范围内定义的信号,信号的幅值可以是连续数值,也可以是离散数 值 离散信号时间为离散变量的信号,即独立变量时间被量化它只在离散时间上给出函数 值,是时间上不连续的序列"离散时间的间隔是均匀的,以了表示,Z(n1)表示此离散时间信号 在nT点上的值,一般直接用x(n)表示离散时间信号 13.1信号表示 MATLAB中的主要数据类型是二维或多维的实矩阵或复矩阵数字信号处理过程中所用 到的基本数据对象(例如:一维信号或序列多通道信号,二维信号等等)都可以用矩阵来表示 MATLAB一般把普通的一维抽样数据信号即抽样序列表示成向量形式向量表示为1*n 或n*1的矩阵,其中n为序列中抽样点的个数 最简单的把序列引入MA∏LAB的方法是在命令行中输入一个元素表例如 x=437-9 这样就构造了一个表示成行向量的五元素简单实数序列当然也可转换成列向量式 结果为 列向量形式常用于表示单通道信号,因为它可以很自然地扩展到多通道的情况对多通道的 信号矩阵,矩阵的第一列代表一个通道第一行代表一个抽样点 一个包含x,2x和xpi的三通道信号可表示如下 X/pi 结果为 4.0008.0001.2732 3.0006.0000.9549 7.00014.0002.2282 9.000-18.0000-2.8648 1.0002.00000.3183 13.2波形发生器
数字信号处理 14 plot(x,y,x,z,':'); 1.3 离散时间信号 信号是传递信息的载体,按照信号的特点不同,可将信号表示成一个或几个独立变量的函 数。 通常信号可以分为以下几类: 连续信号:在连续时间范围内定义的信号,信号的幅值可以是连续数值,也可以是离散数 值 离散信号:时间为离散变量的信号,即独立变量时间被量化,它只在离散时间上给出函数 值,是时间上不连续的"序列".离散时间的间隔是均匀的,以了表示,Z(nT)表示此离散时间信号 在 nT 点上的值,一般直接用.x(n)表示离散时间信号. 1.3.1 信号表示 MATLAB 中的主要数据类型是二维或多维的实矩阵或复矩阵.数字信号处理过程中所用 到的基本数据对象(例如:一维信号或序列,多通道信号,二维信号等等)都可以用矩阵来表示. MATLAB 一般把普通的一维抽样数据信号即抽样序列表示成向量形式,向量表示为 1*n 或 n*1 的矩阵,其中 n 为序列中抽样点的个数 最简单的把序列引入 MATLAB 的方法是在命令行中输入一个元素表,例如: x=[4 3 7 -9 1] 这样就构造了一个表示成行向量的五元素简单实数序列,当然也可转换成列向量式: x=x' 结果为 x= 4 3 7 -9 1 列向量形式常用于表示单通道信号,因为它可以很自然地扩展到多通道的情况,对多通道的 信号矩阵,矩阵的第一列代表一个通道,第一行代表一个抽样点. 一个包含 x,2x 和 x/pi 的三通道信号可表示如下: y=[x 2x x/pi] 结果为 y= 4.000 8.000 1.2732 3.000 6.000 0.9549 7.000 14.000 2.2282 -9.000 -18.0000 -2.8648 1.000 2.0000 0.3183 1.3.2 波形发生器
数字信号处理 许多不同的工具箱函数都可以产生波形其中大部分函数都需要一个时间向量作为参数如 果选择1000Hz的抽样频率产生波形,则适宜的时间向量如下 t=(0:0.001:1 这样构造了一个有1001个元素的行向量该向量表示时间从0到1秒以千分之一秒为步长 1.基本信号序列 (1)单位抽样序列 (m)= Ln 0.n≠0 这一序列可用 MATLAB中的 zeros函数实现: x[l zeros(l, n-D) (2)单位阶跃矩阵 n≥0 0,n<0 这一序列可以利用 MATLAB的ones函数实现: (3)实指数序列 x(n)=a,Vn,a∈R MATLAB实现 0:N-1; (4)复指数序列 x(n=e MATLAB实现 n=0N-1: (lu+j*wO)°n) (5)随机序列 MATLAB提供了两种随机信号 Rand(1,N)产生[0,1上均匀分布的随机矢量 Rand(1,N)产生均值为0,方差为1的高斯随机序列即白噪声序列 2.基本周期波形 (1)方波 MATLAB工具函数 square可以产生图1-2所示的方波
数字信号处理 15 许多不同的工具箱函数都可以产生波形,其中大部分函数都需要一个时间向量作为参数,如 果选择 1000Hz 的抽样频率产生波形,则适宜的时间向量如下: t= (0:0.001:1); 这样构造了一个有1001个元素的行向量,该向量表示时间从0到1秒,以千分之一秒为步长. 1. 基本信号序列 (1)单位抽样序列 ( ) 1, 0 0, 0 n n n = = 这一序列可用 MATLAB 中的 zeros 函数实现: x=[1 zeros(1,n-1)]; (2)单位阶跃矩阵 ( ) 1, 0 0, 0 u n n n = 这一序列可以利用 MATLAB 的 ones 函数实现: x=ones(1,N); (3)实指数序列 x n a ( ) , , n = n a R MATLAB 实现: n=0:N-1; x=a.^n; (4)复指数序列 ( ) ( ) x n e , jw n n = + MATLAB 实现 n=0:N-1; x=exp((lu+j*w0)*n); (5)随机序列 MATLAB 提供了两种随机信号: Rand(1,N)产生[0,1]上均匀分布的随机矢量. Rand(1,N)产生均值为 0,方差为 1 的高斯随机序列,即白噪声序列. 2.基本周期波形 (1)方波 MATLAB 工具函数 square 可以产生图 1-2 所示的方波