最新用MATLAB实现线性系统的频域分析

合集下载

线性系统频域分析实验报告

线性系统频域分析实验报告

实验三、线性系统的频域分析法一,实验目的1,掌握matlab绘制波特图以及奈奎斯特图的方法。

2,学会从波特图以及奈奎斯特图判定系统的稳定性。

3,学会从波特图上求系统的稳定裕度。

4,了解k值变化时对波特图幅频和相频曲线的影响。

5,掌握matalab绘制系统零极点分布图的方法。

6,学会从系统的零极点分布图判断系统的稳定性。

二,实验原理1,从奈奎斯特图判定系统是否稳定的原理奈式稳定判据:反馈控制系统稳定的充分必要条件是半闭合曲线ΓGH不穿过(-1,0j)点,且逆时针包围临界点(-1,0j)点的圈数R 等于开环传递函数正实部极点数P具体方法是,先观察系统传递函数得出系统是否在s平面的右半开平面由极点,得出P的值,在观察曲线从(-1,0j)点右侧穿越的次数,其中自上而下为正穿越,自下而上为负穿越,完整的一次穿越记为N 半次穿越记为0.5N,R=2N=2(N+ -N-) 而Z=P-R,观察Z是否为零,Z 为零则系统是稳定的,Z不为零时则系统是不稳定的。

2,从波特图判定系统是否稳定的原理。

从奈奎斯特稳定判定我们可以知道,要判定系统是否稳定就要观察曲线穿越(-1,0j)点次数,对应在波特图中,当取w=wc时,要满足A(wc)=|G(jwc)H(jwc)|=1 L(wc)=20logA(wc)=0因此wc为分界点,对应到相频曲线上,观察在w<wc时曲线穿越-180度的次数。

然后计算方法和上面相同,既可以判定系统的稳定性。

3,根据系统的零极点分布判断系统稳定性的原理三,实验内容A、设单位负反馈系统的开环传递函数为K(S+1)/S(S+2)(S^2+17S+4000) 其中K=1000(1)绘制波特图。

(2)观察绘制出的bode 图,分析系统的稳定性,并在图上求稳定裕度;(3)绘制K=2000 时系统的bode 图,分析曲线的改变情况,并分析K 值变化时,对系统幅频响应和相频响应的影响。

分析:1,绘制波特图matlab 文本命令为:s=tf(‘s’);G=1000*(s+1)/(s*(s+2)*(s^2+17*s+4000))Bode(G)Grid onMargin(G),2,绘制出的波形为2,由于传递函数中可知v=1所以要在相频中增补从-90度到0度的相频曲线,由波特图可以看出当L(w)=0dB时对应的频率值为wc,在w<wc 时,在相频曲线中没有穿越-180度,所以可以知道R=0,又由传递函数可以知道P=0,所以Z=0,从而我们知道系统此时是稳定的,由裕度函数我们可以在图中求出幅值裕度Gm=36.7dB,相角裕度Pm=93.5度.剪切频率wc=0.126rad/s.3,改变系统的k值,令k=2000绘制此时的波特图,matlab文本命令为;s=tf(‘s’);G=2000*(s+1)/(s*(s+2)*(s^2+17*s+4000))Bode(G)margin(G)grid on得到系统的波特图为:由波特图可以看出,当k值变大后,对相频曲线没有影响,因为k环节不提供相角,而对于幅频曲线来说当k值变为2000后相当于整个曲线向上平移了20lg2,从而使得幅值裕度和相角裕度改变了,幅值裕度为Gm=30.7dB,相角裕度为Pm=97度,剪切频率wc=0.256rad/s.B,设单位负反馈的开环传递函数为G(s)=10/(s+5)/(s-1)(1)绘制系统的Nyquist 曲线(2)分析系统的稳定性(3)根据系统的闭环零极点的分布图来分析系统的稳定性,和(2)得到的结果比较;1,绘制Nyquist 曲线的matlab文本命令为:num=10;den=conv([1 5],[1 -1]);nyquist(num,den)绘制出的图形为:2,分析系统的稳定性,当w趋于零时G(Jw)等于-2所以曲线的起点在(-2,0j),由曲线我们可以看出,曲线在(-1,0j)左边有半次自上而下的正穿越所以N+=0.5,N=2(N+-N-)=1,所以R=1,由系统的传递函数可以知道P=1,所以Z=P-R=0,从而得出系统是稳定的。

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

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

