用MATLAB分析闭环系统的频率特性资料讲解

用MATLAB分析闭环系统的频率特性资料讲解
用MATLAB分析闭环系统的频率特性资料讲解

用MATLAB 分析闭环系统的频率特性

1、等M 圆图与等N 圆图原理

1.1设有单位系统如图1示。其闭环频率特性G B (j )与开环频率特性G K (j )的关系为 )(j G 1)(j G )(j X )(j X )(j G K K i 0B ωωωωω+== (1)

图 1

可将其开环频率特性G K (j )写成

G K (j )=U ( )+jV( ) (2) 则闭环频率特性为

)(j B )e M(jV

U 1jV U )G (j 1)G (j )(j G ωαωωωω=+++=+= (3) 式中 M( )——闭环的幅频特性

( )——闭环的相频特性

闭环的幅频特性为

2

12222V )U (1V U |jV U 1||jV U |M ??????++++++= (4) 所以 222

22

V U)(1V U M +++= (5) 则有 2

22

2222

1)-(M M V )1-M M (U =++ (6) 显然,式(6)是一个元的方程,他表明了开环的实频U 、虚频V 和闭环的幅频M 之间

的的关系,该圆方程的圆心坐标为(1M M 22--,j0),半径为|1

-M M |2。当M 取不同的值时,便可以得到一簇圆,如图1,该图称为等M 圆图(邮称为等幅值轨迹图)。 有闭环的相频特性为

)V

U U V (tg )U 1V (tg )U V (tg )jV U 1jV U (221-1-1-++=+=+++∠=-α (7) G K (j )

X i (j )

X 0(j )

令2

2V U U V tg N ++==α,上式可改为 2

2224N 1N )2N 1(V )21(U +=+++ (8) 可见式(8)也是一个圆方程,他表明了U 、V 与N 之间的关系。该圆方程的圆心坐标为

[例]求开环频率特性为1)

