Matlab与信号与系统的应用2_第1页
Matlab与信号与系统的应用2_第2页
Matlab与信号与系统的应用2_第3页
Matlab与信号与系统的应用2_第4页
Matlab与信号与系统的应用2_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021-7-132011-2012-11 Matlab绘图与信号处理 2021-7-132011-2012-12 提提 纲纲 一、MATALB绘图 二维绘图 三维绘图 二、Matlab在信号处理中的应用 信号系统的MATLAB表示 线性卷积及MATALB实现 系统描述与转换 时域分析 频域分析 2021-7-132011-2012-13 一、一、MATLAB绘图绘图 n 二维图形 n 三维图形(简述) 步骤典型指令 1 数据准备:选定范围、自变量采样向量、计 算相应的函数值向量 t=pi*(0:100)/100 y=sin(t).*sin(9*t) 2 选定图形窗口及子图位置:默认打开fig

2、ure 1,可用指令指定图形窗口和子图号 figure(1) %指定1号图形窗 subplot(2,2,3) %指定3号子图 3 调用绘图指令:线型、色彩、数据点形plot(t,y,b-) %用蓝色实线画图 4 设置轴的范围与刻度、坐标分格线axis(0,pi,-1,1)%设置轴的范围 grid on 5 图形注释:图名、坐标名、图例和文字说明 title(调制波形);xlabel(t); ylabel(y); legend(sin(t);text(y=sin(t) 6 图形修饰:对象属性值设置、图形窗工具条 set(h,marksize,10) 7 打印按键打印或print-dps2 202

3、1-7-132011-2012-14 plot函数函数 函数格式:plot(x,y) 其中x和y为坐标向量 函数功能:以向量x、y为轴,绘制曲线。 【例例】 在区间0X2内,绘制正弦曲线Y=SIN(X), 其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y) 二维图形二维图形 一、一、MATLAB绘图绘图 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 2021-7-132011-2012-15 plot函数函数 函数格式:plotyy(x1,y1,x2,y2) 其中x和y为 坐标向量 函数功能:双纵坐标绘

4、图。 二维图形二维图形 一、一、MATLAB绘图绘图 2021-7-132011-2012-16 【例例】同时绘制正、余弦两条曲线Y1=SIN(X)和 Y2=COS(X),其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,)形式, 其功能是以公共向量x为X轴,分别以y1,y2,y3, 为Y轴,在同一幅图内绘制出多条曲线。 一、一、MATLAB绘图绘图 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 2021-

5、7-132011-2012-17 (一)线型与颜色(一)线型与颜色 格式:格式:plot(x,y1,cs,.) 其中c表示颜色, s表示线型。 【例3】 用不同线型和颜色重新绘制例4.2图形,其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,go,x,y2,b-.) 其中参数go和b-.表示图形的颜色和线型。g表示绿色, o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点 划线。 一、一、MATLAB绘图绘图 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 2021-7-13

6、2011-2012-18 (二)图形标记(二)图形标记 在绘制图形的同时,可以对图形加上一些说明,如图 形名称、图形某一部分的含义、坐标说明等,将这些操 作称为添加图形标记。 title(加图形标题加图形标题); xlabel(加加X轴标记轴标记); ylabel(加加Y轴标记轴标记); text(X,Y,添加文本添加文本); 一、一、MATLAB绘图绘图 2021-7-132011-2012-19 (三)设定坐标轴(三)设定坐标轴 用户若对坐标系统不满意,可利用axis命令对其重新设定。 axis(xmin xmax ymin ymax) 设定最大和最小值设定最大和最小值 axis (aut

7、o) 将坐标系统返回到自动缺省状态将坐标系统返回到自动缺省状态 axis (square) 将当前图形设置为方形将当前图形设置为方形 axis (equal) 两个坐标因子设成相等两个坐标因子设成相等 axis (off) 关闭坐标系统关闭坐标系统 axis (on) 显示坐标系统显示坐标系统 一、一、MATLAB绘图绘图 2021-7-132011-2012-110 【例例4 4】 在坐标范围0X2,-2Y2内重新绘制正弦 曲线,其程序为: x=linspace(0,2*pi,60);%生成含有生成含有60个数据元个数据元 素的向量素的向量X y=sin(x); plot(x,y); axi

