传递函数波特图的画法和理解(1)

传递函数波特图的画法和理解

传递函数波特图定义

        波特图是描述系统频率和增益或者相角关系的坐标图,横坐标一般是ω(rad/s)或者是频率f(Hz)两者是关系是ω=2π f,纵坐标是增益Gain或者是相角Phase。

如何根据传递函数画波特图

        波特图的纵坐标是以增益的对数形式出现,用L(ω)表示,L(ω)=20lg|G(jω)|,横坐标虽然是ω,但是其刻度是按照lgω来均匀分布的。现在我们需要表示出模值和角频率之间的关系。
        计算前需要知道lg|G1(jω)·G2(jω)·G3(jω)|=lg|G1(jω)|+lg|G2(jω)|+lg|G3(jω)|,因此我们只需要将一个复杂的传递函数分解成许多易于分析的典型单元即可。
        下面对一些典型环节进行分析
        ①惯性环节G(s)=1/(1+Ts),|G(jω)|=1√(ω2T2+1)L(ω)=-20lg√(ω2T2+1),
当ω<<I/T时,ω2T2≈0,L(ω)≈0,此时波特图上为一条和坐标横轴重合的直线;
当ω>>I/T时,L(ω)=-20lgωT,由于横坐标刻度为lgω,所以此时波特图上为一斜率 为-20db/dec的直线,因此转折频率ω=1/T。令T=0.001,波特图如下(我们手画的一般为近似曲线,用折线表示)
在这里插入图片描述
        ②惯性环节G(s)=1/(1-Ts),与上面所述相同,|G(jω)|=1/√(1+ω2T2
L(ω)=-20lg√(1+ω2T2)因此两者的幅值都是相同的,但是相角略有不同令T=0.001,波特图如下
在这里插入图片描述
        ③一阶微分环节G(s)=1+Ts,L(ω)=20lg√(1+ω2T2),当ω<<I/T时,ω2T2≈0,L(ω)≈0,此时波特图上为一条和坐标横轴重合的直线;当ω>>I/T时,L(ω)=20lgωT,由于横坐标刻度为lgω,所以此时波特图上为一斜率为20db/dec的直线,因此转折频率ω=1/T。令T=0.001,波特图如下
在这里插入图片描述
        ④一阶微分环节G(s)=1-Ts,幅值特性与上述相同,令T=0.001,波特图如下
在这里插入图片描述
        ⑤积分环节1/s, L(ω)=-20lgω,波特图是一条斜率为-20dB/dec且经过零点的曲线
        ⑥微分环节s, L(ω)=20lgω,波特图是一条斜率为20dB/dec且经过零点的曲线。

        知道了这些以后,对于一个传递函数,我们将其转化成上述的典型环节的形式,并找出各个环节的转折频率ω1、ω2、ω3,然后确定传递函数有几个积分或者微分环节,设系统一共有x个积分环节,y个微分环节,则波特图曲线的起始频率为,-20(x-y)dB/dec,然后随着ω逐渐增加,每遇到一个转折频率就使斜率转折一次,变化量为该环节的斜率,例如惯性环节,就使曲线斜率减20,这是因为频率小于转折频率时该环节幅值为1基本不起作用。之后再确定曲线上一点就行了,一般将ω=1代入求得该点L(1),即可画出全部曲线。

相角裕度的理解

        我们一般会根据系统的开环传递函数来画出他的波特图,然后根据他的相角裕度来判断他的稳定性,相角裕度定义为当开环传递函数幅值为1其所对应的相角加上180°。 对于一个系统,如果存在一频率点ω使得幅值大于1且相角等于-180°时,则该系统不稳定。(我一直是拿自激振荡的产生条件|G(jw)H(jw)|=1,相角=-180来理解的。 对于闭环控制系统而言,不仅要关心系统是否稳定,还需要关系系统稳定的程度,故有相位裕度和幅值裕度。

传递函数波特图的理解

        低频时开环传递函数幅值越大,指令跟踪效果越好,增益越大,系统稳态误差越小
        中频段,决定了系统的稳定性动态性能,对应着截止频率,就有对应的相角裕度;
        大于截止频率的高频段反映了系统的抗噪能力,幅值越小,对高频噪声的抑制能力越好,这就需要高频段幅频曲线斜率较陡;
        中频段斜率最好是-20dB/dec并保持较宽的频带

### 波特图绘制方法 对于控制系统频率响应分析,波特图是一种重要的可视化工具。通过波特图能够直观地展示系统的增益相位随频率变化的情况。 #### 使用MATLAB绘制波特图 在MATLAB环境中,可以通过`bode()`函数轻松实现波特图的绘制。给定线性时不变(LTI)系统模型后,只需调用此命令即可获得相应的幅频特性曲线相频特性曲线[^1]: ```matlab sys = tf([1],[1 2 1]); % 创建传递函数对象 figure; bode(sys); % 绘制Bode图 grid on; % 显示网格线 ``` 上述代码片段创建了一个简单的二阶传递函数,并利用内置功能完成了其Bode图的绘制工作。 #### 利用Python进行波特图绘制 除了MATLAB之外,在Windows环境下也可以借助于Python及其科学计算库SciPy来完成相同的工作。这种方法特别适用于那些不便于安装大型软件包如MATLAB的情况下。具体操作如下所示[^2]: ```python import numpy as np from scipy import signal import matplotlib.pyplot as plt # 定义连续时间LTI系统 s1 = signal.lti([1], [1, 2, 1]) w, mag, phase = s1.bode() plt.figure() plt.semilogx(w, mag) # Bode magnitude plot plt.title('Magnitude') plt.grid(True) plt.figure() plt.semilogx(w, phase) # Bode phase plot plt.title('Phase') plt.grid(True) plt.show() ``` 这段脚本同样构建了一套相同的二阶动态系统,并分别展示了它的幅度谱与相位谱图表。值得注意的是这里采用了半对数坐标系(`semilogx`)以便更好地呈现宽范围内的数据特征。 #### 工业现场应用考虑因素 考虑到工业场景下可能存在的资源限制条件——比如工控机上难以部署像MATLAB这样的重型应用程序——寻找轻量级替代方案变得尤为关键。为此推荐采用具备良好跨平台兼容性的通用编程语言(例如Python),配合专门设计用于工程数据分析的小型独立程序或脚本来满足实际需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值