1)(0.2j (0.05j j 3)(j G k ++=

ωωωω的单位反馈系统的闭环频率特性。 2、用MATLAB 解决闭环系统频率特性 <以G(s)=10/s(s+1)(s^2/4+1)为例

这种传递函数是零极点描述形式,因而要使用sys=zpk(z,p,k)的命令形式 其中,z 为传递函数的零点向量[z1,z2,z3,...],描述形式为(s-z1)(s-z2)...

p 为传递函数的极点向量,k 为增益,因而在该例中,应首先化为标准形式,即 G(s)=40/s(s+1)(s+2i)(s-2i),于是有(在命令行输入)

k=40;z=[];p=[0 -1 -2i 2i];

sys=zpk(z,p,k);就得到了传递函数>

例题的开环传递函数为 )5)(20(300)(++=s s s s G 用MA TLAB 编程和运行结果如下:

%MATLAB PROGRAM

%Create system model

sys=zpk([],[0 -20 -5],300);

sysclose=feedback(sys,1);

%Get frequency response of the system

w=logspace(-1,2);

bode(sysclose,w)

[mag,phase,W]=bode(sysclose,w);

[l,c]=size(mag);

mag1=zeros(c,1);

for i=1:c

mag1(i)=20*log10(mag(1,1,i));

end

%显示系统闭环的幅值穿越频率

disp('crossover frequency:');

Wc=interp1(mag1,W,0,'spline')

%显示谐振频率

disp('Resonance frequency:');

[mag2,i]=max(mag1);

Wr=W(i)

%显示谐振峰值

disp('Resonance magnitude:')

Magmax=mag2

%显示-3dB 截止频率

disp('-3dB frequency:');

W_3db=interp1(mag1,W,-3,'spline')

[l,c]=size(phase);

pha1=zeros(c,1);

for i=1:c

pha1(i)=phase(1,1,i);

end

%显示-90度截止频率

disp('-90 phase frequency:');

W_90=interp1(pha1,W,-90,'spline')

运行结果:

>> crossover frequency:

Wc =

0.1763

Resonance frequency:

Wr =

利用matlab进行系统分析基础

实验一利用matlab进行系统分析基础1.描述线性系统的三种不同方式之间的转换

问题1 已知系统的传递函数为 将其转换为零极点型。 相应的matlab语句为: num=[2 10]; den=[1 8 19 12]; printsys(num,den,’s’) 回车 [z,p,k]=tf2zp(num,den) 回车 察看语句的执行结果,并说明最后一行程序执行结果的含义;问题2 已知传递函数同上,试将其转换为状态变量型。Matlab语句为: Num=[2 10]; den=[1 8 19 12]; [a,b,c,d]=tf2ss(num,den) 回车

对应的状态方程为 式中A,B,C,D对应于程序中的a,b,c,d。

问题3 已知系统的零极点型传递函数为,试将其转换为传递函数型。Matlab语句: z=-1;p=[-2 –3 –4 ]; k=5; (回车) [num, den]=zp2tf(-1, [-2 –3 –4 ],2) (回车) %观察显示结果 继续输入: printsys(num,den,’s’) (回车) 记录显示结果。 2.卷积计算 原理: 两个信号卷积公式:

对于两个不规则波形的卷积,依靠手算是很困难的,在Matlab种则变得十分简单。 例如已知两个信号 其中分别表示两个门函数。 求其卷积的matlab程序如下: t1=1:0.01:2; f1=ones(size(t1)).*(t1>1);(表示一个高度为1的门函数,时间从t=1到 t=2) t2=2:0.01:3; f2=ones(size(t2)).*(t2>2); (表示一个高度为1的门函数,时间从t=2到t=3) c=conv(f1,f2);(卷积) t3=3:0.01:5; subplot(3,1,1),plot(t1,f1); subplot(3,1,2),plot(t2,f2); subplot(3,1,3),plot(t3,c); 其结果如图所示 问题1 已知两个信号 试利用matlab计算卷积 (要求显示出波形图) 3.傅立叶变换

用MATLAB实现线性系统的频域分析报告

实验二用MATLA实现线性系统的频域分析 [ 实验目的] 1 .掌握MATLAE平台下绘制典型环节及系统开环传递函数的Bode图和Nyquist图(极坐标图)绘制 方法; 2.掌握利用Bode图和Nyquist图对系统性能进行分析的理论和方法。 [ 实验指导] 一、绘制Bode图和Nyquist图 1.Bode图绘制 采用bode() 函数,调用格式: ①bode(sys) ; bode(num,den); 系统自动地选择一个合适的频率围。 ②bode(sys , w); 其中w(即3)是需要人工给出频率围,一般由语句w=logspace(a,b,n)给出。logspace(a,b,n):表示在10a到10b之间的n个点,得到对数等分的w值。 ③bode(sys,{wmin,wmax}); 其中{wmi n,wmax}是在命令中直接给定的频率w的区间。 以上这两种格式可直接画出规化的图形。 ④[mag,phase, 3 ]=bode(sys)或[m,p]=bode(sys) 这种格式只计算Bode图的幅值向量和相位向量,不画出图形。 m为频率特性G(j 3 )的幅值向量; p 为频率特性G(j 3 ) 的幅角向量,单位为角度(°)。 w为频率向量,单位为[弧度]/秒。在此基础上再画图,可用: subplot(211);semilogx(w,20*log10(m) % 对数幅频曲线subplot(212);semilogx(w,p) % 对数相频曲线 ⑤bode(sys1,sys2 ,…,sys N); ⑥bode((sys1,sys2 ,…,sys N, w); 这两种格式可在一个图形窗口同时绘多个系统的bode图。 2.Nyquist 曲线的绘制

利用MATLAB进行时域分析

自动控制原理与系统课程实验报告 实验题目:利用MATLAB进行时域分析 班级:机电1131班姓名:刘润学号:38号 一、实验目的及内容 时域分析法是一种直接在时间域中对系统进行分析的方法,具有直观、准确的优点,并且可以提供系统时间响应的全部信息。在此实验中,主要介绍时域法进行系统分析,包括一阶系统、二阶系统以及高阶系统,以及系统的性能指标。通过实验,能够快速掌握、并利用MATLAB及控制系统箱对各种复杂控制系统进行时域分析。 二、实验设备 三、实验原理 典型的二阶系统在不同的阻尼比的情况下,它们的阶跃响应输出特性的差异是很大的。若阻尼比过小,则系统的振荡加剧,超调量大幅度增加;若阻尼比过大,则系统的响应过慢,又大大增加了调整时间,下面通过此实验课题分析输出响应变化规律: 已知二阶振荡环节的传递函数为:G(s)=ωn*ωn/(s*s+2*ζ*ωn*s+ωn*ωn), 其中ωn=0.4,ζ从0变化到2,求此系统的单位阶跃响应曲线,并分析当ζ发生变化时,二阶系统的响应有什么样的变化规律。

四、实验步骤编出程序如下图: 五、实验结果画出图表如下图:

六、结果分析 (1)当ξ=0(无阻尼)(零阻尼)时: 无阻尼时的阶跃响应为等幅振荡曲线。如图ξ=0曲线。 (2)当0<ξ<1(欠阻尼)时: 对应不同的ξ,可画出一系列阻尼振荡曲线,且ξ越小,振荡的最大振幅愈大。如图ξ=0.4曲线。 (3)当ξ=1(临界阻尼)时: 临界阻尼时的阶跃响应为单调上升曲线。如图ξ=1曲线。 (4)当ξ>1(过阻尼)时: 过阻尼时的阶跃响应也为单调上升曲线。不过其上升的斜率较临界阻尼更慢。如图ξ=1.6曲线 七、教师评语

matlab实验四 系统的零极点分析

实验四连续时间系统复频域分析和离散时间系统z域分析 一.实验目的: 1.掌握连续信号拉氏变换和拉氏反变换的基本实现方法。 2.熟悉laplace函数求拉普拉斯变换,ilaplace函数求拉氏反变换 的使用。 3.掌握用ztrans函数,iztrans函数求离散时间信号z变换和逆z 变换的基本实现方法。 4.掌握用freqs函数,freqz函数由连续时间系统和离散时间系统 系统函数求频率响应。 5.掌握zplane零极点绘图函数的使用并了解使用零极点图判断系 统稳定性的原理。 二、实验原理: 1.拉氏变换和逆变换 原函数()() ?象函数 f t F s 记作:[()]() =→拉氏变换 L f t F s 1[()]() -=→拉氏反变换 L F s f t 涉及函数:laplace,ilapace. 例如:

syms t;laplace(cos(2*t)) 结果为:ans =s/(s^2+4) syms s;ilaplace(1./(s+1)) 结果为:ans = exp(-t) 2. 系统传递函数H(s)或H(z)。 12121212...()()()...m m m n n n b s b s b B s H s A s a s a s a ----+++==+++ 112112...()()()...m m m n n n b z b z b B z H z A z a z a z a --+--++++==+++ 其中,B 为分子多项式系数,A 为分母多项式系数。 涉及函数:freqz,freqs. 3. 系统零极点分布与稳定性的判定。 对于连续时间系统,系统极点位于s 域左半平面,系统稳定。 对于离散时间系统,系统极点位于z 域单位圆内部,系统稳定。 涉及函数:zplane. 三、 实验内容 1. 验证性实验 a) 系统零极点的求解和作图

利用matlab分析系统动态性能

利用matlab分析系统动态性能

控制系统的时域分析 一.系统阶跃响应的性能指标 表 1 系统性能指标 利用 matlab 程序求出各系统阶跃响应的性能指标及图像,如求原系统 1 的方程: num=1.05; den=conv([0.125,1],conv([0.5,1],[1,1,1])); G=tf(num,den); C=dcgain(G); [y,t]=step(G); plot(t,y) grid [Y,K]=max(y); tp=t(K) mp=100*(Y-C)/C n=1; while y(n)0.98*C)&&(y(i)<1.02*C) i=i-1; end ts=t(i)

图 1 系统 1 阶跃响应曲线图二.根据系统性能指标及图像分析系统 1.利用 Matlab 得各系统节约系统曲线,如图 2:num1=1.05; den1=conv([0.125,1],conv([0.5,1],[1,1,1])); G1=tf(num1,den1); [y1,t1]=step(G1); num2=1.05*[0.4762,1]; den2=conv([0.125,1],conv([0.5,1],[1,1,1])); G2=tf(num2,den2); [y2,t2]=step(G2); num3=1.05*[1,1]; den3=conv([0.125,1],conv([0.5,1],[1,1,1])); G3=tf(num3,den3); [y3,t3]=step(G3); num4=1.05*[0.4762,1]; den4=conv([0.25,1],conv([0.5,1],[1,1,1])); G4=tf(num4,den4); [y4,t4]=step(G4); num5=1.05*[0.4762,1]; den5=conv([0.5,1],[1,1,1]); G5=tf(num5,den5); [y5,t5]=step(G5); num6=1.05; den6=[1,1,1]; G6=tf(num6,den6);

用Matlab计算潮流计算电力系统分析

《电力系统潮流上机》课程设计报告 院系:电气工程学院 班级:电088班 学号: 0812002221 学生姓名:刘东昇 指导教师:张新松 设计周数:两周 日期:2010年 12 月 25 日

一、课程设计的目的与要求 目的:培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识 要求:基本要求: 1.编写潮流计算程序; 2.在计算机上调试通过; 3.运行程序并计算出正确结果; 4.写出课程设计报告 二、设计步骤: 1.根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择Matlab进行设计)。 2.在给定的电力网络上画出等值电路图。 3.运用计算机进行潮流计算。 4.编写设计说明书。 三、设计原理 1.牛顿-拉夫逊原理 牛顿迭代法是取x0 之后,在这个基础上,找到比x0 更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0 的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为

额定电压,将初值带入功率平衡方程,得到功率不平衡量,这样由功率不平衡量、雅可比矩阵、节点电压不平衡量(未知的)构成了误差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。 牛顿—拉夫逊迭代法的一般步骤: (1)形成各节点导纳矩阵Y。 (2)设个节点电压的初始值U和相角初始值e 还有迭代次数初值为0。 (3)计算各个节点的功率不平衡量。 (4)根据收敛条件判断是否满足,若不满足则向下进行。 (5)计算雅可比矩阵中的各元素。 (6)修正方程式个节点电压 (7)利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。 (8)计算平衡节点输出功率和各线路功率 2.网络节点的优化 1)静态地按最少出线支路数编号 这种方法由称为静态优化法。在编号以前。首先统计电力网络个节点的出线支路数,然后,按出线支路数有少到多的节点顺序编号。当由n 个节点的出线支路相同时,则可以按任意次序对这n 个节点进行编号。这种编号方法的根据是导纳矩阵中,出线支路数最少的节点所对应的行中非零元素也2)动态地按增加出线支路数最少编号在上述的方法中,各节点的出线支路数是按原始网络统计出来的,在编号过程中认为固定不变的,事实上,在节点消去过程中,每消去一个节点以后,与该节点相连的各节点的出线支路数将发生变化(增加,减少或保持不变)。因此,如果每消去一个节点后,立即修正尚未编号节点的出线支路数,然后选其中支路数最少的一个节点进行编号,就可以预期得到更好的效果,动态按最少出线支路数编号方法的特点就是按出线最少原则编号时考虑了消去过程中各节点出线支路数目的变动情况。 3.MATLAB编程应用 Matlab 是“Matrix Laboratory”的缩写,主要包括:一般数值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。由于使用Matlab 编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。 四、设计内容

