用MATLAB画零极点图.

合集下载

matlab求解零状态零输入响应

matlab求解零状态零输入响应

1. 已知离散时间系统的差分方程为:2y(n) - y(n -1) - 3y(n -2)=2x(n) - x(n -1)x(n)=0.5n u(n) , y(-1)=1,y(-2)=3 , 试用filter 函数求系统的零输入响应、零状态响应和全响应.解:将差分方程Z 变换得:12112()[()(1)]3[()(1)(2)]2()[()(1)]Y z z Y z y z Y z z y y X z z X z x -----+--+-+-=-+- (1)依题意有:x(-1)=0,x(-2)=0,y(-1)=1,y(-2)=3 ,X(z)=1110.50.5z z z -=-- 将上式变形如下: 1211(23)()[(1)3(1)3(2)](2)()z z Y z y z y y z X z --------+-+-=- ………..(2) 1211(23)()(2)()[(1)3(1)3(2)]z z Y z z X z y z y y ------=-+-+-+-1211(23)()(2)()[103]z z Y z z X z z ------=-++ (3)易得系统函数为H(z)= 12122222323z z z z z z z -----=---- ① 零输入时零输入时,x(n)=0,差分方程右边为0,z 变换后应为121(23)()103z z Y z z -----=+112103()23z Y z z z ---+=-- =2210323z z z z +-- =71835152z z z z ++- 将Y(z)进行Z 反变换,得到其零输入响应为: y(n)= 7183[(1)()]()552n n u n -+ ② 零状态时零状态时,将y(-1)=0,y(-2)=0代入上面的式(2)中,得Y(z)= 112223z z z ------X(z)= 112223z z z ------1110.5z --=22223z z z --=233 5152 z z z z++-将其Z反变换,得到零状态响应为:y(n)=233 [(1)()]() 552n n u n -+③全响应与上面同理,y(-1)=1,y(-2)=3将上面式(3)变形得:Y(z)=2212323z zz z+--=92135152z zz z++-Z反变换得全响应为Y(n)=921[]()35152z zu n z z++-程序代码:%第二章Z变换第2.12题程序clear all;close all;num=[2 -1 0]; %系统函数分子的系数den=[2 -1 -3]; %系统函数分母的系数n=0:50;nl=length(n);%求零输入响应y01=[1 3]; %y的初始状态x01=[0 0]; %x 的初始状态x1=zeros(1,nl);zi1=filtic(num,den,y01,x01); %为filter函数准备初始值y1=filter(num,den,x1,zi1); %求零输入响应subplot(311);stem(n,y1,'r.');title('零输入响应');grid on;%求零状态响应y02=[0 0];x02=[0 0];x2=0.5.^n;zi2=filtic(num,den,y02,x02);y2=filter(num,den,x2,zi2);subplot(312);stem(n,y2,'r.');title('零状态响应');grid on;%求全响应y03=[1 3];x03=[0 0];x3=0.5.^n;zi3=filtic(num,den,y03,x03);y3=filter(num,den,x1,zi3);subplot(313);stem(n,y3,'r.');title('全响应');grid on;运行结果如下:2. 已知离散系统的系统函数分别为(1)2321()21z zH zz--=-(2)31()1zH zz+=-(3)2322()2241zH zz z z+=+-+(4)332()0.20.30.4zH zz z z=+++试用MATLAB实现下列分析过程:①求出系统的零极点位置;②绘出系统的零极点图,根据零极点图判断系统的稳定性;③绘出系统单位响应的时域波形,并分析系统稳定性与系统单位响应时域特性的关系。

matlaB中的一些函数

matlaB中的一些函数