8、s (0 2*pi -2 2);%设定坐标轴范围设定坐标轴范围 注意:注意:linspace(a,b,n)生成从生成从a到到b共共n个数值的等差数组;个数值的等差数组; 一、一、MATLAB绘图绘图 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0123456 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2021-7-132011-2012-111 (四)加图例(四)加图例 给图形加图例命令为legend。该命令把图例放置在图形空白 处,用户还可以通过鼠标移动图例,将其放到希望的位置。 格式:legend(图例说明图例说

9、明,图例说明图例说明); 【例例5 5】 为正弦、余弦曲线增加图例,其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2, -); legend(sin(x),cos(x); 注意:注意:legend 与与plot的先后顺序的先后顺序 一、一、MATLAB绘图绘图 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 sin(x) cos(x) 2021-7-132011-2012-112 (一)(一)subplot(m,n,p) 该命令将当前图形窗口分成mn个绘图区, 即每行n

10、个,共m行,区号按行优先编号,且 选定第p个区为当前活动区。 subplot函数 一、一、MATLAB绘图绘图 2021-7-132011-2012-113 【例6】 在一个图形窗口中同时绘制正弦、余弦、正切、余切 曲线,程序为: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); %eps为系统内部常数 ct=cos(x)./(sin(x)+eps); subplot(2,2,1); %分成22区域且指定1号为活动区 plot(x,y); title(sin(x); axis (0 2*pi -1 1); su

11、bplot(2,2,2); plot(x,z); title(cos(x); axis (0 2*pi -1 1); subplot(2,2,3); plot(x,t); title(tangent(x); axis (0 2*pi -40 40); subplot(2,2,4); plot(x,ct); title(cotangent(x); axis (0 2*pi -40 40); 注:此处为什么要加注:此处为什么要加eps内部常数内部常数 一、一、MATLAB绘图绘图 2021-7-132011-2012-114 (二)多图形窗口(二)多图形窗口 需要建立多个图形窗口,绘制并保持每一个

12、窗口的图 形,可以使用figure命令。 每执行一次figure命令,就创建一个新的图形窗口, 该窗口自动为活动窗口,若需要还可以返回该窗口的 识别号码,称该号码为句柄。句柄显示在图形窗口的 标题栏中,即图形窗口标题。用户可通过句柄激活或 关闭某图形窗口,而axis、xlabel、title等许多命令也 只对活动窗口有效。 一、一、MATLAB绘图绘图 2021-7-132011-2012-115 重新绘制上例4个图形,程序变动后如下: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(

13、sin(x)+eps); H1=figure; %创建新窗口并返回句柄到变量H1 plot(x,y);% 绘制图形并设置有关属性 title(sin(x); axis (0 2*pi -1 1); H2=figure; %创建第二个窗口并返回句柄到变量H2 plot(x,z); %绘制图形并设置有关属性 title(cos(x); axis (0 2*pi -1 1); H3=figure; %同上 plot(x,t); title(tangent(x); axis (0 2*pi -40 40); H4=figure; %同上 plot(x,ct); title(cotangent(x);

14、axis (0 2*pi -40 40); 一、一、MATLAB绘图绘图 2021-7-132011-2012-116 (三)(三)hold命令命令 若在已存在图形窗口中用plot命令继续添加新的 图形内容,可使用图形保持命令hold。发出命令 hold on后,再执行plot命令,在保持原有图形或曲 线的基础上,添加新绘制的图形。 一、一、MATLAB绘图绘图 2021-7-132011-2012-117 例: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); plot(x,y,b); % 绘制正弦曲线 hold on; % 设置图形保持状态 plot(x

15、,z,g); % 保持正弦曲线同时绘制余弦曲线 axis (0 2*pi -1 1); legend(cos,sin); hold off % 关闭图形保持 一、一、MATLAB绘图绘图 2021-7-132011-2012-118 函数函数f(x)曲线曲线fplot fplot函数则可自适应地对函数进行采样,能更好地反应函 数的变化规律。 fplot函数格式:fplot(fname,lims,tol) 其中fname为函数名,以字符串形式出现,lims为变量 取值范围,tol为相对允许误差,其其系统默认值为2e-3。 例:fplot(sin(x),0 2*pi,-+) fplot(sin(x

16、),cos(x),0 2*pi,1e-3,.g) 同时绘制正弦、余弦曲线 一、一、MATLAB绘图绘图 2021-7-132011-2012-119 n为绘制f(x)=cos(tan(x)曲线,可先建立函数文 件fct.m,其内容为: function y=fct(x) y=cos(tan(pi*x); 用fplot函数调用fct.m函数,其命令为: fplot(fct,0 1,1e-4) 一、一、MATLAB绘图绘图 2021-7-132011-2012-120 绘制隐函数的平面曲线绘制隐函数的平面曲线 ezplot 1绘制隐函数F(x,y)=0在 , 上的图形 ezplot (F, a,b

17、,c,d) axb cyd 22 22 sin 0 xy xy 6 . 66 . 5,66yx在 上的图形 ezplot(sin(sqrt(x2+y2)/sqrt(x2+y2),-6*pi,6*pi, -5.6*pi,6.6*pi) 例: 一、一、MATLAB绘图绘图 2021-7-132011-2012-121 绘制绘制F=f(x,y)的三维曲面的三维曲面 ezmesh ezmesh (F, a,b,c,d) axbcyd ezmesh(sin(sqrt(x2+y2)/sqrt(x2+y2),-6*pi,6*pi, -5.6*pi,6.6*pi) 注:注意和前面注:注意和前面ezplot函数

18、的区别函数的区别 一、一、MATLAB绘图绘图 2021-7-132011-2012-122 特殊坐标图形特殊坐标图形 一、一、 对数坐标图形对数坐标图形 (一)(一)loglog(x,y) 双对数坐标双对数坐标 【例例7 7】 绘制y=|1000sin(4x)|+1的双对数坐标图。程序为: x=0:0.1:2*pi; y=abs(1000*sin(4*x)+1; loglog(x,y) %双对数坐标绘图命令 注意:log是以10为底的对数 一、一、MATLAB绘图绘图 2021-7-132011-2012-123 (二)单对数坐标(二)单对数坐标 以X轴为对数重新绘制上述曲线,程序为: x=

19、0:0.01:2*pi; y=abs(1000*sin(4*x)+1; semilogx(x,y); %单对数X轴绘图命令 同样,可以以Y轴为对数重新绘制上述曲线,程序为: x=0:0.01:2*pi y=abs(1000*sin(4*x)+1; semilogy(x,y); %单对数Y轴绘图命令 一、一、MATLAB绘图绘图 2021-7-132011-2012-124 二、二、 极坐标图极坐标图 函数polar(theta,rho)用来绘制极坐标图,theta为极 坐标角度,rho为极坐标半径 【例例8 8】 绘制sin(2*)*cos(2*)的极坐标图,程序为: theta=0:0.01

20、:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho) %绘制极坐标图命令 title(polar plot); 一、一、MATLAB绘图绘图 2021-7-132011-2012-125 其它图形函数其它图形函数 n除plot等基本绘图命令外,Matlab系统提供了 许多其它特殊绘图函数,这里举一些代表性例 子,更详细的信息用户可随时查阅在线帮助, 其对应的M-file文件存放在系统 matlabtoolboxmatlab目录下。 一、一、MATLAB绘图绘图 2021-7-132011-2012-126 1、阶梯图形、阶梯图形 函数s

21、tairs(x,y)可以绘制阶梯图形,如下列程序段: x=-2.5:0.25:2.5; y=exp(-x.*x); stairs(x,y) %绘制阶梯图形命令 title(stairs plot); 一、一、MATLAB绘图绘图 2021-7-132011-2012-127 2、条形图形、条形图形 函数bar(x,y)可以绘制条形图形,如下列程序段将绘制 条形图形 x=-2.5:0.25:2.5; y=exp(-x.*x); bar(x,y); 绘制条形图命令 一、一、MATLAB绘图绘图 2021-7-132011-2012-128 3、填充图形、填充图形 fill(x,y,c)fill(x

22、,y,c)函数用来绘制并填充二维多边图形,x 和y为二维多边形顶点坐标向量。字符 c 规定填充 颜色,其取值前已叙述。 一、一、MATLAB绘图绘图 2021-7-132011-2012-129 二维绘图函数小结二维绘图函数小结 plot 二维图形基本函数二维图形基本函数 fplot f(x)函数曲线绘制函数曲线绘制 fill 填充二维多边图形填充二维多边图形 polar 极坐标图极坐标图 bar 条形图条形图 loglog 双对数坐标图双对数坐标图 semilogx X轴为对数的坐标图轴为对数的坐标图 semilogy Y轴为对数的坐标图轴为对数的坐标图 stairs 阶梯形图阶梯形图 ax

23、is 设置坐标轴设置坐标轴 clf 清除图形窗口内容清除图形窗口内容 close 关闭图形窗口关闭图形窗口 figure 创建图形窗口创建图形窗口 grid 放置坐标网格线放置坐标网格线 gtext 用鼠标放置文本用鼠标放置文本 hold 保持当前图形窗口内容保持当前图形窗口内容 subplot 创建子图创建子图 text 放置文本放置文本 title 放置图形标题放置图形标题 xlabel 放置放置X轴坐标标记轴坐标标记 ylabel 放置放置Y轴坐标标记轴坐标标记 一、一、MATLAB绘图绘图 2021-7-132011-2012-130 三维图形三维图形 (一)(一) plot3函数函数

24、 最基本的三维图形函数为plot3,它是将二维函数plot 的有关功能扩展到三维空间,用来绘制三维图形。 函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,) 其中x1,y1,z1表示三维坐标向量,c1,c2表示线 形或颜色。 函数功能:以向量x,y,z为坐标,绘制三维曲线。 一、一、MATLAB绘图绘图 2021-7-132011-2012-131 【例9】 绘制三维螺旋曲线,其程序为: t=0:pi/50:10*pi; y1=sin(t),y2=cos(t); plot3(y1,y2,t); title(helix), text(0,0,10,origin); xlab

25、el(sin(t),ylabel(cos(t),zlabel(t); grid; 一、一、MATLAB绘图绘图 2021-7-132011-2012-132 (二)(二)mesh函数函数 mesh函数用于绘制三维网格图。在不需要绘制特别精 细的三维曲面结构图时,可以通过绘制三维网格图来 表示三维曲面。 函数格式:mesh(x,y,z,c) 其中x,y控制X和Y轴坐标,矩阵z是由(x,y)求得Z轴 坐标,(x,y,z)组成了三维空间的网格点;c用于控制网 格点颜色。【例10】 下列程序绘制三维网格曲面图 x=0:0.15:2*pi; y=0:0.15:2*pi; z=sin(y)*cos(x);

26、 %矩阵相乘矩阵相乘 mesh(x,y,z); 一、一、MATLAB绘图绘图 2021-7-132011-2012-133 (三)(三)surf函数函数 surf用于绘制三维曲面图,各线条之间的补面用颜色 填充。surf函数和mesh函数的调用格式一致。 函数格式: surf (x,y,z) 其中x,y控制X和Y轴坐标,矩阵z是由x,y求得的曲 面上Z轴坐标。 【例例1111】 下列程序绘制三维曲面图形 x=0:0.15:2*pi; y=0:0.15:2*pi; z=sin(y)*cos(x); %矩阵相乘矩阵相乘 surf(x,y,z); xlabel(x-axis),ylabel(y-ax

27、is),zlabel(z-label); title(3-D surf); 一、一、MATLAB绘图绘图 2021-7-132011-2012-134 连续信号的连续信号的MATLABMATLAB表示表示 n连续信号的时间取值t是连续的,而MATLAB中变 量的取值都是离散的,因此MATLAB对连续信号只 能提供近似表示,即采用对连续时间信号进行采 样的方式进行,为了保证采样值能尽可能保留信 号的细节,应该确保足够小的抽样时间,同时采 用plot命令画出连续信号的图形。 二二(1)、信号系统的、信号系统的MATLAB表示表示 2021-7-132011-2012-135 n对于余弦函数: n设

28、置时间的范围0 T n在取值范围内的采样点数设置为N,这样时 间点的取值为: 则采样信号的形式为: nn的取值范围为:0 N 则在不同采样点数下plot的绘图结果为: 2cos()yt 2 cos(/)yn T N 0/tNNT 二二(1) 、信号系统的、信号系统的MATLAB表示表示 2021-7-132011-2012-136 连续信号的连续信号的MATLABMATLAB表示表示 二二(1) 、信号系统的、信号系统的MATLAB表示表示 2021-7-132011-2012-137 离散信号的离散信号的MATLAB表示表示 离散信号为时间上离散、幅度取有限值 的信号,因此时间取值用n代替了

29、连续的t, 并且用stem命令画出离散信号波形。 二二(1) 、信号系统的、信号系统的MATLAB表示表示 2021-7-132011-2012-138 n同样考虑余弦信号: n的取值范围为0 30 MATLAB的程序: n = 0:1:30; y = 2*cos(2*pi*n/16+pi/4); stem(y) 2 ( )2cos() 164 y nn 二二(1) 、信号系统的、信号系统的MATLAB表示表示 2021-7-132011-2012-139 n单脉冲序列 n单位阶跃序列 n矩形窗信号( )()()x nnLnM (1, ),(1,)hzerosL onesML 1 n=0 (

30、) 0 n0 n x=zeros(1,N); % N是序列的长度 x(1)=1; 1 n0 ( ) 0 n0 u n x=ones(1,N); % N是序列的长度 x(1)=1; 二二(1) 、信号系统的、信号系统的MATLAB表示表示 2021-7-132011-2012-140 信号的卷积运算 n离散时间系统的输出是系统的输入信号与系统单位 脉冲响应的卷积: MATLBA中用函数conv()进行卷积运算 ( )( )( )( ) () n n y kx kh kx n h kn ( , )yconv x h 二二(2)、线性卷积及、线性卷积及MATALB实现实现 2021-7-132011

31、-2012-141 设x = 3,-3,7,0,-1,5,2; nx = -4:2; h = 2,3,0,-5,2,1; nh = -1:4; 求其卷积y(n)。 解:图2.3.4。x(k)和h(k)如左上图; x(k)和h(-k)如右上图; 设n=-1,得出的x(k)和h(n-k)见左下图,设n=2,得出的x(k)和h(n-k)见右下图。 由左下图k= -4: 0五个点上的x和h乘积之和,得到 y(-1)=3*2+ (-3) *(-5)+7*0+0*3+(-1)*2=19 由右下图k=-2: 2五个点上的x和h乘积之和,得到 y(2)=7*1+0*2+(-1)*(-5)+5*0+2*3=18

32、 对每一个n值,都要这样运算y(n),很繁。 序列的卷积手工运算算例序列的卷积手工运算算例 二二(2)(2)、线性卷积及、线性卷积及MATALBMATALB实现实现 2021-7-132011-2012-142 序列的卷积运算算例序列的卷积运算算例 图 2.3.4 卷积序列的折叠和移位 3 -3 7 0 -1 5 2 2 3 -5 2 1 二二(2)、线性卷积及、线性卷积及MATALB实现实现 2021-7-132011-2012-143 n序列的卷积运算算例序列的卷积运算算例 functiony,ny=conv_improve(x,nx,h,nh) %x,nx为第一个信号; h,nh为第一个

33、信号 ny1=nx(1)+nh(1); ny2=nx(length(x)+nh(length(h); ny=ny1+ny2 y=conv(x,h) 调用并执行上程序得到 y= 6 3 5 6 19 -31 30 18 -27 -1 9 2 注:conv函数假定两个序列都是从n=0开始的 二、线性卷积及二、线性卷积及MATALB实现实现 2021-7-132011-2012-144 用MATALAB实现信号的卷积运算 例:离散时间系统的单位脉冲响应为: 输入信号为: 则系统的响应为: y = conv(x,h) ( )0.25 ( )(4)h nnn ( )( )(10)x nnn 二二(2)、

34、线性卷积及、线性卷积及MATALB实现实现 2021-7-132011-2012-145 02468101214 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 MATLAB的程序: h = 0.25*ones(1,4); x = ones(1,10); y = conv(x,h); stem(y) 二二(2)、线性卷积及、线性卷积及MATALB实现实现 2021-7-132011-2012-146 n卷积运算conv除了能根据系统的脉冲响应和 输入信号计算系统的输出信号,还可以计算 两个多项式的乘积结果。 n则y1*y2的多项式就可以用conv完成 1 10

35、1 10 1. 2. mm mm nn nn ya xaxa ya xaxa 二二(2)、线性卷积及、线性卷积及MATALB实现实现 2021-7-132011-2012-147 n 多项式乘法多项式乘法 10 10 1. 2. 1* 2( 1, 2) mm nn yaaa yaaa yyconv yy 二二(2)、线性卷积及、线性卷积及MATALB实现实现 2021-7-132011-2012-148 例: y1 = 3 4 1 0; y2 = 1 2; conv(y1,y2) ans = 3 10 9 2 0 32 1 1 34 22 yxxx yx 二二(2)、线性卷积及、线性卷积及MA

36、TALB实现实现 2021-7-132011-2012-149 n互相关函数定义: ( )( ) () xy rmx n h nm ( )( ) () n n y kx n h k n 卷积: n相关函数与线性卷积的关系 用用xcorr(x,y)计算两个信号的相关性计算两个信号的相关性 注意:计算相关性时,两个序列都不翻转,只是将注意:计算相关性时,两个序列都不翻转,只是将h(k)移动后对应相移动后对应相 乘再相加;卷积时,要将其中一个序列翻转后再移动乘再相加;卷积时,要将其中一个序列翻转后再移动-n; 相关表示两个信号之间的关联性,与系统无关,卷积则表示的是相关表示两个信号之间的关联性,与系

37、统无关,卷积则表示的是 时不变系统中输入、单位响应和输出之间的关系时不变系统中输入、单位响应和输出之间的关系 二二(2)、线性卷积及、线性卷积及MATALB实现实现 2021-7-132011-2012-150 二二(3)、系统描述与转换、系统描述与转换 n传递函数 n零极点增益 n状态空间 n部分分式展开 2021-7-132011-2012-151 传递函数模型 n1、连续系统的传递函数模型 num=b1,b2,bm,bm+1 den=a1,a2,an,an+1 1 121 1 121 .( ) ( ) ( ). mm nm nn nn bsb sb sbC s G s R sa sa s

38、a sa 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-152 传递函数模型 num=12,24,0,20; den=2 4 6 2 2; 22642 202412 )( 234 23 ssss ss sG 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-153 借助多项式乘法函数conv来处理: num=4*conv(1,2,conv(1,6,6,1,6,6); den=conv(1,0,conv(1,1,conv(1,1,con v(1,1,conv1,3,2,5); 22 332 4(2)(66) ( ) (1) (3

39、25) sss G s s ssss 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-154 零极点增益模型 K为系统增益,zi为零点,pj为极点。 零极点增益模型用z,p,K矢量组表示,即: z=z1,z2,zm p=p1,p2,.,pn K=k 注意:这里的零点、极点都是列向量表示 12 12 ()().() ( ) ()().() m n szszsz G sK spspsp 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-155 z = 0 -6 -5 p = -3+4i -3-4i -2 -1 k = 0.5 (6)

40、(5) ( )0.5 (1)(2)(34 )(34 ) s ss G s sssj sj 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-156 状态空间描述 n以上两种系统表示模型,关注的是输入输出 信号间的关系描述,状态变量同时关心某一时 刻系统中某状态变量的变化过程,以及与输入、 输出信号的关系。 n其中y为输出信号,x为系统状态变量,u为输 入信号。 xAxBu yCxDu 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-157 A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14; B

41、=4 6; 2 4; 2 2; 1 0; C=0 0 2 1; 8 0 2 2; D=zeros(2,2); 1691046 3126824 4791122 512131410 0021 8022 xxu yx 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-158 三种模型间的相互转换三种模型间的相互转换 n传递函数模型(Transfer Function) n极零点模型(Zero Pole) n状态空间模型(State Space) n三种模型间的转换: ntf2zp()、zp2tf() nzp2ss()、ss2zp() ntf2ss()、ss2tf()

42、二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-159 num=1,11,30,0; den=1,9,45,87,50; z,p,k=tf2zp(num,den) A,B,C,D=tf2ss(num,den) 32 432 1130 ( ) 9458750 sss G s ssss 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-160 z = 0 -6 -5 p = -3.0000+4.0000i -3.0000-4.0000i -2.0000 -1.0000 k = 1 (6)(5) ( ) (1)(2)(34 )(34

43、) s ss G s sssj sj 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-161 A = -9 -45 -87 -50 1 0 0 0 0 1 0 0 0 0 1 0 B = 1 0 0 0 C = 1 11 30 0 D = 0 94587501 10000 01000 00100 1 11 300 xxu yx 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-162 n分式展开将原有的传递函数表达为各个 分式相加形式,类似于分解为并联形式 No Image ( )(1)(2) .( ) ( )(1)(2) B

44、sRR K s A ssPsP 二二(3)、系统描述与转换、系统描述与转换 部分分式展开 2021-7-132011-2012-163 n模拟系统: n函数R,P,K=residue(B,A) nB,A=residue(R,P,K) n数字系统 n函数R,P,K=residuez(B,A) nB,A=residuez(R,P,K) 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-164 nNum=2 0 9 1; nDec = 1 1 4 4; nR P K = residue(Num,Dec); 44 192 )( 23 3 sss ss sG 二二(3)、

45、系统描述与转换、系统描述与转换 2021-7-132011-2012-165 结果: p= 0.0000+2.0000i 0.0000-2.0000i -1.0000 k= 2 r= 0.0000-0.2500i 0.0000+0.2500i -2.0000 1 2 2 25.0 2 25.0 2)( sis i is i sG 二二(3)、系统描述与转换、系统描述与转换 2021-7-132011-2012-166 注意点 n以上模型结构都是针对连续时间系统的, 对于离散时间系统而言,描述方式类似, 不同的是离散时间系统的传递函数中z的 幂次都是负值,若要使用连续时间系统 的函数描述,必须注

46、意z的阶次(多项式 的表达方式)。 2021-7-132011-2012-167 注意点 计算上述系统的零、极点时,系统的描述不是如下所示 num = 1 -1 den = 1 0 -1 而是首先将其转换为正数幂次形式,再列出传递函数模型。 这样传递函数模型为: num = 1 -1 0; den = 1 0 -1; z p k = tf2zp(num,dec) 1 2 1 ( ) 1 z H z z 2 2 ( ) 1 zz H z z 2021-7-132011-2012-168 n系统(连续、离散)的单位脉冲响应、阶 跃响应 n系统对任意输入信号的响应 二二(4)、时域分析、时域分析 2

47、021-7-132011-2012-169 n求解系统的单位阶跃响应和脉冲响应 n单位阶跃响应:step()、dstep()-离散信号 n冲激(脉冲)响应:impulse()、dimpulse()、 impz() 这里的调用参数都是系统的描述方式 二二(4)、时域分析、时域分析 2021-7-132011-2012-170 432 20 ( ) 83640 G s sss 求系统的阶跃响应曲线 %传递函数描述 num=20; den=1 8 36 0 40 ; %绘制系统的阶跃响应曲线 t=0:0.1:10; step(num, den, t); 二二(4)、时域分析、时域分析 2021-7-

48、132011-2012-171 n2输入2输出系统: n求系统的冲激响应 2 1 4 3 2 1 4 3 2 1 00 02 02 14 056.200 56.22.314.11 00022.1 0022.15.2 u u x x x x x x x x 2 1 4 3 2 1 2 1 02 20 1000 3010 u u x x x x y y 二二(4)、时域分析、时域分析 2021-7-132011-2012-172 %系统状态空间描述 a=-2.5 -1.22 0 0;1.22 0 0 0;1 -1.14 -3.2 -2.56; 0 0 2.56 0; b=4 1;2 0;2 0;0

49、 0; c=0 1 0 3;0 0 0 1; d=0 -2;-2 0; %绘制闭环系统的冲激响应 impulse(a,b,c,d) title(impulse response) xlabel(time-sec) ylabel(amplitude) 二二(4)、时域分析、时域分析 2021-7-132011-2012-173 %求解系统的脉冲响应 num = 1; den = 1 -0.6 -0.16; n = 0:1:20; y = dimpulse(num,den,n); figure(1) stem(n,y) Title( The impulse response) 2 12 ( ) 1

50、 0.6*0.16* z H z zz 二二(4)、时域分析、时域分析 2021-7-132011-2012-174 n对于impz()与dimpulse()不同:该函数是针对 数字信号系统的,描述系统结构时采用 impz(b,a,n)的形式 其中b、a都是按照z的负值幂次形式,并且 从z的零次幂开始,因此对于以上离散系统 H(z), b、a分别为: b = 0 0 1; a = 1 -0.6 -0.16; 二二(4)、时域分析、时域分析 2021-7-132011-2012-175 注意:这里的b不能写成b = 1,否则就成为如下的系统: b = 0 0 1; a = 1 -0.6 -0.1

51、6; n =0:1:20; y = impz(b,a,n); figure(2) stem(n,y) Title( The impulse response) 12 1 ( ) 1 0.6*0.16* H z zz 二二(4)、时域分析、时域分析 2021-7-132011-2012-176 n对任何输入信号,系统响应的求解。 n已知系统脉冲响应的,利用输入信号 与冲激信号的卷积得到系统的输出, 基于MATLAB的conv()命令 n已知系统的传递函数,利用滤波原理 得到系统的输出,基于MATLAB的 lsim()、filter()命令 二二(4)、时域分析、时域分析 2021-7-13201

52、1-2012-177 差分方程的递推在MATLAB中用filter函数来实现。调 用的最简单形式为: y = filter(b,a,x) 其中b = b0, b1, ., bM; a = a0, a1, ., aN 为差分方 程的系数数组,x 是输入序列。 用信号处理工具箱专门函数impz h,t=impz(b,a,L) 1, )()( 0 00 ainxbknya M i i N k k 二二(4)、时域分析、时域分析 2021-7-132011-2012-178 例:例:设系统用差分方程设系统用差分方程 y(n)-y(n-1)+ 0.9y(n-2)=x(n) 描述描述,输入序列输入序列为为

53、x=n,(1)设初始条件设初始条件为为 y(-2)=0, y(-1)=0,求输出序列求输出序列 y(n)。 b1=1;a=1,-1,0.9; x=1,zeros(1,200); y1=filter(b1,a,x) b2=1; h,t=impz(b2,a) subplot(1,2,1) plot(y1,r) subplot(1,2,2) plot(h,g) 二二(4)、时域分析、时域分析 2021-7-132011-2012-179 已知系统的冲激响应为 当输入信号 为 时,求系统的输出信号 n = 0:1:19; h = exp(-n*0.1); n = 0:1:9; x = n; y = c

54、onv(h,x); stem(y); *0.1 ( ) ( )(20) n h neu nu n ( )* ( )(10)x nnu nu n 二二(4)、时域分析、时域分析 2021-7-132011-2012-180 当输入信号x(t)=10cos(5t)时,系统的输出 num = 5; den = 1 1 10 5; t = 0:0.08:25; x = 10*cos(5*t); y = lsim(num,den,x,t); plot(y) 32 5 ( ) 105 H s SSS 二二(4)、时域分析、时域分析 2021-7-132011-2012-181 二二(5)、频域分析、频域分

55、析 n离散傅里叶级数离散傅里叶级数DFS 注:离散时间序列x(n)中的一个周期的N个样本,就能确定频谱序列。 同样,用一个周期中的N根谱线就可以确定离散时间序列x(n) n离散傅里叶变换离散傅里叶变换DFT 2 1 0 ( ) ( )( ), , N j nk N N n X kDFS x nx nke 2 1 0 2 ( )( ), 0,1,1 1 ( )( ),0,1,1 N jnk N n jkn N X kx n ekN x nX k enN N 2021-7-132011-2012-182 计算DFT的运算次数按N2快速增长。设N可以被2整除,把 x(n)分成两个子序列x1(n)和x2(n), n离散傅里叶变换的快速算法离散傅里叶变换的快速算法FFT 1 2 ( ) (0), (2),(2) 0,(1)/2 ( ) (1), (3),(1) x nxxx N nN x nxxN 设它们的傅立叶变换分别为X1(m)和X2(m),其周期为N1=N/2: 1 1 1 11 0 ( )( )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论