利用MATLAB软件分析系统的频率响应

备注:(1)、按照要求独立完成实验项目内容,报告中要有程序代码和程序运行结果和波形图等原始截图。 (2)、实验结束后,把电子版实验报告按要求格式改名(例:09号-张三-实验一)后,上传至指定ftp服务器目录下(homework_upload)的相应文件里,并由实验教师批阅记录后; 实验室统一刻盘留档。 ftp:59.74.50.66 账号:microele 密码:ele1507 实验七利用MATLAB软件分析系统的频率响应 一、实验目的: 1、利用MATLAB求解系统的频率响应。 二、实验原理 MATLAB提供了函数freqs来计算系统的频率响应。 三、实验内容:(包括代码与产生的图形) 6-16 w=linspace(0,5,200); b=[1]; a=[1 2 2 1]; H=freqs(b,a,w); subplot(2,1,1); plot(w,abs(H)); set(gca,'xtick',[0 1 2 3 4 5]); set(gca,'ytick',[0 0.4 0.7071]);grid; xlabel('\omega') subplot(2,1,2); plot(w,angle(H)); set(gca,'xtick',[0 1 2 3 4 5]);grid; xlabel('\omega');

012345 00.4 0.7071 ω 012345 -4-2 24 ω 6-17 RC=0.04; t=linspace(-2,2,1024); w1=5;w2=100; H1=j*w1/(j*w1+1/RC); H2=j*w2/(j*w2+1/RC); f=cos(5*t)+cos(100*t); y=abs(H1)*cos(w1*t+angle(H1))+abs(H2)*cos(w2*t+angle(H2)); subplot(2,1,1); plot(t,f); subplot(2,1,2); plot(t,y);

