Matlab绘制Bode图及Bode图分析系统性能

1 Matlab绘制Bode图

MATLAB命令和矩阵函数_小韩每天进步一点点的博客-CSDN博客

上文了解到一些常用的MATLAB命令和矩阵函数,通过文档,可以快速找到对应功能的命令和矩阵函数。

MATLAB具有在需要时可供调用的在线帮助工具。命令help会显示那些具有在线帮助的预定义函数和运算符的清单。

命令 help 函数名,会给出与所列特定函数的目的和用法有关的信息。

命令 help help,会给出如何使用在线帮助的信息。

零基础入门想要画一个Bode图:

1
>> help help

选择bode的参考页(蓝色字体已被标记出),查看帮助文档。

1
2
H = tf([1 0.1 7.5], [1 0.12 9 0 0]);
bode(H)

键入代码,可以根据该传递函数的零极点绘制一个Bode图,即Figure 1。

对于纯新手,对于tf()命令同样不了解。如法炮制:

1
>> help tf

选择tf的参考页(蓝色字体已被标记出),查看帮助文档。

Syntax意思为语法,我们输入命令:

1
>> H = tf([1 0.1 7.5], [1 0.12 9 0 0]);
1
2
3
4
5
6
7
>> H = tf([1 0.1 7.5], [1 0.12 9 0 0])

H =

s^2 + 0.1 s + 7.5
----------------------
s^4 + 0.12 s^3 + 9 s^2

可见上面的表达式的结果时传递函数,bode()命令的操作对象时传递函数。

对比上面的两条语句,区别在于分号。

分号的用法。分号用来取消显示。如果某个语句的最后字符时分号,就取消显示。该命令仍然指向,但结果不显示。这是个很有用的性质,因为人门也许不需要显示中间结果。另外,在输入矩阵时,分号用来表示矩阵的某行已经结束,但最后一行不用分号。

上面的例子对应的是单一的传递函数,实际应用中一个系统可能对应多个传递函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>> Numerator = {[1 1] ; 1};
>> Denominator = {[1 2 2] ; [1 0]};
>> H = tf(Numerator,Denominator,'InputName','current',...
'OutputName',{'torque' 'ang. velocity'},...
'Variable','p')

H =

From input "current" to output...
p + 1
torque: -------------
p^2 + 2 p + 2

1
ang. velocity: -
p

Continuous-time transfer function.

表示该模型有一个输入,电流。两个输出,扭矩和角速度。表示变量为p。

观察左下角工作区(变量区):

此时可以将H看作是一个2行1列的矩阵。

我们先引入冒号的用法:

冒号常用案标记矩阵的下表。A(:,j)是矩阵A的第j列,A(i,:)是矩阵A的第i行。

先看一个实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
>> A=[1,2,3;4,5,6;7,8,9]  %逗号表示隔开元素,分号表示某行结束
A =

1 2 3
4 5 6
7 8 9
>> A(:, 3)
ans =

3
6
9

>> A(2,:)
ans =

4 5 6
>> A(5)
ans =

5
>> A(7)
ans =

3

>> A(3)
ans =

7

那么我们想要得到电流——扭矩的传递函数,需要输入:

1
2
3
4
5
6
7
8
9
>> a=H(1,:)
a =

From input "current" to output "torque":
p + 1
-------------
p^2 + 2 p + 2

Continuous-time transfer function.

然后绘制出其传递函数对应的Bode图:

1
>> bode(a)

出现Figure 1

为方便查找和调用,可以用Matlab给系统自动生成的窗体Figure1改名称。

1
2
>> figure('NumberTitle', 'off', 'Name', '电流——扭矩的传递函数'); %先建立一个空白的Figure
>> bode(a)

绘制Bode图如下:

最后分享两个新手常用的命令:

1
2
3
>> clc %清空命令行
>> clearvars %清除内存中的变量
>> clear A %清除部分变量

2 Bode图分析系统性能

2.1 基本概念