1γ=50 20-=sK0原系统的伯德图:num/den =1.2347 s + 1 ------------- 0.20154 s + 1校正之后的系统开环传递函数为:num/den =6.1734 s + 5 ------------------------------------------- 0.20154 s^4 + 1.6046 s^3 + 3.4031 s^2 + 2 sP h a s e (d e g )Bode DiagramGm = Inf dB (at Inf rad/sec) , P m = 9.04 deg (at 3.14 rad/sec)-20020406080M a g n i t u d e (d B )alpha =6.1261;[il,ii]=min(abs(mag1-1/sqrt(alpha))); wc=w( ii); T=1/(wc*sqrt(alpha)); numc=[alpha*T,1]; denc=[T,1];[num,den]=series(num0,den0,numc,denc);[gm,pm,wcg,wcp]=margin(num,den); printsys(numc,denc)disp('УÕýÖ®ºóµÄϵͳ¿ª»·´«µÝº¯ÊýΪ:');printsys(num,den) [mag2,phase2]=bode(numc,denc,w); [mag,phase]=bode(num,den,w); subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(mag2),'-.');grid; ylabel('·ùÖµ(db)'); title('--Go,-Gc,GoGc'); subplot(2,1,2);semilogx(w,phase,w,phase1,'--',w,phase2,'-',w,(w-180-w),':'); grid; ylabel('Ïàλ(0)'); xlabel('ƵÂÊ(rad/sec)');title(['УÕýÇ°£º·ùÖµÔ£Á¿=',num2str(20*log10(gm1)),'db','ÏàλԣÁ¿=',num2str(pm1),'0';'УÕýºó£º·ùÖµÔ£Á¿=',num2str(20*log10(gm)),'db','ÏàλԣÁ¿=',num2s tr(pm),'0']);10-110101102-60-40-2002040幅值(d b )--Go,-Gc,GoGc10-110101102-300-200-1000100相位(0)频率(rad/sec)矫正后系统的伯德图矫正之前系统单位阶跃响应矫正之后系统的单位阶跃响应:比较矫正前后系统的响应情况:可以看出超前矫正使系统的调节时间变短,响应更加迅速,但是超调量偏大,对改善系统的动态性能起到了巨大的作用。

MATLAB用于控制系统频域分析

MATLAB用于控制系统频域分析
>> num=[2000 , -12000]; >> den=[1,4,20,0]; >> g=tf(num,den); >> bode(g) >>
例5-9-1超前校正 超前校正
K 20 = G0 ( s ) = s (0.5s + 1) 0.5s 2 + s 20(0.25s + 1) 5s + 20 =Байду номын сангаасGe ( s ) = Gc ( s )G0 ( s ) = s (0.5s + 1)(0.04 s + 1) 0.02 s 3 + 0.54 s 2 + s
>> bode(20,[0.5,1,0]); >> hold on; >> bode([5,20],[0.02,0.54,1,0]);grid; >>
K 5 = G0 ( s ) = s ( s + 1)(0.5s + 1) 0.5s 3 + 1.5s 2 + s 5(12.5s + 1) 62.5s + 5 = Ge ( s ) = Gc ( s )G0 ( s ) = s ( s + 1)(0.5s + 1)(125s + 1) 62.5s 4 + 188s 3 + 126.5s 2 + s
MATLAB用于控制系统频域分析 用于控制系统频域分析
《自动控制原理》课件系列
哈尔滨工业大学航天学院控制科学与工程系 王彤
0型系统Nyquist图的绘制 图的绘制
5 5 G ( s) = = 3 (2s + 1)( s + 1)(0.5s + 1) s + 3.5s 2 + 3.5s + 1

线性系统的频域分析

线性系统的频域分析

实验三 线性系统的频域分析一、实验目的1、利用MATLAB 绘制系统的频率特性图;2、根据Nyquist 图判断系统的稳定性;3、根据Bode 图计算系统的稳定裕度。

二、实验任务利用MATLAB 绘制系统的频率特性图,是指绘制Nyquist 图、Bode 图,所用到的函数主要是nyquist 、ngrid 、bode 和margin 等。

1、Nyquist 图的绘制及稳定性判断nyquist 函数可以计算连续线性定常系统的频率响应,当命令中不包含左端变量时,仅产生Nyquist 图。

命令nyquist(num,den)将画出下列传递函数的Nyquist 图:11101110()m m m m n n n n b s b s b s b GH s a s a s a s a ----++++=++++ 其中110num []m m b b b b -=,110den []n n a a a a -=。

(1)已知某控制系统的开环传递函数为50()(5)(2)G s s s =+-,用MATLAB 绘制系统的Nyquist 图,并判断系统的稳定性。

MATLAB 程序代码如下:num=[50]den=[1,3,-10]nyquist(num,den)axis([-6 2 -2 0])title('Nyquist 图')执行该程序后,系统的Nyquist 图如图5-1所示。

图5-1 系统的Nyquist 图由上图可知Nyquist 曲线逆时针包围(-1,j0)点1圈,而开环系统在右半平面有一个极点,故系统稳定。

(2)已知系统的开环传递函数为100()(5)(10)k G s s s s =++,用MATLAB 分别绘制1,8,20k =时系统的Nyquist 图,并判断系统的稳定性。

