数字信号处理实验:离散时间信号频域分析报告

2) 用MATLAB的内部函数创建一个矩阵;

3) 在M文件中用MATLAB语句创建一个矩阵; 4) 从一个外部数据文件中装载并创建一个矩阵。

在MATLAB中有两个基本概念:变量和表达式。变量由变量名表示,函数名作为特殊的变量名看待,每个变量名由一个字母后面跟随任意个字母或数字(包括下划线)组成,但MATLAB只能分辨前19个字符。MATLAB能区分组成变量名的大小写字母。

MATLAB的语句则是两种形式之一:变量名=表达式或者表达式。 在前一种语句形式下,MATLAB将运算的结果赋给“变量名”;而在第二种语句形式下,将运算的结果赋给MATLAB的永久变量ans,每条语句以回车符结束。一般的,运算的结果在命令窗口中显示出来。如果语句的最后一个字符是分号“;”,那末,MATLAB仅执行赋值运算,不再显示运算的结果。

与C语言一样,MATLAB将字符串当作数组或矩阵处理。

6、MATLAB的基本运算符 矩阵运算符 A' A+B,A-B A*B A.*B < > <= >= == ~= 矩阵A的转置。 矩阵A与B的和与差。 矩阵A与B的乘法。 矩阵A与B的对应元素相乘 小于 小于或等于 大于 大于或等于 等于 不等于 关系运算符 7、特殊运算符

在MATLAB的M文件中,可以加入解释行。解释行的标识符为“%”,该标识符将被作为注解内容。程序执行时,注解被忽略。

方括号“[ ]”用于生成矩阵。特别的,语句A= [ ]生成空矩阵A。 行分隔符“;”用于MATLAB语句后时,表示该语句的执行结果不被回显出来,这可避免显示一些不感性趣的结果。

冒号“:“最主要的作用是生成向量,从下面的例子中可以看出它的使用方法: j:k 生成向量[j,j+1,j+2,…,k]

j:i:k 生成向量[j,j+i,j+2*i,…,k],如果j>k,则生成空矩阵 A(:,j) 矩阵A的第j列 A(I,:) 矩阵A的第I行

A(j:k) 向量A(j),A(j+1),…,A(k)

A(:,j:k) 从第 j列到第k列的矩阵子块 换行连接符“…”,有时一条MATLAB语句会很长,在命令窗口的一行内很可能写不下,此时只要在该语句中加入三连点,再回车即可在下一行接着写该语句。

8、MATLAB的常用数学函数

sin 正弦函数 9 / 14

Cos Tan Asin Atan Sinh Cosh Tanh Asinh Acosh Atanh Acos 余弦函数 正切函数 反正弦函数 反正切函数 双曲正弦函数 双曲余弦函数 双曲正切函数 反双曲正弦函数 反双曲余弦函数 反双曲正切函数 反余弦函数 实数的绝对值、复数的模、字符串的ASIIC值 复数的幅角 方根函数 复数的实部 复数的虚部 复共轭运算 最邻近整数截断(四舍五入) 不大于自变量的最大整数 不小于自变量的最小整数 自然指数函数(以e为底) 自然对数函数(以e为底) 以10为底的对数函数 三角函数 Abs Angle Sqrt Real Imag Conj Round Ceil Rem Exp Log log10

初等函数 9、程序流控制

与其他的程序设计语言一样,MATLAB语言也提供了条件语句。下面分别予以介绍。 1) for循环语句

MATLAB也有自己的for循环语句。如果要反复执行的一组语句的循环次数是已知或预定义的,就可以用for循环语句。例如:

for I=1:n x(I)=0; end

这条语句将向量x的前n个元素赋予零值,这里的变量n必须预先给定。 注意:每一个for必须与end配对使用。 2) while循环语句

MATLAB提供有while循环语句,它的作用是在一定的逻辑条件的控制下,不断的循环执行一条或一组语句,直到逻辑条件不满足为止。While 语句的一般形式是

While 表达式 语句组 end

3) if条件语句和bread语句

break 语句用于退出循环体,if条件语句有两种形式,分别是

10 / 14

if 表达式 语句组1 else

语句组2 end 和

if 表达式1 语句组1 elseif 表达式2 语句组2 else

语句组3 end

10、MATLAB的在线帮助

用户可以随时利用MATLAB的在线帮助查询自己不懂得用法的函数的具体用法,例如:在命令窗口键入help abs 后的显示如下:

ABS Absolute value ABS(X) is the absolute value of the elements of X. When X is complex, ABS(X) is the complex modulus (magnitude) of the elements of X.

See also SIGN,ANGLE,UNWRAP. Overloaded methods Help sym/abs.m

将abs函数的主要用法和用途都列了出来。

11 实验上机的具体过程如下:

1) 在windows 2000/XP的桌面上找到MATLAB的图标单击进入MATLAB的命

令窗口,或在开始菜单里选择程序再找到MATLAB单击也可进入MATLAB的命令窗口。

2) 进入命令窗口后,在菜单File中选择open,打开已存在的文件。如果是新文

件,在菜单File中选择New,再找到M-file即可打开MATLAB的编辑窗口,在编辑窗口内输入你的源程序后存盘。

3) 为了使程序能够在MATLAB中运行,需要在搜索路径中加入你的路径,加

11 / 14

入路径的过程如下,在MATLAB的命令窗口中选择File 菜单的Set path选项,则打开一个Path Browser窗口,如下图所示:

在该窗口中单击Browse,选择你的路径加入,然后在File中选择Save Path后退出即可。这样,你可以在MATLAB的命令窗口中键入你的源程序文件名,或在编辑窗口中选择Tools中的Run即可编译运行。若编译无错,则可得出结果;若编译有错,则可根据命令窗口的提示进行修改后再编译运行,直至得出正确的结果。

附录B 信号处理工具箱函数

MATLAB包含了进行信号处理的许多工具箱函数,有关这些工具箱函数的使用可通过Help命令得到。为使用方便,在这里将给出几个常用到的函数的使用说明。 函数形式 X=sawtooth(t,width) 产生锯齿波width用于确定最大值的位置,即从0到或三角波。 2?*width函数从-1上升到+1。 X=square(t,duty) Y=abs(x) 产生方波 求绝对值 Duty用于指定正半周期的比例 当x为复数时,得到的是复数模(幅值),若x为字符串,得到的是各个字符的ASCII码。 C=conv(a,b) 求卷积 求取矢量a和b的卷积,c的长度为a和b的长度和减去1。 [h,w]=freqs(b,a,n) 模拟滤波器b,a为滤波器的冲击响应s变换的分子和分的频率响应 母多项式的系数,在n个频率点计算频率响12 / 14

函数功能 关于函数参数的说明

联系客服:779662525#qq.com(#替换为@)