定义:bode图是系统频率响应的一种图示方法。也称为开环对数频率特性曲线。

作用:根据bode图,从系统频率的角度分析系统性能。

坐标系:bode图由两张图组成,一个是幅频特性曲线,一个是相频特性曲线。bode图横坐标为对数刻度,纵坐标幅值或相角采用线性分度。

幅频特性曲线,其中横坐标上为ω,单位为rad/s,刻度为对数刻度,按照lgω刻度。纵坐标为20lg|G(jω)|,单位为分贝(dB),按照线性刻度。

相位特性曲线,其中横坐标上为ω,单位为rad/s,刻度为对数刻度,按照lgω刻度。纵坐标为φ(ω),单位为度(°)按照线性刻度。


2.2 bode图绘制

绘制bode图的一般步骤为:首先将开环频率特性改写为基本环节的乘积,画出各基本环节的bode图,然后把各基本环节bode图的对数幅值相加,相角相加,就得到系统的bode图。

其中基本环节有:

  • 比例环节
  • 惯性环节
  • 一阶微分环节
  • 积分环节
  • 微分环节
  • 振荡环节
  • 二阶微分环节
  • 延迟环节

bode图幅频特性曲线绘制的具体步骤:

  1. 确定系统开环增益K,并计算20lgK。
  2. 确定各个具有转折频率环节的转折频率,标在坐标轴上。
  3. 在坐标轴上找出横坐标ω=1,纵坐标为20lgK的A点。
  4. 过A点做一直线,使其斜率等于-20vdB/十倍频程。当v=0,v=1,v=2时,斜率分别是(0,-20,-40)/ 十倍频程。
  5. 从低频段第一个转折频率开始做斜直线,该直线的斜率等于过A点直线的斜率加这个环节的斜率(惯性环节加-20,振荡环节加-40,一阶微分环节加+20的斜率),这样过每一个转折频率都要进行斜率的加减。
  6. 频段最后的斜线的斜率应等于-20(n-m)dB / 十倍频程。
  7. 若系统中有振荡环节,当 ξ < 0.4时,需对L(ω)进行修正。

bode图相频曲线绘制的具体步骤:

  1. 绘制各个环节的相频曲线。

  2. 各个环节的相频曲线相加。

    当 ω → 0 时,φ ( ω ) → − v ⋅ 90 °
    当 ω → ∞ 时,φ ( ω ) → − ( n − m ) ⋅ 90 °


2.3 系统分析

2.3.1 开环频率与闭环系统性能的关系

对于反馈系统来说,如下:

闭环传递函数GB为:

开环传递函数是前向通道传递函数G与反馈通路传递函数H的乘积。

其中:GK(s)是开环传递函数。

因此,在系统的结构、参数一定时,GB和GK也是一定的。因此系统的动态响应和稳态性能就为确定的。因此,就能够通过分析开环频率特性或者闭环频率特性来了解系统的闭环响应性能。

开环频率特性和闭环频率特性都可以分析系统性能,而在实际使用中,常常使用开环频率特性。这是因为,开环频率特性分析系统判据简单,使用方便。虽然为什么开环频率特性判据可以分析系统性能,这个过程比较复杂。

但在实际使用中,使用者往往不需要知道为什么这个判据就能说明系统性能,而只需要关注这个判据能分析系统的哪个性能,由这个判据说明这个性能怎么样,就可以。比如后面说到的相位裕量,不需要知道为什么相位裕量为什么越高,系统稳定性越高,也不需要知道相位裕量为什么要大于40。只需要知道相位裕量大于40°,系统就是稳定的,且稳定性还可以。

当然,如果能知道为什么,那么对于深入分析系统有很大的帮助。比如,知道了为什么相位裕量大于40°是稳定的,那么在解决一些非常规工况时,能够灵活使用判据快速做出判断。毕竟,相位裕量40°只是一个结合理论分析和实际使用得到的经验值。