⑴当 k=1时num=[100]den=[1,15,50,0]nyquist(num,den)axis([-1 1 -10 10])title('Nyquist 图') -1-0.8-0.6-0.4-0.200.20.40.60.81-10-5510Nyquist 图Real Axis I m a g i n a r y A x i s由图可知逆时针包围(-1,j0)点的圈数为零,传递函数正实数极点数为零,所以系统稳定。

实验3-基于matlab的控制系统频域分析

实验3-基于matlab的控制系统频域分析

利用MATLAB绘制系统的频率特性曲线举例
MATLAB中提供了简单的命令,可用于绘制系统的 频率特性曲线。 例:已知
Go (s) 1 s s 1
2
试绘制系统的频率特性曲线。 解:在MATLAB Command Window下键入下列语句: num=[0 0 1]; den=[1 1 1] ; w=logspace(-1,2); Bode(num,den.w)
5.求系统模值裕度与相位裕度的函数

margin( )
函数命令调用格式: [Gm,Pm,Wcp,Wcg]=margin(sys) [Gm,Pm,Wcp,Wcg]=margin(mag,phase,w)


Margin(sys)
margin(mag,phase, w)
函数命令使用说明: margin( )函数可以从频率响应数据中计算出模值 稳定裕度、相位稳定裕度及其对应的角频率。输入参 量sys一般是用系统的开环传递函数描述的系统模型, 对于开环SISO系统,既可以是连续时间系统也可以是 离散时间系统。当不带输出变量引用函数时, margin( )函数可在当前图形窗口中绘制出带有稳定裕 度的Bode图。 margin(mag,phase,w)函数可以在当前窗口中绘制 出带有系统的模值裕度与相位裕度Bode图,其中, mag,phase及w分别为由bode或dbode求出的模值裕度、 相位裕度及其对应的角频率。
可以得到如图所示的波德图。
键入语句: nyquist(num,den,{1/57.3,100/57.3}) grid 可以得到系统的极坐标图。
求系统的幅值和相位稳定裕度 得到频率特性后,还可以利用命令: [g,p,wc,wp]=margin(num,den) 本例结果如下: g= Inf p= 90.0000 wg= NaN wp= 1.0000 该系统幅值稳定裕度为无穷大,不存在穿越-1800的频率 点,在ω=1处,幅值为1,相位稳定裕度为900。

线性系统的频域分析_自动控制

线性系统的频域分析_自动控制

.专业整理 .实验三·线性系统的频域分析一、实验目的1.掌握用 MATLAB 语句绘制各种频域曲线。

2.掌握控制系统的频域分析方法。

二、实验内容1.典型二阶系统2G(s)ns2 2 n s2n绘制出n 6 ,0.1 ,0.3,0.5,0.8,2的bode图,记录并分析对系统bode 图的影响。

2.系统的开环传递函数为G( s)10s2(5s 1)(s5)G( s)8( s1)s2(s 15)( s26s10)G( s)4( s /31)s(0.02s 1)(0.05s 1)(0.1s1)绘制系统的 Nyquist 曲线、Bode 图和 Nichols 图,说明系统的稳定性,并通过绘制阶跃响应曲线验证。

s13.已知系统的开环传递函数为G(s)s2(0.1s 1)。

求系统的开环截止频率穿越频率、幅值裕度和相位裕度。

应用频率稳定判据判定系统的稳定性。

三、实验内容及分析.专业整理 .1. 系统 1: G (s)26,(1)0.1时n2中n 2s 2 n snMatlab 文本如下 :num=[36 0 0];den=[11.236];w=logspace(-2,3,100); bode(num,den,w) Grid得到图像 :同理 ,得到其他值情况下的波特图:ξ=0.3 时ξ=0.5 时ξ=0.8 时ξ=2 时从上面的图像中可以看出:随着的不断增大,波特图中震荡的部分变得越来越平滑。

而且,对幅频特性曲线来说,其上升的斜率越来越慢;对相频特性曲线来说,下降的幅度也在变缓。

2. 开环传递函数 1:G(s)10s2 (5s 1)(s 5)奈奎斯特图函数及图像如下:num=[0 10];den=[conv([5,-1],[1,5]),0,0];[z,p,k]=tf2zp(num,den); pnyquist(num,den)结果:p =0-5.00000.2000从上面的结果可知:在右半平面根的个数P=1 。

自动控制原理的MATLAB仿真与实践第5章 线性系统的频域分析