利用MATLAB仿真软件系统进行图像的数据分析

课程设计任务书 学生姓名:叶枫专业班级:通信zy1201班指导教师:姜宁工作单位:信息工程学院 题目: 利用MATLAB仿真软件系统进行图像的数据分析初始条件: 1.MATLAB软件。 2.数字信号处理与图像处理基础知识。 要求完成的主要任务: 读取图像并求出图像的最大值、最小值、均值、中值、和、标准差、两图像的协方差、相关系数等。 课程设计的目的: 1.理论目的 课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。 2.实践目的 课程设计的目的之二是通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (3) Abstract (4) 1.Matlab及课程设计所用函数简介 (5) 1.1Matlab简介 (5) 1.2课程设计所用函数简介 (6) 2.数据采集 (9) 2.1 MATLAB的读取方法 (9) 3图像数据统计处理 (13) 3.1 图像数据处理原理 (13) 3.2各像素点中最大值的获取 (14) 3.3各像素点中最小值的获取 (14) 3.4各像素点值的均值的获取 (15) 3.5各像素点值的中值的获取 (16) 3.6各像素点值的和的获取 (17) 3.7各像素点值的标准差的获取 (18) 3.8各像素点值的方差的获取 (19) 3.9两图中各像素点值的协方差的获取 (20) 3.10两图的相对系数的获取 (20) 4.心得体会 (22) 参考文献 (23)