奈式判据就是一种利用开环特性来研究闭环性能的理论。这是一种利用复变函数中的辐角原理,建立判别系统稳定与否的一种方式。

由相位裕量、幅值裕量、截止频率、三段式等指标和方式判别系统稳定性的结论均是由奈氏判据推导而来。由于推导过程比较复杂,这里不做详述。想进一步了解,可参考《自动控制原理》(刘丁主编)这本书第五章内容。


2.3.2 相位裕量&幅值裕量

  1. 原始定义

    相位裕量:开环幅频曲线幅值为1对用的相角值加上180°,称为γ。

    幅值裕量:开环幅相曲线与负实值交点处的模值|G(jωg)|的倒数,称为h。

    截止频率:一般指幅频截止频率,Bode图幅频曲线与横轴交点的频率,称为ωc

    相频截止频率:Bode图相频曲线与-180°线交点的频率,称为ωg

  2. 物理意义

    相位裕量:如果系统对频率型号ωc相位再滞后值,系统就处于临界稳定状态。

    幅值裕量:如果系统的开环放大系统增大到原来的h倍,则闭环系统就进入临界稳定状态。而在应用中,幅值裕量常常用分贝值Lh表示。

  3. 由Bode图计算方法

    相位裕量:Bode图上截止频率对应的相位曲线上的角度与-180°的差值。

    幅值裕量:Bode图幅频曲线上横轴与相位截止频率对应幅频曲线值的差值。

  4. 系统分析

    相位裕量:γ > 0则系统稳定,否则系统不稳定。γ 值越大,其系统的稳定程度越高,工程上一般要求 γ ≥ 40 ° ( 40 ° − 60 ° )。

    幅值裕量:Lh > 0则系统稳定,否则系统不稳定。Lh 值越大,其闭环系统稳定程度越高。一般要求Lh >= 6dB(6dB - 10dB)。


2.3.3 三段频分析系统性能

低频段是指Bode图在第一个转折频率之前的区间,该段区间由开环增益和积分环节决定。中频段是指Bode图在截止频率ωc 附近的区间。高频段是指频率 ω > 10ωc 的区间。

  1. 低频段与系统稳定精度的关系

    该低频段的斜率越小,位置越高,对应于系统积分环节的数目越多,开环增益K值越大。故其闭环系统在满足稳定的条件下,其稳态误差越小,系统的稳态精度越高。

  2. 中频段与系统动态性能的关系

    该中频段斜率小于-60,则很难使闭环系统稳定。若等于-40,所占频率区间不宜过宽,则闭环系统可能稳定,即使稳定,其相稳定裕度也较小,系统的平衡性较差。如果中频段斜率为-20,且占据较宽的频段区间,一般说来,不仅可以保证系统稳定,而且可以使相稳定裕度增大,取得较好的平衡性。同时以提高截止频率来保证系统要求的快速性。

  3. 高频段与系统抗干扰能力

    系统开环对数幅频在高频段的幅值,直接反映了系统对输入高频干扰信号的抑制能力。高频特性的分贝值越低,系统抗干扰能力越强。


2.3.4 其他指标对系统的影响

  1. 带宽

    系统跟踪正弦输入信号,输出信号的幅值下降到和输入幅值的某一个比例时的频率。在系统中,高频信号体现的是信号的变换快慢,一个信号中如果高频信号幅值高,则这个信号变换速度也块。所以如果一个系统的带宽低,虽然输入频率还是在带宽范围内,那么这个系统在响应变换快速信号时(比如阶跃),它的输出就不能响应的变化速度快,会有一个平滑的过程,并且过程长幅值低,及动态指标差(响应时间等)。反之,如果系统的带宽高,则可以动态性能高,但此时会影响幅值裕量和相位裕量,影响系统的稳定性能。所以,一个系统的带宽需要高,但不能太高。

  2. 截止频率

    截止频率根据定义,是指增益为1的时候对应频率,那么其分析规律和带宽是一致的。