十:使用MATLAB传递函数的绘制伯德图
使用MATLAB传递函数的绘制伯德图
·
最先介绍的是函数bode和logspace。其中bode用于绘制伯德图,函数logspace用于生成对数刻度的频率点向量,可以供函数bode使用。
伯德图
一个简单的例子:

其伯德图包含对数幅频增益曲线和相频特性曲线,如图

使用命令:
>> w = logspace(-1,3,200);
>> num = 5*[0.1 1];
>> f1 = [1 0];
>> f2 = [0.5 1];
>> f3 = [1/2500 0.6/50 1];
>> den = conv(f1,conv(f2,f3));
>> sys = tf(num,den)
sys =
0.5 s + 5
---------------------------------------
0.0002 s^4 + 0.0064 s^3 + 0.512 s^2 + s
Continuous-time transfer function.
>> bode(sys,w)
解释
-
logspace命令在0.1和1000之间生成200个频率点,如果没有事先给定频率向量,函数bode则自动选取参与运算的频率点,并且能在频率响应变化较快的时候,自动加大频率点的选取密度;当指定了了频率向量,可以使用logspace生成所需的频率数据。w = logspace(-1,3,200)

-
分子多项式系数
num = 5*[0.1 1]; -
因为分母是多个简单多项式的乘积,所以可以使用卷积命令
conv来求乘积后的多项式系数>> f1 = [1 0]; >> f2 = [0.5 1]; >> f3 = [1/2500 0.6/50 1]; >> den = conv(f1,conv(f2,f3));可以看到系数有五项,这显然是一个四阶系统
den = 0.0002 0.0064 0.5120 1.0000 0 -
绘制
bode图bode(sys,w)

bode参数
以上的第一个参数是传递函数模型,bode命令也支持状态空间模型表示的系统。

「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!
更多推荐
所有评论(0)