摘要 MATLAB软件是矩阵实验室的简称,是美国MathWorks公司出品的商业数学软件,可用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,广泛用于数字信号分析,系统识别,时序分析与建模,神经网络、动态仿真等方面有着广泛的应用。 MATLAB因具有强大的图形处理功能、符号运算功能和数值计算功能,而被广泛应用。而且随着信息时代和数字世界的到来,数字信号处理也已成为当今一门极其重要的学科和技术领域。目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。 本次课程设计利用MATLAB软件进行图像的数据分析,包括读取图像并求出图像的最大值、最小值、均值、中值、和、标准差、两图像的协方差、相关系数等。 关键词:MATLAB,数字信号处理,图像数据分析

MATLAB经典控制系统的分析和设计

9.3.1 基本操作及命令 1. 访问和退出MATLAB 在大多数系统中,一旦安装了MATLAB,在调用时,应执行命令MATLAB。退出MATLAB应执行命令exit或quit。 2. 如何应用MATLAB 通常以命令驱动方式应用MATLAB。当输入单个命令时,MATLAB会立即对其进行处理,并且显示处理结果。MATLAB 也能够执行存储在文件中的命令序列。 通过键盘输入的命令,应用向上箭头键可以被存取。通过输入某个最新命令和调用特定的命令行,可以使屏幕内容向上滚动。 3. MATLAB的变量 MATLAB的一个特点是变量在应用之前不必是维数确定的。在MATLAB中,变量一旦被采用,会自动产生(如果必要,变量的维数以后还可以改变)。在命令exit或quit输入之前,这些变量将保留在存储器中。 为了得到工作空间内的变量清单,可以通过键盘输入命令who,当前存放在工作空间内的所有变量便会显示在屏幕上。 命令clear能从工作空间中清除所有非永久性变量。如果只需要从工作空间中清除某个特定变量,比如“x”,则应输入命令clear x。 4. 以“%”开始的程序行 在本书中,许多MATLAB程序在编写时附有注解和说明,这些注解和说明阐明了发生在程序中的具体进程。在MATLAB 中以“%”开始的程序行,表示注解和说明。符号“%”类似于BASIC中“REM”。以“%”开始的行,用来存储程序的注解或说明,这些注解和说明是不执行的。这就是说,在MATLAB程序行中,出现在“%”以后的一切内容都是可以忽略的。如果注解或说明需要一行以上程序行,则每一行均需以“%”为起始。 5. 应用分号操作符 分号用来取消打印。如果语句的最后一个符号是分号,则打印被取消,但是命令仍在执行,而结果不再显示。这是一个有益的特性,因为打印中间结果可能不必要。此外,在输入矩阵时,除非最后一行,分号用来指示一行的结束。 6. 应用冒号操作符

MATLAB分析系统稳定性的方法

Matlab在控制系统稳定性判定中的应用 稳定是控制系统的重要性能,也是系统能够工作的首要条件,因此,如何分析系统的稳定性并找出保证系统稳定的措施,便成为自动控制理论的一个基本任务.线性系统的稳定性取决于系统本身的结构和参数,而与输入无关.线性系统稳定的条件是其特征根均具有负实部. 在实际工程系统中,为避开对特征方程的直接求解,就只好讨论特征根的分布,即看其是否全部具有负实部,并以此来判别系统的稳定性,由此形成了一系列稳定性判据,其中最重要的一个判据就是劳斯判据。劳斯判据给出线性系统稳定的充要条件是:系统特征方程式不缺项,且所有系数均为正,劳斯阵列中第一列所有元素均为正号,构造劳斯表比用求根判断稳定性的方法简单许多,而且这些方法都已经过了数学上的证明,是完全有理论根据的,是实用性非常好的方法. 具体方法及举例: 一用系统特征方程的根判别系统稳定性 设系统特征方程为s5+s4+2s3+2s2+3s+5=0,计算特征根并判别该系统的稳定性。在command window窗口输入下列程序,记录输出结果。 >> p=[1 1 2 2 3 5]; >> roots(p) 二用根轨迹法判别系统稳定性:对给定的系统的开环传递函数 1.某系统的开环传递函数为,在command window窗口输入程序,记录系统闭环零极点图及零极点数据,判断该闭环系统是否稳定。 >> clear >> n1=[0.25 1]; >> d1=[0.5 1 0]; >> s1=tf(n1,d1); >> sys=feedback(s1,1); >> P=sys.den{1};p=roots(P) >> pzmap(sys) >> [p,z]=pzmap(sys)

