自动控制7 用MATLAB进行系统频率特性分析
- 格式:doc
- 大小:144.00 KB
- 文档页数:9
matlab中控制系统的频域分析求取系统对数频率特性图(波特图):bode()求取系统奈奎斯特图(幅相曲线图或极坐标图):nyquist()bode(a,b,c,d):自动绘制出系统的一组Bode图,它们是针对连续状态空间系统[a,b,c,d]的每个输入的Bode图。
其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。
bode(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的波特图。
bode(num,den):可绘制出以连续时间多项式传递函数表示的系统的波特图。
bode(a,b,c,d,iu,w)或bode(num,den,w):可利用指定的角频率矢量绘制出系统的波特图。
当带输出变量[mag,pha,w]或[mag,pha]引用函数时,可得到系统波特图相应的幅值mag、相角pha及角频率点w矢量或只是返回幅值与相角。
相角以度为单位,幅值可转换为分贝单位:magdb=20×log10(mag)nyquist(a,b,c,d):绘制出系统的一组Nyquist曲线,每条曲线相应于连续状态空间系统[a,b,c,d]的输入/输出组合对。
其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。
nyquist(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的极坐标图。
nyquist(num,den):可绘制出以连续时间多项式传递函数表示的系统的极坐标图。
nyquist(a,b,c,d,iu,w)或nyquist(num,den,w):可利用指定的角频率矢量绘制出系统的极坐标图。
当不带返回参数时,直接在屏幕上绘制出系统的极坐标图(图上用箭头表示w 的变化方向,负无穷到正无穷)。
当带输出变量[re,im,w]引用函数时,可得到系统频率特性函数的实部re和虚部im及角频率点w矢量(为正的部分)。
可以用plot(re,im)绘制出对应w从负无穷到零变化的部分。
基于Matlab控制系统频率特性分析法基于Matlab控制系统频率特性分析法本文主要介绍了基于Matlab控制系统的频率特性分析方法、频域稳定性判据以及开环频域性能分析,并获得频率响应曲线等。
通过本章的学习,可以利用MATLAB对各种复杂控制系统进行频率分析,以此获得系统稳定性及其它性能指标。
一、频率特性基本概念如果将控制系统中的各个变量看成是一些信号,而这些信号又是由许多不同频率的正弦信号合成的,则各个变量的运动就是系统对各个不同频率信号响应的总和。
系统对正弦输入的稳态响应称频率响应。
利用这种思想研究控制系统稳定性和动态特性的方法即为频率响应法。
频率响应法的优点为:⑴物理意义明确;⑵可利用试验方法求出系统的数学模型,易于研究机理复杂或不明的系统,也适用于某些非线性系统;⑶采用作图方法,非常直观。
1. 频率特性函数的定义对于稳定的线性系统或者环节,在正弦输入的作用下,其输出的稳态分量是与输入信号相同频率的正弦函数。
输出稳态分量与输入正弦信号的复数比,称为该系统或环节的频率特性函数,简称为频率特性,记作G(jω)=Y(jω)/R(jω)对于不稳定系统,上述定义可以作如下推广。
在正弦输入信号的作用下,系统输出响应中与输入信号同频率的正弦函数分量和输入正弦信号的复数比,称为该系统或环节的频率特性函数。
当输入信号和输出信号为非周期函数时,则有如下定义。
系统或者环节的频率特性函数,是其输出信号的傅里叶变换像函数与输入信号的傅里叶变换像函数之比。
2. 频率特性函数的表示方法系统的频率特性函数可以由微分方程的傅里叶变换求得,也可以由传递函数求得。
这三种形式都是系统数学模型的输入输出模式。
当传递函数G(s)的复数自变量s沿复平面的虚轴变化时,就得到频率特性函数G(jω)=G(s)|s=jω。
所以频率特性是传递函数的特殊形式。
代数式:G(jω)=R(w)+jI(ω)R(w)和I(w)称为频率特性函数G(jw)的实频特性和虚频特性。
【实验名称】控制系统的频率特性分析【实验目的】1) 掌握运用MATLAB 软件绘制控制系统波特图的方法; 2) 掌握MATLAB 软件绘制奈奎斯特图的方法; 3) 利用波特图和奈奎斯特图对控制系统性能进行分析。
【实验仪器】1) PC 机一台 2) MATLAB 软件【实验原理】1. 奈奎斯特稳定判据及稳定裕量(1)奈氏(Nyquist )判据:反馈控制系统稳定的充要条件是奈氏曲线逆时针包围临界点的圈数R 等于开环传递函数右半s 平面的极点数P , 即R=P ;否则闭环系统不稳定, 闭环正实部特征根个数Z 可按下式确定Z=P-R=P-2N (2)稳定裕量利用)()(ωωj H j G 轨迹上两个特殊点的位置来度量相角裕度和增益裕度。
其中)()(ωωj H j G 与单位圆的交点处的频率为c ω(截止频率);)()(ωωj H j G 与负实轴的交点频率为x ω(穿越频率)。
则相角裕度:)(180)()(180c c c j H j G ωϕωωγ+=∠+= 增益裕度:)(1)()(1x x x A j H j G h ωωω==(对数形式:)(lg 20)()(lg 20x x x A j H j G h ωωω-=-= 2. 对数频率稳定判据将系统开环频率特性曲线分为幅频特性和相频特性,分别画在两个坐标上,横轴都用频率ω,纵轴一个用对数幅值和相角,这两条曲线画成的图就是Bode 图,即对数频率特性图。
因为Bode 图与奈氏图有一一对应关系,因此,奈氏稳定判据就可描述为基于Bode 图的对数频率稳定判据:(1)开环系统稳定,即开环系统没有极点在正右半根平面,如果其对数幅频曲线大于0dB 的区域内,相频曲线对180-线正负穿越次数相等,那么闭环系统就是稳定的,否则是不稳定的。
(2)开环系统不稳定,有P 个极点在正右半平面,如果其对数幅频曲线大于0dB 的区域内,相频曲线对180-线正穿越次数大于负穿越次数P/2,闭环系统就是稳定的,否则是不稳定的。
MATLAB进行控制系统频域分析一、基于MATLAB 的线性系统的频域分析基本知识(1)频率特性函数)(ωj G 。
设线性系统传递函数为:n n n n m m m m a s a s a s a b s b s b s b s G ++⋅⋅⋅++++⋅⋅⋅++=---1101110)(则频率特性函数为:n n 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 会自动计算这些点的频率响应。
一、基于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. 已知系统开环传递函数)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自带的函数tabulate统计一个数组中各数字(元素)出现的频数、频率【例1】统计数值型数组中各元素出现的频数、频率。
>> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 26 0 47 2 58 3 1 3 2 5 3 6 2 3 54 3 1 4 2 2 2 3 15 26 3 4 1 2 5];>> tabulate(x(:))Value Count Percent0 1 1.96%1 4 7.84%2 14 27.45%3 10 19.61%4 10 19.61%5 6 11.76%6 4 7.84%7 1 1.96%8 1 1.96%复制代码【例2】统计字符串中各字符出现的频数、频率。
>> x = ['If x is a numeric array, TABLE is a numeric matrix.']';>> tabulate(x)Value Count PercentI 1 2.44%f 1 2.44%x 2 4.88%i 5 12.20%s 2 4.88%a 5 12.20%n 2 4.88%u 2 4.88%m 3 7.32%e 2 4.88%r 5 12.20%c 2 4.88%y 1 2.44%, 1 2.44%T 1 2.44%A 1 2.44%B 1 2.44%L 1 2.44%E 1 2.44%t 1 2.44%. 1 2.44%复制代码【例3】统计字符型数组中各行元素出现的频数、频率。
>> x = ['崔家峰';'孙乃喆';'安立群';'王洪武';'王玉杰';'高纯静';'崔家峰';'叶鹏';'关泽满';'谢中华';'王**';'孙乃喆';'崔家峰';'谢中华']; >> tabulate(x)Value Count Percent孙乃喆 2 14.29%安立群 1 7.14%王洪武 1 7.14%王玉杰 1 7.14%高纯静 1 7.14%叶鹏 1 7.14%关泽满 1 7.14%谢中华 2 14.29%王** 1 7.14%复制代码【例4】统计字符串元胞数组中各字符串出现的频数、频率。