ylabel('Imag(y)') 注:可采用以下命令对图形进行标注 grid on:为图形添加网格线
ylabel('Imag(y)') xlabel('t (s)') :为图形的x轴添加注释,引号内字符串为注释内容 ylabel('y(t)') :为图形的y轴添加注释,引号内字符串为注释内容 title('y(t)=sint') :为图形添加标题,引号内字符串为标题内容
采用MATLAB软件的Simulink工具来描述并产生信号
在MATLAB的命令视窗下输入simulink指令,则会打开Simulink Library Browser窗口,如图 5所示。在左边栏Libraries中Simulink下有多个子库,其中Source 是信号源子库,Sinks是显示器子库。
图 5 Simulink库浏览器
选择主菜单File下New中Model,弹出untitled窗口,子库中的任何模块都可以拖动到untitled视窗中,用鼠标把模块用连线按输入输出关系连接起来,就构成了仿真系统。在untitled视窗的菜单选simulation中的start,开始进行仿真,
仿真执行完毕后,示波器上会显示出信号波形。
如产生正弦波f(t)=3sin(t)+2,则可以得到如图 6所示波形:
图 6 Simulink产生的正弦波
1.3.2 Matlab中信号的运算 1 信号的基本运算
(1)利用funtool进行信号运算
在函数运算控制窗口中,有4个输入框供用户对要操作的函数进行输入。这4个输入框分别是f、g、x、a,其中:f为图形窗口1输入的控制函数,其默认值为x; g为图形窗口2输入的控制函数,其默认值为1;x为函数自变量的取值范围,其默认值为[-2*pi,2*pi];a为输入常数,用来进行各种运算,其默认值为1/2。函数图形计算器有4行7列共28个按钮,每一行代表一类运算:函数自身的运算;函数与常数之间的运算;两函数间的运算与对于系统的操作。
1)函数自身的运算
在函数运算控制窗口的第一行命令按钮用于函数自身的运算操作。每一按钮的命令功能如下:
df/dx: int f:
计算函数f对x的导函数。 计算函数f的积分函数。
simple f: 对函l数f进行最简式化简。 num f: den f: 1/f: finv f:
取函数表达式f(x)的分子,并赋予给f。
取函数表达式f(x)的分母,并赋予给f。 求函数表达式f()的倒数函数。 求函数表达式f(x)的反函数。
在计算int f或finv f时,若因为函数的不可积或非单调而引起无特定解,则函数栏中将返回NaN,表明计算失败。
2)函数与常数之间的运算
在控制窗口的第二行命令按钮用于函数与常数之间的运算操作,每一按钮的命令功能如下
f+a: f-a: f*a: f/a: f^a: f(x+a): f(a*x):
计算f(x)+a 计算f(x)-a 计算f(x)*a 计算f(x)/a 计算f(x)^a 计算f(x+a)
计算f(ax)
3)两函数间的运算
在控制窗口的第三行命令按钮用于对函数f与g常数之间的各种运算操作。每一按钮的命令功能如下:
f+g: 计算两函数f与g之和,并将其和赋值给f。 f-g: 计算两函数f与g之差,并将其差赋值给f。 f*g: 计算两函数f与g之积,并将其积赋值给f。 f/g: 计算两函数f与g之比,并将其商赋值给f。 f(g): 计算复合函数f(g) 4)系统操作按钮
在窗口的第四行命令按钮用来对符号函数图形计算器进行各种操作。每一按钮的命令功能如下:
insert: 把当前图窗1中的函数插入到计算器内含的典型函数表中。 cycle: 在图形窗口1中依次演示计算器内含的典型函数表中的函数图形。 delete: 函数。
reset: 重置符号函数计算器的功能。 help: 符号函数图形计算器的在线帮助。
从计算器内含的典型函数演示表中删除当前的图形窗口1中的
demo: 演示符号函数图形计算器的功能。 close: 关闭符号函数图形计算器. (2)向量表示法进行信号运算
当在Matlab中用向量表示信号时,反褶、移位、尺度变换等运算是对时间自变量进行运算,需要对时间向量t进行加减乘除操作;而对于两个信号向量或多个信号的运算,则需要进行信号向量间的加减乘除及乘方等操作。
1)向量与常数的运算、
向量与常数的加减乘除及乘方运算如下,其中a为常数,X为向量 X+a: 向量与常数的加运算,X向量中的每个元素都加上相同的常量a; X-a: 向量与常数的减运算,X向量中的每个元素都减去相同的常量a; a*X: 向量与常数的乘运算,X向量中的每个元素都乘以相同的常量a; X/a: 向量与常数的除运算,X向量中的每个元素都除以相同的常量a; a./X: 常数与向量的点除运算,常量a除以X向量中的每个元素; X.^a: 向量与常数的点乘方运算,X向量中的每个元素为幂底数的a次幂; a.^X:常数与向量的点乘方运算,以X向量中的每个元素为幂指数的a的乘方
2)向量间的运算
向量间的加减乘除运算如下,其中X、Y为向量 X+Y: 向量的加法运算,X、Y向量中的相应元素相加; X-Y: 向量的减法运算,X、Y向量中的相应元素相减; X.*Y: 向量的点乘运算,X、Y向量中的相应元素相乘; X./Y: 向量的点除运算,X、Y向量中的相应元素相除; X*Y: 向量的矩阵乘运算,与矩阵相乘相同; X/Y: 向量的矩阵除运算,与矩阵相除相同; (3)Simulink中的信号运算
在Simulink的Math Operation、Continuous及User-Defined Functions元件库中包含了许多信号运算的元件。常见的信号运算元件如表 1所示。
表 1 常见的信号运算元件
信号右移 信号加减常量 信号与常量乘积 信号的微分 信号的积分 两向量相加
2 连续信号的卷积
两向量相减 两向量相乘 自定义函数1 自定义函数2 卷积积分在信号与线形系统分析中具有非常重要的意义,是信号与系统分析 的基本方法之一。连续时间信号f1(t)和f2(t)的卷积积分(简称为卷积)f(t)定义为:
f(t)?????f1(?)f2(t??)d?
由此可得到两个与卷积相关的重要结论,即是:
f(t)=f(t)*δ(t),即连续信号可分解为一系列幅度由f(t)决定的冲激信号δ(t)及其平移信号之和;
若线性时不变连续系统的单位冲激响应为h(t),则当输入信号为r(t)时,其零状态响应为y(t)=r(t)*h(t)。
可见,连续信号卷积的计算对我们进行连续信号与系统的分析具有重要的意义。
利用 MATLAB实现连续时间卷积的函数conv_cs,该程序在计算出卷积积分的数值近似。以下是Matlab中函数的说明:
[f_conv, t_conv] = conv_cs(f1, t1, f2, t2, dt) % 本函数为计算连续信号的卷积而编写 % 输出参数
% f_conv: 函数f1(t)和f2(t)的卷积函数值向量 % t_conv: 与f_conv对应的时间向量 % 输入参数
% f1:函数f1(t)的函数值向量 % t1:与f1对应的时间向量