实验1 利用matlab进行系统的时域分析

实验1 利用matlab进行系统的时域分析 一.实验目的: 1.了解离散时间序列卷积和的matlab实现; 2.利用卷积和求解系统的零状态响应; 二.实验原理: 1.连续时间系统零状态响应的求解 连续时间LTI系统以常系数微分方程描述,系统的零状态响应可通过求解初始状态为零的微分方程得到。在MATLAB中,控制系统工具箱提供了一个用于求解零初始状态微分方程数值解的函数lsim。其调用方式为 y= lsim( sys,x,t) 式中t表示计算系统响应的抽样点向量,x是系统输入信号向量,sys是连续时间LTI系统模型,用来表示微分方程、差分方程、状态方程。在求解微分方程时,微分方程的连续时间LTI系统模型sys要借助tf函数获得,其调用方式为 sys= tf(b,a) 式中b和a分别为微分方程右端和左端各项的系数向量。例如对3阶微分方程 +++=+++ 可用 a=[ a3, a2, a1, a0];b=[b3 ,b2, b1,b0]; sys=tf( b,a) 获得连续时间LTI模型。注意微分方程中为零的系数一定要写入向量a和b中。 【例2-1】描述某力学系统中物体位移y(t)与外力f(t)的关系为 ++y(t)=x(t) 物体质量m=l kg,弹簧的弹性系数ks= 100 N/m,物体与地面的摩擦系数fd=2 N·s/m,系统的初始储能为零,若外力x(t)是振幅为10、周期为1的正弦信号,求物体的位移y(t)。 解:由已知条件,系统的输入信号为x(t)=10sin(2πt),系统的微分方程为 ++100y(t)=x(t) 计算物体位移y(t)的MATLAB程序如下: %program2_1微分方程求解 ts=0;te=5;dt=0.01; sys=tf([1],[1 2 100]); t=ts:dt:te; x=10*sin(2*pi*t); y=lsim(sys,x,t); plot(t,y); xlabel('Time(sec)') ylabel('y(t)')

利用matlab分析系统动态性能

控制系统的时域分析 一.系统阶跃响应的性能指标 利用matlab程序求出各系统阶跃响应的性能指标及图像,如求原系统1的方程: num=1.05; den=conv([0.125,1],conv([0.5,1],[1,1,1])); G=tf(num,den); C=dcgain(G); [y,t]=step(G); plot(t,y) grid [Y,K]=max(y); tp=t(K) mp=100*(Y-C)/C n=1; while y(n)

end tr=t(n) i=length(t); while(y(i)>0.98*C)&&(y(i)<1.02*C) i=i-1; end ts=t(i) 图1 系统1阶跃响应曲线图二.根据系统性能指标及图像分析系统 1.利用Matlab得各系统节约系统曲线,如图2:num1=1.05; den1=conv([0.125,1],conv([0.5,1],[1,1,1])); G1=tf(num1,den1); [y1,t1]=step(G1); num2=1.05*[0.4762,1]; den2=conv([0.125,1],conv([0.5,1],[1,1,1])); G2=tf(num2,den2); [y2,t2]=step(G2); num3=1.05*[1,1]; den3=conv([0.125,1],conv([0.5,1],[1,1,1])); G3=tf(num3,den3); [y3,t3]=step(G3);

num4=1.05*[0.4762,1]; den4=conv([0.25,1],conv([0.5,1],[1,1,1])); G4=tf(num4,den4); [y4,t4]=step(G4); num5=1.05*[0.4762,1]; den5=conv([0.5,1],[1,1,1]); G5=tf(num5,den5); [y5,t5]=step(G5); num6=1.05; den6=[1,1,1]; G6=tf(num6,den6); [y6,t6]=step(G6); plot(t1,y1,t2,y2,t3,y3,t4,y4,t5,y5,t6,y6);grid;xlabel('lxs') 图2 2.如图3所示,系统加入零点后,阶跃响应的上升时间和调节时间均减小,起到了响应加速的作用;但造成原超调量增大,影响了系统的平稳性。

利用Matlab和SPSS实现主成分分析

