概述
写在最前:文末有MATLAB代码。创作不易,未经允许,禁止转载。
Nyquist判据是工程领域的一大利器,突破了劳斯判据和赫尔维兹判据等代数判据不能处理带有延时环节系统的瓶颈,在我研究的延时系统中,就需要用到该判据来判断系统的稳定性。与代数判据不同的是,Nyquist判据是一种几何判据。
在研究Nyquist判据在延时系统中的应用前,先需要理解Nyquist判据判定系统稳定性的基本原理。
学过控制工程的都应该知道,在
其中,
想理解Nyquist判据,最重要的是要明白“映射定理”,该定理是从单个零点的系统开始到多个零点的系统,再到单个极点的系统,以及多个极点的系统,最终推导到一般化的系统模型。下面介绍“映射定理”。
1. 单个零点系统
那么
注意一点:自变量是
所以在复平面内的那条封闭曲线
那么在映射后的
同样可以推知,如果在复平面中,
2. 多个零点系统
其实,和单个零点类似,只是将零点数目增多了而已。现在系统包含
3. 单个极点系统
类比单个零点的情况,
4. 多个极点系统
和单个极点类似,只是将极点数目增多了而已。现在系统包含
综合 2 和 4 ,就可以知道:
复平面(或称平面)上,封闭曲线如果顺时针包围了系统传递函数的个零点和个极点,那么在平面中,封闭曲线将逆时针绕着原点圈,这就是所谓“映射定理”。
负反馈系统
常见的负反馈系统可以用下图表示:
其闭环传递函数为:
其中
设
系统的开环传递函数为:
系统的闭环传递函数为:
我们最终需要知道是闭环系统的稳定性。
闭环系统稳定的充要条件是闭环系统传递函数在复平面(或平面)的右半平面上没有极点。
该定理的验证可以通过拉式反变换来证明。如果系统传递函数包含复平面右半平面的极点,那么拉式反变换后,时域信号中将包含以时间为自变量的正指数项,这些项随时间指数最大,系统显然不稳定。要使系统稳定,则要求极点都在负半平面,那么拉式反变换后,时域信号中将包含以时间为自变量的负指数项,这些项随时间指数衰减,系统最终趋于稳定。
由式
现在定义:
注意,分子和分母分别为闭环和开环传递函数的特征多项式(其实分别是闭环和开环传递函数的分母)。
那么,在
假设闭环系统稳定,则曲线包围的零点的个数为零。如果系统开环没有右极点,则曲线不围绕原点;如果系统开环有右极点,则曲线应该逆时针围绕原点,且围绕的圈数等于开环系统右极点的个数。
由于
在通过开环传递函数
例子
1、如果一个闭环系统,其对应的开环传递函数为:
其Nyquist图如下:
由于开环传递函数无右极点,且Nyquist图没有包围
2、如果一个闭环系统,其对应的开环传递函数为:
其Nyquist图如下:
由于开环传递函数有一个右极点,且Nyquist图顺时针包围
Matlab 代码
clc
clear
close all
s1 = zpk([],[-1 -2 -3],15);
figure(1)
nyquist(s1);
set(gcf,'unit','centimeters','position',[0 10 13.53 9.03],'color','white');
set(gca,'FontSize', 11 ,'FontName', 'Times New Roman')
s2 = zpk([],[1 -2 -3],15);
figure(2)
nyquist(s2);
set(gcf,'unit','centimeters','position',[0 10 13.53 9.03],'color','white');
set(gca,'FontSize', 11 ,'FontName', 'Times New Roman')
延时系统
延时系统与通常见到的简单线性不同的是,反馈中包含前一时刻
其闭环传递函数为:
特征方程即令闭环传递函数的分母为
其对应的开环传递函数为:
如果其中
所以上式
对于不同刚度的系统,同样的反馈条件,可能出现稳定性不一样的情况。如图:
闭环系统稳定性的判断方法就是看开环传递函数的Nyquist图是否包围了
MATLAB 代码
clc; clear; close all;
wn = 2*pi*10; % Natural Frequency
T
= (10*2*pi + pi/3)/wn;
% Time delay
K1
= 50;
% High Stiffness
K2
= 20;
% Low Stiffness
zeta = 0.5e-2; % Damping ratio
w = linspace(0.3*wn, 2*wn, 1e4); % Analysis frequency bandwidth
G1 =1./( K1 * ( -w.^2/wn^2 + 2 * zeta * 1j * w/wn + 1 ) );
G2 =1./( K2 * ( -w.^2/wn^2 + 2 * zeta * 1j * w/wn + 1 ) );
Nyq1 =
(1 - exp(-1j * w * T)).*G1;
Nyq2 =
(1 - exp(-1j * w * T)).*G2;
figure(1); clf;
plot( real(Nyq1),
imag(Nyq1) , 'b','linewidth',2);
title('Stable');
xlabel('Real'); ylabel('Imaginary');
hold on;axis equal;
plot(-1,0,'k+','MarkerSize',32);
axis([-2 5 -5 2])
set(gca,'FontSize', 14 ,'FontName', 'Times New Roman')
set(gcf,'unit','centimeters','color','white');
grid on
figure(2); clf;
plot( real(Nyq2),
imag(Nyq2) , 'r','linewidth',2);
hold on;axis equal;
title('Unstable');
xlabel('Real'); ylabel('Imaginary');
plot(-1,0,'k+','MarkerSize',32);
axis([-2 5 -5 2])
set(gca,'FontSize', 14 ,'FontName', 'Times New Roman')
set(gcf,'unit','centimeters','color','white');
grid on
参考
- ^董景新, 赵长德, 郭美凤等. 控制工程基础(第3版)[M], 清华大学出版社, 2009.
- ^Y. Altintas, Manufacturing Automation: Metal Cutting Mechanics, Machine Tool Vibrations, and CNC Design, 2012.
最后
以上就是秀丽外套为你收集整理的matlab延时函数怎么写_Nyquist判据基本原理及在延时系统中的应用的全部内容,希望文章能够帮你解决matlab延时函数怎么写_Nyquist判据基本原理及在延时系统中的应用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复