自控原理 MATLAB系统的频域分析
- 格式:doc
- 大小:407.50 KB
- 文档页数:7
《自动控制原理》实验3.线性系统的频域分析实验三线性系统的频域分析一、实验目的1.掌握用MATLAB语句绘制各种频域曲线。
2.掌握控制系统的频域分析方法。
二、基础知识及MATLAB函数频域分析法是应用频域特性研究控制系统的一种经典方法。
它是通过研究系统对正弦信号下的稳态和动态响应特性来分析系统的。
采用这种方法可直观的表达出系统的频率特性,分析方法比较简单,物理概念明确。
1.频率曲线主要包括三种:Nyquist图、Bode图和Nichols图。
1)Nyquist图的绘制与分析MATLAB中绘制系统Nyquist图的函数调用格式为:nyquist(num,den) 频率响应w的范围由软件自动设定 nyquist(num,den,w) 频率响应w的范围由人工设定[Re,Im]= nyquist(num,den) 返回奈氏曲线的实部和虚部向量,不作图2s?6例4-1:已知系统的开环传递函数为G(s)?3,试绘制Nyquists?2s2?5s?2图,并判断系统的稳定性。
num=[2 6]; den=[1 2 5 2]; nyquist(num,den)极点的显示结果及绘制的Nyquist图如图4-1所示。
由于系统的开环右根数P=0,系统的Nyquist曲线没有逆时针包围(-1,j0)点,所以闭环系统稳定。
p =-0.7666 + 1.9227i -0.7666 - 1.9227i -0.4668图4-1 开环极点的显示结果及Nyquist图若上例要求绘制??(10?2,103)间的Nyquist图,则对应的MATLAB语句为:num=[2 6]; den=[1 2 5 2];w=logspace(-1,1,100); 即在10-1和101之间,产生100个等距离的点nyquist(num,den,w)2)Bode图的绘制与分析系统的Bode图又称为系统频率特性的对数坐标图。
Bode图有两张图,分别绘制开环频率特性的幅值和相位与角频率?的关系曲线,称为对数幅频特性曲线和对数相频特性曲线。
基于MATLAB的自动控制系统时域频域分析与仿真摘要自动控制系统就是在无人直接操作或干预的条件下,通过控制装置使控制对象自动的按照给定的规律运行,使被控量按照给定的规律去变化的系统。
在现代工业生产中,自动控制系统已经遍布每一个角落,对于线性时不变控制系统,可以通过时域、频域分析法来分析系统的性能,但是对于多输入多输出的控制系统,时域、频域分析已经无能为力,鉴于这样的控制系统,可以通过线性系统的状态空间分析法来分析。
本文针对自动控制系统的设计很大程度上还依赖于实际系统的反复实验,结合具体的实例,介绍了利用先进的MATLAB软件对自动控制系统进行时域、频域分析与仿真和线性系统状态空间分析的方法,通过快速直观的仿真和分析达到自动控制系统的优化。
关键词:MATLAB 自动控制系统时域频域状态空间ABSTRACTAutomatic control system makes object operate according to a certain law automatically to let the controlled quantity change by given law on the condition that nobody operate and control directly. Automatic control system exists every corner of the world in the modern industrialized production, which can analyze the performance of the system by time domain and frequency domain for the linear time-invariant control systems. However, to the system with multiple inputs and multiple outputs, the way to analyze through time domain and frequency domain can not do anything . Due to the control system, it can analyze through linear system state space. Due to this point that the design of automatic control system largely depends on repeated practice and modification, combined with the concrete example,this paper introduces the ways to analyze and simulate the time domain and frequency domain and linear system state space of automatic control system by advanced MATLAB,it can reach the optimal of automatic control system by direct and fast.Key words: MATLAB Automatic control system Time domain Frequency domain State space目录一绪论 (1)1.1 题目背景、研究意义 (1)1.2 国内外研究现状 (1)1.3 研究内容 (1)二自动控制系统基础 (2)2.1 自动控制系统的概述 (2)2.2 开环、闭环控制系统 (2)2.3 控制系统的性能要求 (3)三MATLAB基础介绍 (4)3.1 MATLAB简介 (4)3.2 Simulink简介 (4)3.3 Simulink仿真过程 (4)3.4 Simulink仿真实例 (5)四自动控制系统的时域分析 (7)4.1 时域分析简介 (7)4.2 动态过程与动态性能 (7)4.3 稳态过程与稳态性能 (7)4.4 控制系统的稳定性 (8)4.5 时域分析法的MATLAB实现 (8)4.5.1 控制系统的动态性能分析 (8)4.5.2 控制系统的稳态性能分析 (10)4.5.3 控制系统的稳定性分析 (11)五自动控制系统的频域分析 (13)5.1 频域分析法简介 (13)5.2 有关频率分析法的几个概念 (13)5.3 频率特性的性能指标 (13)5.4 频域分析法的MATLAB实现 (14)5.4.1 Bode图的绘制 (14)5.4.2 Bode图分析控制系统的稳定性 (15)六线性系统的状态空间分析 (18)6.1 状态空间模型 (18)6.2 状态反馈 (18)6.3 控制系统的可控性和可观性 (19)6.3.1 控制系统的可控性 (19)6.3.2 控制系统的可观性 (20)6.4 极点配置 (21)6.4.1 极点配置简介 (21)6.4.2 单输入单输出系统的极点配置 (21)七总结 (24)参考文献 (25)一绪论1.1题目背景、研究意义自动控制技术在航空航天、机器人控制、导弹制造及等高新技术领域中的应用越来越深入广泛,自动控制理论和技术必将进一步发挥更加重要的作用。
一、基于MATLAB 的线性系统的频域分析基本知识(1)频率特性函数)(ωj G 。
设线性系统传递函数为:nn n n m m m m a s a s a s a b s b s b s b s G ++⋅⋅⋅++++⋅⋅⋅++=---1101110)( 则频率特性函数为:nn n n m m m m a j a j a j a b j b j b j b jw G ++⋅⋅⋅++++⋅⋅⋅++=---)()()()()()()(1101110ωωωωωω 由下面的MATLAB 语句可直接求出G(jw)。
i=sqrt(-1) % 求取-1的平方根GW=polyval(num ,i*w)./polyval(den ,i*w)其中(num ,den )为系统的传递函数模型。
而w 为频率点构成的向量,点右除(./)运算符表示操作元素点对点的运算。
从数值运算的角度来看,上述算法在系统的极点附近精度不会很理想,甚至出现无穷大值,运算结果是一系列复数返回到变量GW 中。
(2)用MATLAB 作奈魁斯特图。
控制系统工具箱中提供了一个MATLAB 函数nyquist( ),该函数可以用来直接求解Nyquist 阵列或绘制奈氏图。
当命令中不包含左端返回变量时,nyquist ()函数仅在屏幕上产生奈氏图,命令调用格式为:nyquist(num,den)nyquist(num,den,w)或者nyquist(G) nyquist(G,w)该命令将画出下列开环系统传递函数的奈氏曲线: )()()(s den s num s G = 如果用户给出频率向量w,则w 包含了要分析的以弧度/秒表示的诸频率点。
在这些频率点上,将对系统的频率响应进行计算,若没有指定的w 向量,则该函数自动选择频率向量进行计算。
w 包含了用户要分析的以弧度/秒表示的诸频率点,MATLAB 会自动计算这些点的频率响应。
当命令中包含了左端的返回变量时,即:[re,im,w]=nyquist(G)或[re,im,w]=nyquist(G,w)函数运行后不在屏幕上产生图形,而是将计算结果返回到矩阵re 、im 和w 中。
自动控制原理实验(二)一、实验名称:基于MATLAB的控制系统频域及根轨迹分析二、实验目的:(1)、了解频率特性的测试原理及方法;(2)、理解如何用MATLAB对根轨迹和频率特性进行仿真和分析;(3)、掌握控制系统的根轨迹和频率特性两大分析和设计方法。
三、实验要求:(1)、观察给定传递函数的根轨迹图和频率特性曲线;(2)、分析同一传递函数形式,当K值不同时,系统闭环极点和单位阶跃响应的变化情况;(3)、K值的大小对系统的稳定性和稳态误差的影响;(4)、分析增加系统开环零点或极点对系统的根轨迹和性能的影响。
四、实验内容及步骤(1)、实验指导书:实验四(1)、“rlocus”命令来计算及绘制根轨迹。
会出根轨迹后,可以交互地使用“rlocfind”命令来确定点击鼠标所选择的根轨迹上任意点所对应的K值,K值所对应的所有闭环极点值也可以使用形如“[K, PCL] = rlocfind(G1)”命令来显示。
(2)、波特图:bode(G1, omga)另外,bode图还可以通过下列指令得出相位和裕角:[mag,phase,w] = bode(sys)(3)、奈奎斯特图:nuquist(G, omega)(2)课本:例4-1、4-2、4-7五实验报告要求(1)、实验指导书:实验四思考题请绘制下述传递函数的bode图和nyquist图。
1. 根据实验所测数据分别作出相应的幅频和相频特性曲线;2. 将思考题的解题过程(含源程序)写在实验报告中。
幅频特性曲线相频特性曲线Gs = zpk([10], [-5; -16; 9], 200)subplot(1, 2, 1)bode(Gs)gridsubplot(1, 2, 2)nyquist(Gs)grid(2)课本:例4-1、4-2、4-7图像结果:程序:Gs = zpk([-1], [0; -2; -3],1) rlocus(Gs)图像结果:程序:Gs = zpk([-2], [-1-j; -1+j],1) rlocus(Gs)程序:K=[0.5 1 2]for i=1:1:3num=[1,1,0,0]; den=[1,1,K(i)]; sys=tf(num,den); rlocus(sys); hold ongrid onend图像结果:目标:改变增益K和转折频率依次调节源程序:k1=[4.44,10,20];num=[1,2];den=conv([1,1],[1,2,4]);%一阶转折频率 1/T(wn1=2,wn2=1)二阶转折频率 wn3=wn'=2,伊布西塔=1/2 num1=[1,1];den1=conv([1,2],[1,2,4]);%一阶转折频率 1/T(wn1=1,wn2=2)二阶转折频率 wn3=wn'=2,伊布西塔=1/2 t=[0:0.1:7]; %for i=1:3g0=tf(k1(i)*num,den);g=feedback(g0,1);[y,x]=step(g,t);c(:,i)=y;g1=tf(k1(i)*num1,den1);g(1)=feedback(g1,1);[y1,x]=step(g(1),t);c1(:,i)=y1;endplot(t,c(:,1),'-',t,c(:,2),'-',t,c(:,3),'-',t,c1(:,1),'-',t,c1(:,2), '-',t,c1(:,3),'-');gridxlabel('Time/sec'),ylabel('out')结果分析:在本题中(1)改变k值:k值越大,超调量越大,调节时间越长,峰值时间越短,稳态误差越小(2)改变转折频率:超调量,调节时间,峰值时间,稳态误差同样有相应的变化。
基于matlab 的控制系统频域分析实验1. 已知系统开环传递函数)1()3()()(-+=s s s K s H s G用两种以上的方法,研究闭环系统稳定时K 的取值范围; 解:法一:闭环特征方程:s^2+(K-1)*s+3*K=0 列劳斯表: s^2 1 3 s^1 K-1 0 s 3*K系统稳定时:K-1>0 3*k>0所以:K>1 此时,系统稳定法二:由闭环特征方程得特征根:S=(-(K-1) + sprt((K-1)^2-12*K))/2由系统稳定的充要条件:所有特征根具有负实部,于是有:K-1>0得K>1法三:闭环传递函数为:由系统稳定的充要条件:闭环传递函数的极点均位于S 左半平面,于是有:K-1>0得K>1法四:令K=1,做Nyquist 图:曲线过(-1,j0)点,说明K=1时,系统临界稳定。
又令K=2,做Nyquist图:此时,系统稳定。
综上述,当K>1时,系统稳定。
2. 用MATLAB 绘制系统传递函数为2525)(2++=s s s G的Bode 图,并求取谐振频率和谐振峰值,相角裕度及幅值裕度。
G=tf([25],[1 1 25]) margin(G);幅值裕度:Gm=Inf dB 相角裕度:Pm=16.3 deg 谐振频率:10^0.845谐振峰值:14.02353. 单位反馈系统,开环传递函数为12.012)(232+++++=s s s s s s G用MATLAB 绘制系统的Nyquist 图及Bode 图,并求幅值裕量和相角裕量,在图中判断系统的稳定性。
G=tf([1 2 1],[1 0.2 1 1]) figure(1)margin(G); figure(2) nyquist(G); axis equalTransfer function: s^2 + 2 s + 1 --------------------- s^3 + 0.2 s^2 + s + 1由bode 图可知,相角裕度为Pm=26.8deg;幅值裕度为Gm=-5.35dB 。
实验三利用MATLAB进行系统频域分析系统频域分析是指通过对系统的输入输出信号进行频域分析,从而分析系统的频率响应特性和频率域特征。
利用MATLAB进行系统频域分析可以方便地实现信号的频谱分析、滤波器设计等功能。
下面将介绍如何利用MATLAB进行系统频域分析的基本步骤。
一、信号频谱分析1. 将信号导入MATLAB环境:可以使用`load`函数导入数据文件,或者使用`audioread`函数读取音频文件。
2. 绘制信号的时域波形图:使用`plot`函数绘制信号的时域波形图,以便对信号的整体特征有一个直观的了解。
3. 计算信号的频谱:使用快速傅里叶变换(FFT)算法对信号进行频谱分析。
使用`fft`函数对信号进行频域变换,并使用`abs`函数计算频谱的幅度。
4. 绘制信号的频谱图:使用`plot`函数绘制信号的频谱图,以便对信号的频率特征有一个直观的了解。
二、滤波器设计1.确定滤波器类型和要求:根据系统的要求和信号的特性,确定滤波器的类型(如低通滤波器、高通滤波器、带通滤波器等)和相应的频率响应要求。
2. 设计滤波器:使用MATLAB中的滤波器设计函数(如`fir1`、`butter`、`cheby1`等)来设计滤波器。
这些函数可以根据指定的滤波器类型、阶数和频率响应要求等参数来生成相应的滤波器系数。
3. 应用滤波器:使用`filter`函数将滤波器系数应用到信号上,得到滤波后的信号。
三、系统频率响应分析1. 生成输入信号:根据系统的要求和实际情况,生成相应的输入信号。
可以使用MATLAB中的信号生成函数(如`square`、`sine`、`sawtooth`等)来生成基本的周期信号,或者使用`randn`函数生成高斯白噪声信号。
2.绘制输入信号的频谱图:使用前面提到的信号频谱分析方法,绘制输入信号的频谱图。
3. 输入信号与输出信号的频域分析:使用`fft`函数对输入信号和输出信号进行频谱分析,并使用`abs`函数计算频谱的幅度。
基于Matlab的控制系统频域分析為解决经典控制理论频域分析中计算和绘图复杂的问题,引入了基于Matlab 的分析方法。
利用Matlab对具体实例进行了Nyquist图和Bode图的绘制及性能指标的计算,说明了Matlab在控制理论应用中能节省大量的计算量,提高工作效率。
标签:控制系统分析;频率特性;Matlab仿真稳定性、准确性、快速平稳性是控制系统的主要性能指标,经典控制理论的主要内容是通过时域法、复域法和频域法三大方法研究分析线性系统的性能指标。
绘制根轨迹、Nyquist图、Bode图等是控制类工程技术人员的必备技能之一,但是手工绘图效率低,容易出现较大误差,给工程设计和系统分析带来不便。
随着计算机技术的发展,Matlab等仿真软件在控制工程领域得到了广泛应用。
1 频域法简介频域法又称频率特性法,频率特性是指线性系统输入r(t)为正弦信号时,其稳态输出与输入的幅值比、相角差随频率变化的规律,其中:为稳态输出和输入的幅值比,称为幅频特性;为稳态输出和输入的相角差,称为相频特性。
一般对线性定常系统而言,频率特性,系统传递函数中令,即得系统频率特性,其物理意义明确,许多元部件此特性都可用实验法确定,所以工程上应用广泛。
2 Matlab相关函数Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言。
Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。
自动控制是Matlab最重要的应用领域之一,Matlab支持控制系统设计过程的每个环节:系统建模、分析、仿真到控制器设计和实现,并可以用于不同领域的系统设计。
本文进行频域分析所涉及的相关函数简单介绍如下:bode(num,den):给定传递函数(num,den)作波特图;margin(num,den):作波特图,计算波特图上的稳定裕量,并将计算结果表示在图的上方;nyquist(num,den):给定传递函数(num,den)作Nyquist图。
《自动控制原理》课程实验报告实验名称频域稳定分析专业班级 ********************学号姓名**指导教师李离学院名称电气信息学院2013 年 3 月 20 日1.利用函数nyquist 和margin 分析系统的相对稳定性修改本实验所附程序lab4_1.m 并运行之,分析K=0.5,2,3.013,4和10时,开环传递函数为某单位负反馈闭环系统(如图1)的相对稳定性。
图(1) Lab4_1_1.m K=0.51.利用函数nyquist 分析如下: 程序:num=[0.5];den=[1 2 1 0.5]; sys=tf(num,den); nyquist(sys)仿真结果:G(s)R(s )Y(s)+_图(2)可将传递函数写成零极点形式)5217.02174.0)(5217.02174.0)(5625(5.0)(i s i s s s G -++++=开环传递函数在右半S 平面无极点即P=0,从图(2)可以看到nyquist 图包围(-1,j0)点0次,即N=0,由乃奎斯特稳定性判据可知闭环系统在右半S 平面的极点数Z=N+P=0 故系统稳定。
2.利用margin 函数分析如下: 程序:num=[0.5];den=[1 2 1 0.5]; sys=tf(num,den); margin(sys) 仿真结果:可得系统的相位裕量为Pm=-131°+180°=49°,幅值裕量Gm=9.55dB 对于最小相位系统幅值裕度与相角裕度大于零则系统稳定。
也可在伯德图上判断系统稳定性,对数幅频特性大于零所对应的想频特性穿越-180°线的情况为0==-+N N ,则N=0=2P =0。
根据乃奎斯特判据知闭环系统稳定。
Lab4_1_2.m K=21.利用函数nyquist 分析如下: 程序:num=[2];den=[1 2 1 0.5]; sys=tf(num,den); nyquist(sys)仿真结果:如上分析,开环传递函数在右半S平面无极点即P=0,从图(4)可得nyquist曲线顺时针包围(-1,j0)点2次,即N=2,由乃奎斯特稳定性判据可知闭环系统在右半S平面的极点数Z=N+P=2 系统不稳定。
实验五:系统的频域分析
一、目的与要求
1.熟悉MATLAB系统的频域分析的基本操作
2.熟悉掌握线性系统的各种模型描述和转换
3.熟练掌握结构框图幅频与相频的计算与图形二,原系统结构图
三,各函数的BODE 图
>> num1=1100;
>> den1=[conv([8 1],[1 10 100])]
den1 =
8 81 810 100
>> g1=tf(num1,den1)
Transfer function:
1100
----------------------------
8 s^3 + 81 s^2 + 810 s + 100
>> w=logspace(-3,3,5000);
>> bode(g1)
[Gw,Fw]=bode(num1,den1,w);
subplot(2,1,1);
semilogx(w,20*log10(Gw));
grid on
同样,使用semilogx也可以画出其对数幅频特性曲线,如下:
则其对应的根轨迹图如下:
>> subplot(2,1,2)
>> semilogx(w,Fw)
加入的积分环节的bode图如下:
subplot(2,1,1);
semilogx(w,20*log10(Gw));
grid on
画出bode图,下图为加入积分环节后,现在的系统与原系统的bode图的对比。
subplot(2,1,2);
semilogx(w,Fw);
grid on
rlocus(g1)
num2=[1.6*1100 990];
g2=tf(num2,den1);
bode(g2)
Warning: Negative data ignored
> In ctrluis.axesgroup.updatelims>LocalEqualizeLims at 115 In ctrluis.axesgroup.updatelims at 71
In resppack.rlplot.updatelims at 17
In ctrluis.axesgroup.addlimitmgr>LocalUpdateLims at 57 In wrfc.plot.draw at 25
In wrfc.plot.init_listeners>LocalRefreshPlot at 112
In lti.rlocusplot at 111
In lti.rlocus at 81
原系统和修正后环节的对比图
g3=tf([1.6 0.9],1);
bode(g1,g2,g3)
四,系统的频域的程序num1=1100;
den1=[conv([8 1],[1 10 100])];
g1=tf(num1,den1)
w=logspace(-3,3,5000);
bode(g1)
[Gw,Fw]=bode(num1,den1,w);
subplot(2,1,1);
semilogx(w,20*log10(Gw));
grid on
subplot(2,1,2);
semilogx(w,Fw);
grid on
subplot(2,1,1);
semilogx(w,20*log10(Gw));
grid on
subplot(2,1,2);
semilogx(w,Fw);
grid on
rlocus(g1)
num2=[1.6*1100 990];
g2=tf(num2,den1);
bode(g2)
g3=tf([1.6 0.9],1);
bode(g1,g2,g3)
六,小结:
初始系统不稳定,用PID算法对其进行调节,当加上比例调节之后,且比例系数小于1大于0时,系统震荡幅度逐渐减小,最终趋于平稳;在比例环节的基础上再加上微分环节后,系统的调节时间缩短,系统反应达到快的指标;再加上微分环节之后,选择合适的系数,系统无超调,达到准的指标。