§9. 利用Matlab 和SPSS 实现主成分分析 1.直接调用Matlab 软件实现 在软件Matlab 中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab 中自带程序实现。 通过直接调用Matlab 中的程序可以实现主成分分析: )(]2,var ,,[X princomp t iance score pc = 式中:X 为输入数据矩阵 ? ? ??? ???????=nm n n m m x x x x x x x x x X 2 1 22221 11211 (一般要求n>m ) 输出变量: ①pc 主分量f i 的系数,也叫因子系数;注意:pc T pc=单位阵 ②score 是主分量下的得分值;得分矩阵与数据矩阵X 的阶数是一致的; ③variance 是score 对应列的方差向量,即A 的特征值;容易计算方差所占的百分比 percent-v = 100*variance/sum(variance); ④t2表示检验的t2-统计量(方差分析要用) 计算过程中应用到计算模型:

ξ+????????????=??????????????m T p x x x A f f f 2121 (要求p

MATLAB分析系统稳定性的方法

Matlab在控制系统稳定性判定中的应 用 稳定是控制系统的重要性能,也是系统能够工作的首要条件,因此,如何分析系统的稳定性并找出保证系统稳定的措施,便成为自动控制理论的一个基本任务.线性系统的稳定性取决于系统本身的结构和参数,而与输入无关.线性系统稳定的条件是其特征根均具有负实部. 在实际工程系统中,为避开对特征方程的直接求解,就只好讨论特征根的分布,即看其是否全部具有负实部,并以此来判别系统的稳定性,由此形成了一系列稳定性判据,其中最重要的一个判据就是劳斯判据。劳斯判据给出线性系统稳定的充要条件是:系统特征方程式不缺项,且所有系数均为正,劳斯阵列中第一列所有元素均为正号,构造劳斯表比用求根判断稳定性的方法简单许多,而且这些方法都已经过了数学上的证明,是完全有理论根据的,是实用性非常好的方法.

具体方法及举例: 一用系统特征方程的根判别系统稳定 性 设系统特征方程为 s5+s4+2s3+2s2+3s+5=0,计算特征根并判别该系统的稳定性。在command window窗口输入下列程序,记录输出结果。 >> p=[1 1 2 2 3 5]; >> roots(p) 二用根轨迹法判别系统稳定性:对给定的系统的开环传递函数 1.某系统的开环传递函数为,在command window窗口输入程序,记录系统闭环零极点图及零极点数据,判断该闭环系统是否稳定。 >> clear >> n1=[ 1];

>> d1=[ 1 0]; >> s1=tf(n1,d1); >> sys=feedback(s1,1); >> P={1};p=roots(P) >> pzmap(sys) >> [p,z]=pzmap(sys) 2.某系统的开环传递函数为 ,在command window窗口输入程序,记录系统开环根轨迹图、系统开环增益及极点,确定系统稳定时K的取值范围。 >> clear >> n=[1];d=conv([1 1 0],[ 1]); >> sys=tf(n,d); >> rlocus(sys) >> [k,poles]=rlocfind(sys)

利用MATLAB软件分析系统的频率响应

实验七利用MATLAB软件分析系统的频率响应 一、实验目的 1、利用MATLAB求解系统的频率响应。 二、实验原理 MATLAB提供了函数freqs来计算系统的频率响应。 三、程序示例见课本P206~208 四、实验内容 1、熟悉并验证示例程序 2、完成课本P211 M6-2 (1)、(2);写实验报告(程序及波形)RC=0.04; w=linspace(0,5,200); b=[1/RC]; a=[1 1/RC]; H=freqs(b,a,w); plot(w,abs(H)); xlabel('\omega'); ylabel('abs(H(j\omega))');

00.51 1.52 2.53 3.54 4.55 0.980.985 0.99 0.995 1 1.005 ω a b s (H (j ω)) RC=0.08; w=linspace(0,5,200); b=[1/RC]; a=[1 1/RC]; H=freqs(b,a,w); plot(w,abs(H)); xlabel('\omega'); ylabel('abs(H(j\omega))');

00.51 1.52 2.53 3.54 4.55 0.920.93 0.94 0.95 0.96 0.97 0.98 0.99 1 ω a b s (H (j ω)) RC=2; w=linspace(0,5,200); b=[1/RC]; a=[1 1/RC]; H=freqs(b,a,w); plot(w,abs(H)); xlabel('\omega'); ylabel('abs(H(j\omega))');

基于MATLAB的数据采集与分析系统设计

基于MATLAB的数据采集和分析系统设计 摘要:利用数据采集卡构建的数据采集系统一般价格昂贵且难以和实际需求完全匹配。声卡作为数据采集卡具有价格低廉、开发容易和系统灵活等优点。本文详细介绍了系统的开发背景,软件结构和特点,系统地分析了数据采集硬件和软件设计技术,在此基础上以声卡为数据采集卡,以MATLAB为开发平台设计了数据采集和分析系统。 本文介绍了MA TLAB及其数据采集工具箱, 利用声卡的A/ D、D/ A 技术和MATLAB 的方便编程及可视化功能,提出了一种基于声卡的数据采集和分析方案,该方案具有实现简单、性价比和灵活度高的优点。用MA TLAB 语言编制了相应软件,实现了该系统。该软件有着简洁的人机交互工作界面,操作方便,并且可以根据用户的需求进行功能扩充。最后给出了使用该系统采集数据的使用实例。 关键词:声卡数据采集 MATLAB 信号处理 1绪论 1.1课题背景 数据也称观测值,是实验、测量、观察、调查等的结果,常以数量的形式给出。数据采集,又称数据获取,就是将系统需要管理的所有对象的原始数据收集、归类、整理、录入到系统当中去。数据采集是计算机管理系统使用前的一个数据初始化过程。数据采集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具。 数据采集(Data Acquisition)是将被测对象(外部世界、现场)的各种参量(可以是物理量,也可以是化学量、生物量等)通过各种传感元件作适当转换后,再经信号调理、采样、量化、编码、传输等步骤,最后送到控制器进行数据处理或存储记录的过程。 被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。采集一般是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。准确的数据测量是数据采集的基础。数据测量方法有接触式和非接触式,检测元件多种多样。不论哪种方法和元件,都以不影响被测对象状态和测量环境为前提,以保证数据的正确性。数据采集含义很广,包括对连续物理量的采集。在计算机辅助制图、测图、设计中,对图形或图像数字化过程也可称为数据采集,此时被采集的是几何量数据。 在智能仪器、信号处理以及工业自动控制等领域,都存在着数据的测量和控制问题,常常需要对外部的温度、压力、流量、位移等模拟量进行采集。数据采集技术是一种流行且实用的电子技术。它广泛使用于信号检测、信号处理、仪器仪表等领域。近年来,随着数字化技术的不断发展,数据采集技术也呈现出速度更高、通道更多、数据量更大的发展态势。 数据采集系统是一种使用极为广泛的模拟量测量设备,其基本任务是把信号送入计算机或相应的信号处理系统,根据不同的需要进行相应的计算和处理。它将模拟量采集、转换成数字量后,再经过计算机处理得出所需的数据。同时,还可以用计算机将得到的数据进行储存、显示和打印,以实现对某些物理量的监视,其中一部分数据还将被用作生产过程中的反馈控制量。 数据采集系统是计算机测控系统中非常重要的环节,目前,有各种数据采集卡或采集系统可供选择,以满足生产和科研试验等各方面的不同需要,但由于数据源以及用户需求的多样性,有时并不能满足要求。特别是在某些使用中,需要同时高速采集多个通道的数据,而且为了分析比较各通道信号间的相互关系,常常要求所有通道的采集必须同步。现有的数据采集系统能够满足上述要求的比较少,且价格十分昂贵,体积较大,分量较重,使用十分不方便。 一般模拟量是通过各种数据采集卡进行数据采集。目前常用的是具有ISA 总线、PCI

利用MATLAB分析离散系统

主讲人:陈后金电子信息工程学院

利用MATLAB分析离散信号与系统 X(z)部分分式展开的MATLAB实现 H(z)零极点与系统特性的MATLAB计算

[r ,p ,k ]=residuez (num,den) num 为X (z )分子多项式的系数向量den 为X (z )分母多项式的系数向量 X (z )部分分式展开的MATLAB 实现 120121********* 12num() ()den() 111m m n n n n b b z b z b z z X z a a z a z a z z r r r k p z p z p z ---------+++???+==+++???+=+++???+---离散信号的z 变换X (z )通常可用有理分式表示:

[例] 利用MATLAB 实现部分分式展开。num =[18];den =[183-4-1];[r,p,k]=residuez (num,den) 运行结果为: r =0.3600 , 0.2400 , 0.4000 p =0.5000,-0.3333,-0.3333k =[] 故X (z )可展开为:3 21431818 )(-----+=z z z z X 2 111)3333.01(4.03333.0124.05.0136.0)(---++++-=z z z z X MATLAB 程序为: x [k ]可表示为:[]0.36(0.5)0.24(0.3333)0.4(1)(0.3333)k k k x k k =+-++-

利用impz 函数计算H (z )的单位脉冲响应h [k ],调用形式为 h = impz (num, den, N) H (z )零极点分布图可用zplane 函数画出,调用形式为: zplane (num, den) num 和den 分别为H (z )分子多项式和分母多项式的系数向量。N 表示单位脉冲响应输出序列个数,返回值h 是单位脉冲响应。H (z )零极点与系统特性的MATLAB 计算 1201212012num() ()den() m m n n b b z b z b z z H z a a z a z a z z ------+++???+==+++???+离散系统的系统函数H (z )可由有理分式表示:

相关主题
相关文档
最新文档