自动控制原理的MATLAB仿真与实践第5章  线性系统的频域分析
本节分别介绍利用MATLAB进行频域绘图和频 率分析的基本方法。
7
【例5-1】 试绘制惯性环节G(jω)=1/(2s+1)的Nyquist曲线 和Bode图。
解:程序如下:
>>clear
G=tf(1,[2,1]); %建立模型
nyquist (G); %绘制Nyquist图
figure(2); bode (G); %绘制Bode图
4
ngrid;ngrid(‘new’):绘制尼科尔斯坐标网格即等 20lgM圆和等角曲线组成的网格。‘new’代表清除以前 的图形,与后一个nichols()一起绘制网格。
semilogx(w,20*log10(mag)):绘制半对数坐标下的幅 频特性曲线。
semilogx(w,phase*180/pi):绘制半对数坐标下的相频 特性曲线。
MATLAB提供了许多用于线性系统频率分析 的函数命令,可用于系统频域的响应曲线、参数分析 和系统设计等。常用的频率特性函数命令格式及其功 能见表5-1。 bode (G):绘制传递函数的伯德图。其中:G为传递
函数模型,如:tf(), zpk(), ss()。 bode(num,den):num,den分别为传递函数的分子与
本节分别介绍利用MATLAB进行频域绘图和频 率分析的基本方法。
6
5.2.1 Nyquist曲线和Bode图
MATLAB频率特性包括幅频特性和相频特性。 当用极坐标图描述系统的幅相频特性时,通常称为 奈奎斯特(Nyquist)曲线;用半对数坐标描述系 统的幅频特性和相频特性时,称为伯德(Bode) 图;在对数幅值-相角坐标系上绘制等闭环参数( M和N)轨迹图,称为尼克尔斯(Nichols)图。
运行结果如图5-2所示。

实验四 用MATLAB实现线性系统的频域分析(已完成)

实验四  用MATLAB实现线性系统的频域分析(已完成)

实验四用MATLAB实现线性系统的频域分析[实验目的]1.掌握MATLAB平台下绘制典型环节及系统开环传递函数的Bode图和Nyquist图(极坐标图)绘制方法;2.掌握利用Bode图和Nyquist图对系统性能进行分析的理论和方法。

[实验原理]一、绘制Bode图和Nyquis图1.Bode图绘制采用bode()函数,调用格式:①bode(sys);bode(num,den);系统自动地选择一个合适的频率范围。

②bode(sys,w);其中w(即ω)是需要人工给出频率范围,一般由语句w=logspace(a,b,n)给出。

logspace(a,b,n):表示在10a到10b之间的 n个点,得到对数等分的w值。

③bode(sys,{wmin,wmax});其中{wmin,wmax}是在命令中直接给定的频率w的区间。

以上这两种格式可直接画出规范化的图形。

④[mag,phase,ω]=bode(sys)或[m,p]=bode(sys)这种格式只计算Bode图的幅值向量和相位向量,不画出图形。

m为频率特性G(jω )的幅值向量;p为频率特性G(jω )的幅角向量,单位为角度(°)。

w为频率向量,单位为[弧度]/秒。