函数1.step阶跃响应指令(连续函数)dstep 阶跃响应指令(离散函数)clearclcnum=[2 -3.4 1.5];den=[1 -1.6 0.8];dstep(num,den)grid ontitle('离散系统阶跃响应')xlabel('时间')clearclcnum=[2 -3.4 1.5];den=[1 -1.6 0.8]step(num,den)grid ontitle('离散系统阶跃响应') xlabel('时间')2. c2dm()函数连续系统的离散化在MATLAB软件中对连续系统的离散化是应用c2dm()函数实现的,c2dm()函数的一般格式为3. 函数initial(),dinitial()对于连续系统由初始状态所引起的响应,零输入响应,可由函数initial()来求得,其调用格式为[y,x,t]=initial(A,B,C,D,x0)[y,x,t]=initial(A,B,C,D,x0,t)其中x0为初始状态.同理,对于离散系统的零输入响应函数调用格式为:[y,x,t]=dinitial(A,B,C,D,x0)[y,x,t]=dinitial(A,B,C,D,x0,n)4. axisaxis一般用来设置axes的样式,包括坐标轴范围,可读比例等axis([xmin xmax ymin ymax])axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 坐标轴设置5.函数ss2zp()(与zplane()连用)MATLAB还提供了一个类似的函数ss2zp()。

该函数的功能是直接根据系统的状态方程描述求取系统的零点、极点和增益,不必先化成传递函数描述形式。

其基本调用格式与tf2zp()函数类似,只是多了一个输入量选择的参数:[Z,P,K]=ss2zp(A,B,C,D,iu)其中(A ,B ,C ,D)是系统的状态方程描述的系数矩阵, iu 表示对系统的第iu 个输入量求零点、极点和增益;Z 是求得的零点矩阵;P 是求得的极点矩阵,Z 的列数与输出量y 的个数一样多,行数视零点个数的多少而定;K 是求得的增益列向量,其维数等于输出量y 的个数。

在MATLAB中数学模型的表示

在MATLAB中数学模型的表示
控制系统的数学模型在系统分析和设计中是相 当重要的,在线性系统理论中常用的数学模型有微 分方程、传递函数、状态空间表达式等,而这些模 型之间又有着某些内在的等效关系。MATLAB主要 使用传递函数和状态空间表达式来描述线性时不变 系统(Linear Time Invariant简记为LTI)。
➢ 2.6.1传递函数
注意尽管s2项系数为0,但输入P(s)时不可缺省0。
MATLAB下多项式乘法处理函数调用格式为:
>>C=conv(A,B)
例如给定两个多项式A(s)=s+3和B(s)=10s2+20s+3,求 C(s)=A(s)B(s),则应先构造多项式A(s)和B(s),然后 再调用conv( )函数来求C(s)
sign为反馈极性,若为正反馈其为1,若为负反馈其为-1或缺省。
反馈
例如
负反馈连接
>>numg=[1,1];deng=[1,2]; >>numh=[1];denh=[1,0];
>>[num,den]=feedback(numg,deng,numh,denh,-1); >>printsys(num,den)
>>p=-0.9567+1.2272i >>-0.9567-1.2272i >>-0.0433+0.6412i >>-0.0433-0.6412i >>k=6
用MATLAB语句表示:
可以验证MATLAB的转换函数,调用zp2tf()函数将得到原传递函 数模型。
>>[num,den]=zp2tf(z,p,k) >>num = 0 6.0000 12.0000 6.0000 10

十七章 matlab进行复频域

十七章  matlab进行复频域

五、巴特沃兹滤波器matlab实现
• 巴特沃兹滤波器介绍 • 阶数对性能的影响。如figure1114.m所示。 • 巴特沃兹滤波器零极点的位置特点: 绘制其零极点分布图的实用子函数如 Batpq.m所示。 • 巴特沃兹滤波器性能设计指标。
在连续系统中,系统函数的零极点分布可 以反映系统的以下重要特性: • 系统冲激响应h(t)的时域特性; • 系统的稳定性; • 系统的频率特性。 下面我们依次介绍。
三、 系统零极点图的绘制
• 通过系统函数零极点分布分析系统,必 须首先找出系统的零极点并尽量直观表 示出来,即绘制零极点坐标图。这是进 行S域系统分析的第一步。
2 由零极点分析冲激响应h(t)特点 分析方法: 由系统函数H(s)可以写出其分子、分母系 数矩阵向量B 、A,此向量即代表了系统 时域微分方程,由此可调用impulse( )求 冲激响应。
1 例:系统函数为 H( s ) = ( s + α )2 + 42
画出当a=0.5, 0, -0.5时的冲激响应h(t) 程序如:ex1105.m
3 由系统零极点分析系统频率特性 • 几何矢量法原理介绍 • Matlab实现过程: 1)定义零极点向量q和p; 2)确定表示频率范围和频率取样间隔; 3)表示出系统零极点到频率点的矢量差; 4)求出幅频数如splxy.m 例题:已知二阶系统零极点为: p1=-a1,p2=-a2,q1=q2=0 分析以下3种情况下系统在0-1khz的幅频特性 1)a1=100,a2=200; 2)a1=500,a2=1000; 3)a1=2000,a2=4000; 程序如ex1106.m
下面我们给出绘制系统零极点的通用子程 序,这是分析系统的基础。 子程序名:sjdt.m 例:若系统函数为

用matlab绘制差分方程Z变换_反变换_zplane_residuez_tf2zp_zp2tf_tf2sos_sos2tf_幅相频谱等等

用matlab绘制差分方程Z变换_反变换_zplane_residuez_tf2zp_zp2tf_tf2sos_sos2tf_幅相频谱等等

《数字信号处理》(一) 实验目的使用ztrans,iztrans 函数分别求出离散时间信号的Z 变换和Z 反变换的结果,并用pretty 函数进行结果美化。

编写函数时养成良好的注释习惯,有利于对函数的理解。

复习MATLAB 的基本应用,如:help,可以帮助查询相关的函数的使用方法,巩固理论知识中的离散时间信号的传递函数与二次项式之间的转换,以及使用zplane 函数画出相关系统的零极点分布图,根据零极点的分布情况估计系统的滤波特性。

(二) 程序的运行与截图实验项目一Z 变换(1)求)(])31()21[()(n u n x nn += Z 变换clear all;close all;clc;syms nf=0.5^n+(1/3)^n; %定义离散信号F=ztrans(f) %z 变换pretty(F); 运算结果F(2)4)(n n x = Z 变换clear all ;close all ;clc;syms nf=n^4; %定义离散信号F=ztrans(f) %Z 变换 pretty(F)运算结果(3))sin()(b an n x += Z 变换clear all;close all;clc;syms a b nf = sin(a*n+b) %定义离散信号F=ztrans(f) %Z 变换pretty(F)运算结果实验项目二Z 反变换(1)2)2(2)(-=z z z X Z 反变换 clear all;close all;clc;syms k zFz=2*z/(z-2)^2; %定义Z 反变换表达式fk=iztrans(Fz,k) %Z 反变换pretty(fk);运算结果(2)12)1()(2++-=z z z z z X Z 反变换 clear all;close all;clc;syms k zFz=z*(z-1)/(z^2+2*z+1); %定义Z 反变换表达式fk=iztrans(Fz,k) %Z 反变换pretty(fk);运算结果f(3) 211cos 211)(---+-+=zz z z X ω Z 反变换 clear all;close all;clc;syms k z wFz=(1+z^(-1))/(1-2*z^-1*cos(w)+z^-2); %定义Z 反变换表达式 fk=iztrans(Fz,k) %Z 反变换pretty(fk);运算结果实验项目三各种模型之间的变换2)2)(1(10)(--=z z z z H =4851023-+-z z z z (1)clear all;close all;clc;b=[0 0 10 0];%分子的系数数组a=[1 -5 8 -4]; %分母的系数数组zplane(b,a)% 使用zplane 函数绘制如下系统的零极点分布图 运算结果(2)clear all ;close all ;clc;b=[0 0 10 0]; %分子的系数数组a=[1 -5 8 -4]; %分母的系数数组[r,p,c]=residuez(b,a) %使用matlab 中的residuez 函数,将)(z H 分解成为多个简单有理分式之和运算结果r =-15.00005.000010.0000p =2.00002.00001.0000c =(3)clear all;close all;clc;b=[0 0 10 0]; %分子的系数数组a=[1 -5 8 -4]; %分母的系数数组[z,p,k]=tf2zp(b,a) %使用tf2zp求出系统函数的零、极点和增益运算结果z =p =2.00002.00001.0000k =10(4)clear all;close all;clc;z=[1;-3];%零点,列向量p=[2; -4];%极点,列向量k=5; %增益[b,a] = zp2tf(z,p,k) %根据求出的零、极点和增益,然后自学使用zp2tf还原出分子和分母的系数运算结果(5)clear all ;close all ;clc;b=[0 0 10 0]; %分子的系数数组a=[1 -5 8 -4]; %分母的系数数组[sos,g]=tf2sos(b,a) %使用tf2sos 将系统函数分解成一系列二阶子系统的级联形式运算结果sos =0 1.0000 0 1.0000 -2.0000 0 0 1.0000 0 1.0000 -3.0000 2.0000g =10(6)clear all ;close all ;clc;sos=[0 1.0000 0 1.0000 -2.0000 0; 0 1.0000 0 1.0000 -3.0000 2.0000];g=10;%增益[b,a]=sos2tf(sos,g) %根据求出的一系列二阶子系统,使用sos2tf 还原出)(z H 分子和分母的系数运算结果b =0 0 10 0a =1 -5 8 -4(7)clear all;close all;clc;b=[0 0 10 0]; %分子的系数数组a=[1 -5 8 -4]; %分母的系数数组n=(0:500)*pi/500; %在pi范围内取501个采样点[h,w]=freqz(b,a,n);%求系统的频率响应subplot(2,1,1),plot(n/pi,abs(h));grid %作系统的幅度频响图axis([0,1,1.1*min(abs(h)),1.1*max(abs(h))]);ylabel(‘幅度’);subplot(2,1,2),plot(n/pi,angle(h));grid %作系统的相位频响图axis([0,1,1.1*min(angle(h)),1.1*max(angle(h))]);ylabel(‘相位’);xlabel(‘以pi为单位的频率’);运行结果2221)(232+++++=z z z z z z H (1)clear all ;close all ;clc;b=[0 1 1 1]; %分子的系数数组 a=[1 2 2 2]; %分母的系数数组 zplane(b,a)% 使用zplane 函数绘制如下系统的零极点分布图 运行结果(2)clear all ;close all ;clc;b=[0 1 1 1]; %分子的系数数组 a=[1 2 2 2]; %分母的系数数组[r,p,k]=residuez(b,a) %使用matlab 中的residuez 函数,将)(z H 分解成为多个简单有理分式之和 运行结果r =-0.4006 -0.0497 - 0.1609i -0.0497 + 0.1609ip =-1.5437-0.2282 + 1.1151i-0.2282 - 1.1151ik =0.5000(3)clear all;close all;clc;b=[0 1 1 1]; %分子的系数数组a=[1 2 2 2]; %分母的系数数组[z,p,k]=tf2zp(b,a) %使用tf2zp求出系统函数的零、极点和增益运行结果z =-0.5000 + 0.8660i-0.5000 - 0.8660ip =-1.5437-0.2282 + 1.1151i-0.2282 - 1.1151ik =1(4)clear all ;close all ;clc;z=[-0.5000 + 0.8660i-0.5000 - 0.8660i ];p=[-1.5437-0.2282 + 1.1151i-0.2282 - 1.1151i ];k=1;[b,a]=zp2tf(z,p,k) %根据求出的零、极点和增益,使用zp2tf 还原出)(z H 分子和分母的系数运行结果b =0 1.0000 1.0000 1.0000a =1.00002.0001 2.0001 1.9999(5)clear all;close all;clc;b=[0 1 1 1]; %分子的系数数组a=[1 2 2 2]; %分母的系数数组[sos,g]=tf2sos(b,a) %使用tf2sos将系统函数分解成一系列二阶子系统的级联形式运行结果sos =0 1.0000 0 1.0000 1.5437 01.0000 1.0000 1.0000 1.0000 0.4563 1.2956g =1(6)clear all;close all;clc;sos=[ 0 1.0000 0 1.0000 1.5437 0;1.0000 1.0000 1.0000 1.0000 0.4563 1.2956];g=1;[b,a]=sos2tf(sos,g) %根据求出的一系列二阶子系统,自学使用sos2tf还原出(zH分子和分母的系数)运行结果b =0 1 1 1a =1.00002.0000 2.0000 2.0000(7)clear all;close all;clc;b=[0 1 1 1]; %分子的系数数组a=[1 2 2 2]; %分母的系数数组n=(0:500)*pi/500; %在pi范围内取501个采样点[h,w]=freqz(b,a,n);%求系统的频率响应subplot(2,1,1),plot(n/pi,abs(h));grid %作系统的幅度频响图axis([0,1,1.1*min(abs(h)),1.1*max(abs(h))]);ylabel('幅度');subplot(2,1,2),plot(n/pi,angle(h));grid %作系统的相位频响图axis([0,1,1.1*min(angle(h)),1.1*max(angle(h))]);ylabel('相位');xlabel('以pi为单位的频率');运行结果实验项目四根据零极点分布图估计系统的滤波特性。

零极点 调整 matlab

零极点 调整 matlab

零极点调整 matlab在Matlab中调整零极点的方法,可以通过使用控制系统工具箱(Control System Toolbox)中的函数来完成。

下面是一个简单的例子,展示如何创建一个传递函数,然后调整其零极点:matlab复制代码% 导入控制系统工具箱import control.matlab.*% 创建一个传递函数num = [1]; % 分子多项式系数den = [121]; % 分母多项式系数sys = tf(num, den); % 创建传递函数% 打印原始系统的零极点zp = tfreport(sys); % 打印零极点disp(zp.Zeros); % 显示零点disp(zp.Poles); % 显示极点% 调整系统的零极点new_zeros = [-2-3]; % 新的零点new_poles = [-4-5]; % 新的极点sys_new = tf(num, den, new_zeros, new_poles); % 创建新的传递函数% 打印调整后系统的零极点zp_new = tfreport(sys_new); % 打印新的零极点disp(zp_new.Zeros); % 显示新的零点disp(zp_new.Poles); % 显示新的极点在这个例子中,我们首先创建了一个传递函数sys,然后使用tfreport函数打印出其零极点。

然后,我们创建了一个新的传递函数sys_new,其零极点被调整为指定的值。

最后,我们再次使用tfreport函数打印出新的零极点。

注意:在调整零极点时,需要确保新的零极点是合理的,即它们不应该在复平面的无穷远处,也不应该在实数轴上。

sys在matlab中的用法

sys在matlab中的用法

sys在matlab中的用法一、sys的定义与作用介绍sys是matlab中用于表示线性时不变系统的数据类型,也是控制系统工具箱中常用的数据类型。

sys可以表示各种线性时不变系统,包括连续时间系统和离散时间系统。

sys在控制工程领域有着广泛的应用,可以用来描述各种物理系统、电子电路、机械结构等等。

在matlab中,我们可以使用sys进行建模、仿真和控制器设计等操作。

二、sys的创建方法1. 通过传递系数矩阵创建在matlab中,我们可以通过传递系数矩阵来创建一个sys对象。

例如:```matlabnum = [1, 2]; % 分子多项式系数den = [1, 3, 2]; % 分母多项式系数sys = tf(num, den); % 创建一个连续时间系统```这里创建了一个分子多项式为s+2,分母多项式为s^2+3s+2的连续时间系统。

2. 通过传递状态空间矩阵创建除了传递系数矩阵外,我们还可以通过传递状态空间矩阵来创建一个sys对象。

例如:```matlabA = [-1, -2; 0, -3]; % 系统矩阵AB = [1; 0]; % 输入矩阵BC = [0, 1]; % 输出矩阵CD = 0; % 直接通道增益Dsys = ss(A, B, C, D); % 创建一个连续时间系统```这里创建了一个状态空间矩阵为[-1,-2;0,-3],输入矩阵为[1;0],输出矩阵为[0,1],直接通道增益为0的连续时间系统。

3. 通过传递零极点信息创建除了传递系数矩阵和状态空间矩阵外,我们还可以通过传递零极点信息来创建一个sys对象。

例如:```matlabz = [-2, -3]; % 零点向量p = [-1, -4]; % 极点向量k = 2; % 系统增益sys = zpk(z, p, k); % 创建一个连续时间系统```这里创建了一个零点向量为[-2,-3],极点向量为[-1,-4],系统增益为2的连续时间系统。

matlab表示

matlab表示

信号与系统分析一、典型信号的matlab 表示表示连续信号,需定义自变量的范围和取样间隔,如t=0:0.01:3 1. 实指数信号 y=k*exp(a*t)2. 正弦信号 k*sin(w*t+phi) k*cos(w*t+phi)3. 复指数信号 y=k*exp((a+i*b)*t)实部real(y) 虚部imag(y) 模abs(y) 相角angle(y) 共轭conj(y) 4. 抽样信号 Sat=sinc(t/pi)5. 矩形脉冲信号 y=rectpuls(t,width)周期方波信号 y=square(2*pi*f*t,duty) %产生频率为fHZ ,占空比为duty%的方波 6. 三角脉冲信号非周期三角波y=tripuls(t,width,skew) %斜度 skew ,最大幅度出现在t=(width/2)*skew 周期三角波 y=sawtooth(t,width)7. 单位阶跃信号 function y=uCT(t) y=(t>=0)阶跃信号符号函数 Heaviside() y=sym(‘Heaviside(t)’) %调用时必须用sym 定义 冲激信号符号函数 Dirac()二、Matlab 的符号运算 1. 定义符号变量syms 变量名 syms xsym(‘变量名’) x=sym(‘x ’) sym(‘表达式’) sym(‘x+1’)2. 化简符号运算结果 simple 或simplify3. 绘制符号表达式图形 ezplot(y,[a,b])三、连续信号的运算微分和积分运算(用符号表达式来表示) 1. 微分运算Diff(function,’variable ’,n) % variable 为求导变量,n 为求导阶数 例:syms a x y y=sin(a*x^2); dy=diff(y ,’x ’) 2. 积分运算int(function, ’variable ’,a,b) %a 为积分下限,b 为积分上限 3. 信号的反折 fliplr(x) 4. 卷积计算1) 符号运算计算卷积(求解积分的方法) 例:)(*)()(t u e t u et y tTt --=syms T t taoxt1=exp(-t); xt2=exp(-t/T);xt_tao=subs(xt1,t,tao)*subs(xt2,t,t-tao);yt=int(xt_tao,tao,0,t); yt=simplify(yt);2) 数值计算法求卷积 conv( )y = dt*conv(e,h)例:求e(t) = u(t)-u(t-1)和h(t) = u(t)-u(t-1)的卷积 t0 = -2; t1 = 4; dt = 0.01; t = t0:dt:t1; e = u(t)-u(t-1); h = u(t)-u(t-1);y = dt*conv(e,h); % Compute the convolution of x(t) and h(t) subplot(221)plot(t,e), grid on, title('Signal e(t)'), axis([t0,t1,-0.2,1.2]) subplot(222)plot(t,h), grid on, title('Signal h(t)'), axis([t0,t1,-0.2,1.2]) subplot(212)t = 2*t0:dt:2*t1; % the time range to the convolution of e and h.plot(t,y), grid on, title('The convolution of x(t) and h(t)'), axis([2*t0,2*t1,-0.1,1.2]), xlabel('Time t sec')四、连续LTI 系统的时域分析1. 系统响应的符号求解 dsolve(‘eq1,eq2,…’,’cond1,cond2,…’); %eqi 表示微分方程,condi 表示初始条件 例:eq=’D3y+2*D2y+Dy=0’;cond=’y(0)=1,Dy(0)=1,D2y(0)=2’; yzi=dsolve(eq,cond); %零输入响应 simplify(yzi);eq1=’D3y+4*D2y+8*Dy=3*Dx+8*x ’; eq2=’x=Heaviside(t)’;cond=’y(-0.01)=0,Dy(-0.01)= 0,D2y(-0.01)=0’; yzs=dsolve(eq1,eq2,cond);simplify(yzs.y); %零状态响应2. 零状态响应的数值求解1)y=lsim(sys,f,t)%sys 表示系统模型,由sys=tf(b,a)生成的系统函数对象 %f 输入信号向量,t 时间抽样点向量例:)()sin()(),()()()('''t u t t f t f t y t y t y π210665==++ ts=0;te=5;dt=0.01; sys=tf([6],[1,5,6]); t=ts:dt:te;f=10*sin(2*pi*t).*UT(t);y=lsim(sys,f,t);plot(t,y),grid on;xlabel(‘time ’),ylabel(‘y(t)’); title(‘零状态响应’); 2)y=conv(f,impul)3. 连续系统冲激响应 y=impulse(sys,t) %sys 表示系统模型4. 连续系统阶跃响应 y=step(sys,t)五、信号的频域分析 1.傅立叶变换 1)符号运算求法 fourier( )和ifourier( )例:)()(t u e t f t 2-=的傅立叶变换ft=sym(‘exp(-2*t)*Heaviside(t)’); fw=fourier(ft)ezplot(abs(fw)); %或者fw_conj=conj(fw);Gw=sqrt(fw*fw_conj); phase=atan(image(fw)/real(fw));%或者angle(fw) ezplot(phase)211Ω+=Ω)(j F 的傅立叶反变换syms tfw=sym(‘1/(1+w^2’); ft=ifourier(fw,t) 2)数值计算求法[][][]Nk k N en f k F k TN M n j TM TN k ≤≤∆=∆∆=-⨯-∆--⨯-⨯02111111,)()()()()()(πωω例:求)(t G 82的傅立叶变换 1)数值计算dt=0.01; t=-4:dt:4;ft=(t+4)/2.*uCT(t+4)-t.*uCT(t)+(t-4)/2.*uCT(t-4); N=2000; k=-N:N;W=pi*k/(N*dt);F=dt*ft*exp(-j*t'*W); F=abs(F); plot(W,F),grid on; axis([-pi pi -1 9]);title('amplitude spectrum'); 2)符号计算ft=sym('(t+4)/2*Heaviside(t+4)-t*Heaviside(t)+(t-4)/2*Heaviside(t-4)'); Fw=simplify(fourier(ft));ezplot(abs(Fw),[-pi pi]);grid on;2. 系统的频率特性1) [H,w] = freqs(b,a):连续系统频率响应的函数2) 波特图:采用对数坐标的幅频特性和相频特性曲线,可显示频响间的微小差异 bode(sys)例:求11+=s s H )(的频率特性w=0:0.01:8*pi; b=[1]; a=[1 1]; H=freqs(b,a,w); subplot(211); plot(w,abs(H)); subplot(212); plot(w,angle(H)); figure(2); sys=tf(b,a); bode(sys);3. 连续时间LTI 系统的频域分析 例:551+Ω=Ω--=j j H t u t u t x )(),()()(,求系统的响应。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

>> num=[1 2 1]; >> den=[1 5 3 8 9]; >> t=0.2; >> G1=tf(num,den) %没有采样时间 t,则显示为传递函数,自变量为 s
Transfer function: s^2 + 2 s + 1
----------------------------s^4 + 5 s^3 + 3 s^2 + 8 s + 9
-1
-1.5
超调量由ζ求出。
-2
-2.5
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
Real Axis
0
Mp e/ 12
化传递函数为零极点形式
Transfer function: z^2 + 2 z + 1
----------------------------z^4 + 5 z^3 + 3 z^2 + 8 z + 9
>> Gp=parallel(G1,G2) 或>> Gp=G1+G2 %并联
Transfer function: s^5 + 13 s^4 + 57 s^3 + 112 s^2 + 101 s + 34 --------------------------------------------
s^5 + 7 s^4 + 19 s^3 + 25 s^2 + 16 s + 4
• s^4 + 3 s^3 + 8 s^2 + 4 s + 2

• >> G1=zpk(G);
• >> z=G1.z;
• >> p=G1.p;
• >> Z=z{:};
• >> P=p{:};
• >> k=G1.k;
• >> pzmap(G);
• >> pzmap(G1);
• >> grid on
将传递函数化为零极点增益模型 并绘制零极点图
连续转化为离散(系统,采样时间,’ 方法‘)
Transfer function: 0.3679 z + 0.2642
---------------------z^2 - 1.368 z + 0.3679
Sampling time: 1
谢谢观赏
17
,Sampling time: 0.2
>> num=[1 2 1]; >> den=[1 5 3 8 9]; >> t=0.2; >> G2=tf(num,den,t) %有采样时间 t,则显示为脉冲传递函数,自变量为 z
Transfer function: z^2 + 2 z + 1
----------------------------z^4 + 5 z^3 + 3 z^2 + 8 z + 9
• Transfer function:

3 s^2 + 2 s + 8
• -----------------3 s^3 + 8 s^2 + 4 s + 2
• 将上式化为零极点增益模型,并绘制零极点图。
• >> num=[3 2 8]; • >> den=[1 3 8 4 2]; • >> G=tf(num,den)
显示零点 显示极点
>> pzmap(G1);%绘制零极点图 >> grid on %打开绘图网络
鼠标指向某零点或极点会显示该方 框。 极点、阻尼比ζ、超调量、固有频率 wn.
wn 1 2
ζwn
Imaginary Axis
wn
Pole-Zero Map 2.5
2
1.5
1
0.5
0
-0.5
ζ 由斜边和实部求出。
z= -1 -1
p= -4.6347 0.3174 + 1.3569i 0.3174 - 1.3569i -1.0000
k= 1
化零极点增益形式为传递函数 >> [num1,den1]=zp2tf(z,p,k) %化零极点增益形式为传递函数
num1 = 00121
den1 = 1.0000 5.0000 3.0000 8.0000 9.0000
用零阶保持器将连续系统离散化
G(s)
1
s(s 1)
零阶保持器:Gh
(s)
1
e sT s
求G( z) ?
G( z) Z[Gh (s) • G(s)]
>> num=[1]; >> den=conv([1 0],[1 1]); >> G=tf(num,den); >> G1=c2d(G,1,'zoh') %G1=c2d(sys,Ts,‘method’)
用MATLAB画零极点图.
1
将传递函数化为零极点增益模型 并绘制零极点图
• >> num=[3 2 8]; • >> den=[1 3 8 4 2]; • >> G=tf(num,den)
• Transfer function:

3 s^2 + 2 s + 8
• -----------------------------
Transfer function: 3 s^2 + 2 s + 8
----------------------------s^4 + 3 s^3 + 8 s^2 + 4 s + 2
求传递函数。命令后无“;”则屏 幕立即显示,否则不显示。
• >> G1=zpk(G);%化为零极点增益形式 • >> z=G1.z;%将G1零点存入z • >> p=G1.p; %将G1极点点存入p • >> k=G1.k;%将G1增益存入k
系统的串、并联的传递函数

2 s^2 + 6 s + 5
• G1= ---------------------

s^3 + 4 s^2 + 5 s + 2

s^2 + 7 s + 12
• G2= --------------

s^2 + 3 s + 2
• 分别求G1、G2串、并联后的传递函数。
>> num1=[2 6 5]; >> den1=[1 4 5 2]; >> G1=tf(num1,den1);
>> num2=[1 7 12]; >> den2=[1 3 2]; >> G2=tf(num2,den2);
>> G=series(G1,G2) 或 >> G=G1*G2 %串联
Transfer function: 2 s^4 + 20 s^3 + 71 s^2 + 107 s + 60
---------------------------------------s^5 + 7 s^4 + 19 s^3 + 25 s^2 + 16 s + 4
Sampling time: 0.2
>> G22=zpk(G2) %求离散系统G2零极点
Zero/pole/gain: (z+1)^2
---------------------------------------(z+4.635) (z+1) (z^2 - 0.6347z + 1.942) Sampling time: 0.2
>> G11=zpk(G1) %求连续系统G1零极点
Zero/pole/gain: (s+1)^2
---------------------------------------(s+4.635) (s+1) (s^2 - 0.6347s + 1.942)
• >> num=[1 2 1]; • >> den=[1 5 3 8 9]; • >> [z,p,k]=tf2zp(num,den)%化传递函数为零极点增益形式
%下面语句也可获得零极点。 >> [z,p,k]=tf2zp(num,den)
>> Z=z{:}
Z=
-0.3333 + 1.5986i -0.3333 - 1.5986i
>> P=p{:}
P=
-1.2496 + 2.2082i -1.2496 - 2.2082i -0.2504 + 0.4980i -0.2504 - 0.4980i
相关文档
最新文档