在此基础上再画图,可用:subplot(211);semilogx(w,20*log10(m) %对数幅频曲线 subplot(212);semilogx(w,p) %对数相频曲线⑤bode(sys1,sys2,…,sysN) ;⑥bode((sys1,sys2,…,sysN,w);这两种格式可在一个图形窗口同时绘多个系统的bode 图。

2. Nyquist 曲线的绘制 采用nyquist()函数 调用格式: ① nyquist(sys) ; ② nyquist(sys,w) ;其中频率范围w 由语句w=w1:Δw:w2确定。

③ nyquist(sys1,sys2,…,sysN) ; ④ nyquist(sys1,sys2,…,sysN,w); ⑤ [re,im,w]=nyquist(sys) ;re —频率响应实部 im —频率响应虚部使用命令axis()改变坐标显示范围,例如axis([-1,1.5,-2,2])。

MATLAB进行控制系统频域分析

MATLAB进行控制系统频域分析

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进行控制系统频域分析报告

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实现连续系统的频域分析

用MATLAB实现连续系统的频域分析

用MATLAB实现连续系统的频域分析
MATLAB是一款具有强大功能的科学数学软件,它用于数值计算、算法设计、函数图形化等,也可以用于连续系统的频域分析。

下面介绍一般的频域分析的基本步骤,并用MATLAB编程实现,从而实现连续系统的频域分析。

首先,将连续时间信号转换为数字,并计算出相应的变换系数。

一般情况下,可以使
用MATLAB中的函数“fft”和“ifft”根据时域输入信号进行傅里叶变换。

具体过程,可
以按照以下步骤逐步实现:
1. 首先,将函数转换成实数集合并将它们用MATLAB以连续信号的形式写出。

2. 接着,遵循N分频原则,解决连续信号的采样问题,然后对其进行频谱分析。

3. 然后,在实际计算中,根据采样时间及相关的参数计算频率及其带宽,并将每个
离散频率的相应信号分量分开。

4. 接着,使用MATLAB的fft()函数进行正变换处理,得到实现的频域模型。

5. 最后,使用disp()或plot()函数,将计算出的频谱信号以可视化的方式展现出来,方便观察和分析。

MATLAB中,提供了多种用于傅里叶变换的函数,可用于连续系统的频域分析,比如
fft()函数和ifft()函数,等等。

使用这些函数,可以在MATLAB中实现连续系统的频域分析,帮助用户轻松地进行频域分析,并展示出可视化的结果,提高效率。

如何使用Matlab进行频域分析和滤波处理

如何使用Matlab进行频域分析和滤波处理

如何使用Matlab进行频域分析和滤波处理频域分析和滤波处理在信号处理领域中具有重要的地位。

Matlab是一种专业的数学软件,在频域分析和滤波处理方面提供了丰富的工具和函数。

本文将介绍如何使用Matlab进行频域分析和滤波处理,包括频谱分析、滤波器设计和滤波器应用等方面的内容。

一、频域分析的基本原理频域分析是将时域信号转换为频域表示的过程。

在频域中,信号的特征通过频谱来描述,频谱展示了信号中各个频率分量的强度和相位信息。

常用的频域分析方法有傅里叶变换、快速傅里叶变换(FFT)等。

1. 傅里叶变换傅里叶变换是将一个信号从时域转换到频域的数学工具。

在Matlab中,可以使用fft函数进行傅里叶变换。

例如,对于一个长度为N的时域信号x,在Matlab中可以使用X = fft(x)来计算其频域表示。

得到的频域信号X是一个复数数组,包含了信号在各个频率上的幅度和相位信息。

2. FFT算法快速傅里叶变换(FFT)是一种快速计算傅里叶变换的算法。

相较于传统的傅里叶变换,FFT算法具有计算效率高的优势,在信号处理中得到广泛应用。

在Matlab中,可以使用fft函数进行FFT计算。

例如,对于一个长度为N的时域信号x,在Matlab中可以使用X = fft(x, N)来进行FFT计算。

其中N是指定的变换点数,通常选择2的幂次作为变换点数,以提高计算效率。

二、频谱分析的应用频谱分析可以用来探索信号中各个频率分量的特点和相互关系。

常用的频谱分析方法有功率谱密度估计、谱系分析、半对数谱等。

1. 功率谱密度估计功率谱密度估计是分析信号的功率在不同频率上的分布情况。

在Matlab中,可以使用pwelch函数进行功率谱密度估计。

例如,对于一个长度为N的时域信号x,在Matlab中可以使用[Pxx, f] = pwelch(x)来计算其功率谱密度。

得到的Pxx是功率谱密度估计结果,f是对应的频率向量。

2. 谱系分析谱系分析是研究信号频谱在时间和频率上的变化规律。

用MATLAB分析控制系统性能(频域)

用MATLAB分析控制系统性能(频域)

系统的频域分析
绘图时横坐标是以对数分度的。为指定频率的范围, 可采用以下命令格式:
logspace(d1,d2) 或 logspace(d1,d2,n)
在指定频率范围内按对数距离分成50等分。 对计算点数进行人工设定,例如,要在 ω1 = 1rad / s 例如,要在 ω1 = 0.1 rad / s 和 ω2 个对数等分点,可 = 100rad / s 之间的频区 /s 和 ω2 = 1000rad 之间产生 100 画伯德图,输入命令时, = d1 lg( = ω1 ) , d 2 lg(ω2 ) 在此 输入: w=logspace(0,3,100) 频区自动按对数距离等分成50个频率点,返回到工作 空间,即 w=logspace(-1,2)
系统的频域分析
对数坐标绘图函数
semilogx(x,y,s) 对x轴进行对数变换,y轴仍为线性坐标。 semilogy(x,y,s) 对y轴取对数变换的半对数坐标图。 loglog(x,y,s) 全对数坐标图,即x轴和y轴均取对数变换。 给定单位负反馈系统的开环传递函数为
G (s) = 10( s + 1) ,画出开环系统伯德图。 s ( s + 7)
[mag,phase,w] = bode(num,den) [mag,phase,w]= bode(G) [mag,phase,w] = bode(num,den,w) [mag,phase,w]= bode(G,w)
画伯德图时,若用户指定频率点,在变量mag中可以由 以下命令把幅值转变成分贝:
magdb=20*log10(mag)
求出系统的幅值裕量和相位裕量。
系统的频域分析
频域法串联校正的MATLAB仿真 例
给定系统如图,试设计一个串联校正装置, 使系统满足幅值裕量大于10dB,相位裕量大 于等于45°。

【精品】用MATLAB实现连续系统的频域分析

【精品】用MATLAB实现连续系统的频域分析

用MATLAB 实现连续系统的频域分析3。

1实验原理【1】周期信号的分解根据傅里叶级数的原理,任何周期信号都可以分解为三角级数的组合,称为()t f 的傅里叶级数。

例如一个方波信号可以分解为:)sin sin sin (sin )( ++++=t t t t E t f 11117715513314ωωωωπ合成波形所包含的谐波分量越多,除间断点附近外,它越接近于原波形,在间断点附近,即使合成的波形所含谐波次数足够多,也仍存在约9%的偏差,这就是吉布斯现象。

【2】傅里叶变换和傅里叶逆变换傅里叶变换:dt e t f j F t j ⎰∞∞--=ωω)()(傅里叶逆变换:ωωπωd e j F t f t j ⎰∞∞-=)()(21求解傅里叶变换,可以调用fourier 函数,调用格式为F=fourier(f,u,v),是关于u 的函数f 的傅里叶变换,返回函数F 是关于v 的函数。

求解傅里叶逆变换,可以调用ifourier 函数,调用格式为f=ifourier (F,u,v),是关于v 的函数F 的傅里叶变换,返回函数f 是关于u 的函数。

3。

2实验内容【1】周期信号的分解程序:clcclearclose allfs=10000;t=0:1/fs:0。

1;f0=50;sum=0;subplot(2,1,1)for n=1:2:9plot(t,4/pi*1/n*sin(2*pi*n*f0*t),’k’); hold on;endtitle(’信号叠加前');subplot(2,1,2)for n=1:2:9sum=sum+4/pi*1/n*sin(2*pi*n*f0*t);endplot(t,sum,’k’);title('信号叠加后');图像:【2】傅里叶变换和傅里叶逆变换te=)(的傅里叶变换,tf2-程序:syms t;F=fourier(exp(—2*abs(t)));ezplot(F)图像:已知连续信号211ωω+=)(j F ,通过程序求其傅里叶逆变换。

实验六Matlab频域分析

实验六Matlab频域分析

实验六 MATLAB 频域分析5.1 频率特性的概念系统的频率响应是在正弦信号作用下系统的稳态输出响应。

对于线性定常系统,在正弦信号作用下,稳态输出是与输入同频率的正弦信号,仅是幅值和相位不同。

设系统传递函数为()G s ,其频率特性为s j (j )(s)|G G ωω==例5-1 对系统22(s)s 2s 3G =++,在输入信号()sin r t t =和()sin3r t t =下可由Matlab 求系统的输出信号,其程序如下:》num=2;den=[1 2 3]; 》G=tf(num,den); 》t=0:0.1:6*pi; 》u=sin(t);/ u=sin(3*t); 》y=lsim(G ,u,t); 》plot(t,u,t,y)运行程序显示系统响应如图5-1所示。

a) sin t 的响应 b) sin (3t)的响应 图5-1 正弦信号输入系统的稳态响应5.2用()nyquist sys 绘制极坐标图频率特性中的奈奎斯特图是奈奎斯特(Nyquist )稳定性判据的基础。

反馈控制系统稳定的充分必要条件为:奈奎斯特曲线逆时针包围(1,0)j -点的次数等于系统开环右极点个数。

调用Matlab 中nyquist() 函数可绘出奈奎斯特图,其调用格式为:,,[re im ω]=nyquist(num,den,ω)或sys =tf(num,den);nyquist(sys)式中,()/G s num den =;ω为用户提供的频率范围;re 为极坐标的实部;im 为极坐标的虚部。

若不指定频率范围,则为nyquist(num,den)。

在输入指令中,如果缺省了左边的参数说明,奈奎斯特函数将直接生成奈奎斯特图;当命令包含左端变量时,即[re,im,ω]=nyquist(num,den)时,则奈奎斯特函数将只计算频率响应的实部和虚部,并将计算结果放在数据向量re 和im 中。

在此情况下,只有调用plot 函数和向量re 、im ,才能生成奈奎斯特图。

基于MATLAB软件的线性时不变系统频域分析

基于MATLAB软件的线性时不变系统频域分析

软件园地数码世界 P .88基于MATLAB 软件的线性时不变系统频域分析冯旖哲 刘玉琛 王菁 山东科技大学数学与系统科学学院 付楷文 山东科技大学计算机科学与工程学院摘要:本文简单介绍了MATLAB 的有关特点,并将MATLAB 引入到线性时不变系统的频域分析,线性系统在时域、频域分析中的重要性使其与概率论和随机信号分析理论一起构成研究通信系统不可缺少的基础知识。

并通过对两个问题的求解,详述了如何运用MATLAB 的LTI 对象和符号运算功能分析信号与系统中的有关问题。

关键词:MATLAB 软件 线性时不变系统 频域分析引言MATLAB 是MathWorks 公司推出的以矩阵计算为基础的,集数值计算、图形处理和程序开发为一体的功能强大的数学类应用软件,它由“主包”和扩展功能及应用性工具箱组成。

利用MATLAB 完备的数学函数库及工具箱,通过简单编程可直接求得复杂问题的数值解或者解析解,并能给数据以二维、三维乃至四维的直观表现,使科技人员对大量原始数据的分析变得得心应手。

对一个LTI(Linear Time Invariant)系统的描述主传递函数模型、零极点增益模型、和状态空间模型等模型来进行。

MATLAB 根据面向对象的思想把几种模型封装成为统一的LTI 系统对象,子对能通过命令相互转换,大大方便了对系统的描述和运算。

1 线性时不变系统线性时不变系统的输入-输出关系满足如下关系式:式中h(t)为系统的冲激响应,x(t)为输入信号,y(t)为输出信号。

如果输入信号x(t)为复指数型的信号 ,则输出为:即输出也为复指数型的函数,其与输入信号具有相同的频率,而幅度比输入信号幅度大了倍。

放大量是系统的冲激响应函数h(t)和输入信号频率的函数。

设LTI 系统的冲激响应为,则当激励是角频率为的虚指数函数时,其零状态响应为根据卷积的定义:令(频率响应函数),则上式可写为。

即当激励是幅度为1的虚指数函数时,系统的响应是系数为的同频率虚指数函数,反映了响应的幅度和相位。

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

实验二用MATLAB实现线性系统的频域分析[实验目的]1.掌握MATLAB平台下绘制典型环节及系统开环传递函数的Bode图和Nyquist图(极坐标图)绘制方法;2.掌握利用Bode图和Nyquist图对系统性能进行分析的理论和方法。

[实验指导]一、绘制Bode图和Nyquist图1.Bode图绘制采用bode()函数,调用格式:①bode(sys);bode(num,den);系统自动地选择一个合适的频率范围。

②bode(sys,w);其中w(即ω)是需要人工给出频率范围,一般由语句w=logspace(a,b,n)给出。

logspace(a,b,n):表示在10a到10b之间的 n个点,得到对数等分的w值。

③bode(sys,{wmin,wmax});其中{wmin,wmax}是在命令中直接给定的频率w的区间。

以上这两种格式可直接画出规范化的图形。

④[mag,phase,ω]=bode(sys)或[m,p]=bode(sys)这种格式只计算Bode图的幅值向量和相位向量,不画出图形。

m为频率特性G(jω )的幅值向量;p为频率特性G(jω )的幅角向量,单位为角度(°)。

w为频率向量,单位为[弧度]/秒。

在此基础上再画图,可用:subplot(211);semilogx(w,20*log10(m) %对数幅频曲线subplot(212);semilogx(w,p) %对数相频曲线⑤bode(sys1,sys2,…,sysN) ;⑥bode((sys1,sys2,…,sysN,w);这两种格式可在一个图形窗口同时绘多个系统的bode图。

2. Nyquist曲线的绘制采用nyquist()函数调用格式:① nyquist(sys) ;② nyquist(sys,w) ;其中频率范围w由语句w=w1:Δw:w2确定。

③nyquist(sys1,sys2,…,sysN) ;④nyquist(sys1,sys2,…,sysN,w);⑤ [re,im,w]=nyquist(sys) ;re—频率响应实部im—频率响应虚部使用命令axis()改变坐标显示范围,例如axis([-1,1.5,-2,2])。

⑥当传递函数串有积分环节时ω=0处会出现幅频特性为无穷大的情况,可用命令axis(),自定义图形显示范围,避开无穷大点。

二、系统分析1.计算控制系统的稳定裕度采用margin( )函数可以直接求出系统的幅值裕度和相角裕度。

调用格式为:①[Gm,Pm,Wcg,Wcp]= margin(num,den) ;[Gm,Pm,Wcg,Wcp]= margin(A,B,C,D) ;[Gm,Pm,Wcg,Wcp]= margin(sys) ;Gm--- 幅值裕度;Pm---相位裕度;wcg ---幅值裕度处对应的频率ωc;wcp ---相位裕度处对应的频率ωg。

②[Gm,Pm,Wcg,Wcp]= margin(mag ,phase,w);③ margin(sys)在当前图形窗口中绘制出系统裕度的Bode图。

2.用幅值裕度和相角裕度判断闭环系统稳定性与相对稳定性3.用Nyquist图判断闭环系统稳定性由Nyquist曲线包围(-1,j0)点的情况,根据Nyquist稳定判据判断闭环系统稳定性。

三、举例例1:振荡环节如下:16()21016G s s s =++,做出该环节的Bode 图和Nyquist 图。

程序:>>n=[16];d=[1 10 16];sys=tf(n,d);figure(1);bode(sys);figure(2);nyquist(sys)运行结果:Bode DiagramFrequency (rad/sec)P h a s e (d e g )M a g n i t u d e (d B )10101010Nyquist DiagramReal AxisI m a g i n a r y A x is例2:振荡环节如下:16()216n G s s s ξω=++,做出该环节的Bode 图和Nyquist 图。

ξ变化,取[0.05,0.1,0.2,0.5,0.7,1,2]。

1.Bode 图程序:>> wn=8;znb=[0.05,0.1,0.5,0.7,2];w=logspace(0,2,10000);figure(1);n=[wn^2]; for k=znb d=[1 2*k*wn wn^2];sys=tf(n,d);bode(sys,w);hold on; end 运行结果:Bode DiagramFrequency (rad/sec)P h a s e (d e g )M a g n i t u d e (d B)-60-40-2002040101010-180-135-90-4501.Nyquist 图程序:>> wn=8;znb=[0.05,0.1,0.5,0.7,2];w=logspace(0,2,10000);figure(1);n=[wn^2]; for k=znb d=[1 2*k*wn wn^2];sys=tf(n,d); nyqiust(sys,w); hold on; end 运行结果:Nyquist DiagramReal AxisI m a g i n a r y A x i s例3:系统开环传递函数如下:①020()(0.51)G s s s =+,②0.231()0.0551c s G s s +=+,③20(0.231)()(0.0551)(0.51)s G s s s s +=++,做出各自的Bode 图,并求①、③幅值裕度和相角裕度 1.Bode 图程序:>> n1=20;d1=conv([1,0],[0.5,1]);sys1=tf(n1,d1); figure(2);bode(sys1); n2=[0.23 1];d2=[0.055,1];sys2=tf(n2,d2);hold on; figure(2);bode(sys2);n=[4.6 20];d=conv([1,0],conv([0.055,1],[0.5,1]));sys=tf(n,d);hold on; figure(2); bode(sys)运行结果:Bode DiagramFrequency (rad/sec)P h a s e (d e g )M a g n i t u d e (d B )101010102.求①②幅值裕度和相角裕度程序(图形与数据) >> n1=20;d1=conv([1,0],[0.5,1]);sys1=tf(n1,d1); figure(1);margin(sys1)运行结果:Bode DiagramFrequency (rad/sec)P h a s e (d e g )M a g n i t u d e (d B)-1001020304050Gm = Inf, P m = 17.964 deg (at 6.1685 rad/sec)101010-180-135-90>> n=[4.6 20];d=conv([1,0],conv([0.055,1],[0.5,1]));sys=tf(n,d);hold on; figure(2); margin(sys)运行结果:Bode DiagramFrequency (rad/sec)P h a s e (d e g )M a g n i t u d e (d B )Gm = Inf, P m = 50.472 deg (at 8.9542 rad/sec)101010102.求①②幅值裕度和相角裕度程序和结果(数据)>> [Gm,Pm,Wcg,Wcp]= margin(sys1)Gm = Inf Pm = 17.9642 Wcg = InfWcp = 6.1685>> [Gm,Pm,Wcg,Wcp]= margin(sys)Gm = Inf Pm = 50.4719 Wcg = Inf Wcp = 8.9542例4:系统开环传递函数为:0431)()(21)s G s s s +=+( 做出nyquist 图,按nyquist 稳定判据判断闭环系统的稳定性。

程序与结果:>> n=conv([4],[3 1]);d=conv([1 0],[2 1]);sys2=tf(n,d) Transfer function: 12 s + 4 --------- 2 s^2 + s>> figure(4);nyquist(sys2);v=[-1,6,-60,60];axis(v)Nyquist DiagramReal AxisI m a g i n a r y A x i s分析判断:p=0,nyquist 曲线没有包围(-1,j0)点,闭环系统是稳定的。

下面通过闭环系统时域阶跃响应来验证闭环系统的稳定性:>> n=conv([4],[3 1]);d=conv([1 0],[2 1]);G1=tf(n,d); G2=1;G=feedback(G1,G2,-1) Transfer function: 12 s + 4 ---------------- 2 s^2 + 13 s + 4 >> figure(7);step(G)Time (sec)A m p l i t u d e0.10.20.30.40.50.60.70.80.91ω=0-例5:系统开环传递函数为:023)()(1)s G s s s +=-( 做出nyquist 图,按nyquist 稳定判据判断闭环系统的稳定性。

程序与结果:>>z=[-3];p=[0,1];k=2;sys=zpk(z,p,k) Zero/pole/gain:2 (s+3) ------- s (s-1)>>nyquist(sys);v=[-10,10,-20,20];axis(v)Nyquist DiagramReal Axis分析判断:p=1,nyquist 曲线逆时针包围(-1,j0)点1周,闭环系统是稳定的。

下面通过闭环系统时域阶跃响应来验证闭环系统的稳定性: >> z=[-3];p=[0,1];k=2;sys=zpk(z,p,k);h=1;g= feedback(sys,h,-1) Zero/pole/gain: 2 (s+3)------------- (s^2 + s + 6) >> figure(8);step(g)ω=0+ω=0-Step ResponseTime (sec)A m p l i t u d e0246810120.20.40.60.811.21.41.61.8[实验内容]1.作各典型环节的Bode 图和Nyquist 图,参数自定。

相关文档
最新文档