首页 理论教育 数字仿真命令:优化频率特性的实现

数字仿真命令:优化频率特性的实现

时间:2023-07-02 理论教育 版权反馈
【摘要】:每个子图对应表示传递函数矩阵中相应传递函数的伯德图。语句如下:上述语句中频率书写格式如下:2.返回数据,不直接作图bode命令返回幅值和相位。幅值比的分贝数为mad=20*log10。length表示计算的频率点数。该命令用于返回第iu输入引起的各输出频率响应。nyquist命令返回的是实频和虚频响应序列,nichols命令返回的是幅频和相频响应序列。实际上,nichols命令的返回值与对应情况下bode命令的返回值是相同的,都是幅频和相频响应序列。

数字仿真命令:优化频率特性的实现

1.直接绘图命令(以伯德图为例)

978-7-111-35881-7-Chapter04-27.jpg

仅绘制传递函数为有理分式的SISO系统伯德图,添加半对数虚格线。

978-7-111-35881-7-Chapter04-28.jpg

绘制任意系统伯德图。其中,sys可以是传递函数的有理分式形式tf,可以是零极点形式zpk,也可以是状态空间模型ss。对于状态空间模型,将绘制p×m个子图,子图排成p行(p为输出数),m列(m为输入数)。每个子图对应表示传递函数矩阵中相应传递函数的伯德图。

978-7-111-35881-7-Chapter04-29.jpg

该命令用于绘制第iu输入的伯德图。显示图形为p行1列,对应命令bode(sys,w)中的某一列图形。如果要单独绘制某个输入对所有输出的伯德图,只能使用以上命令格式,不能使用无效的命令bode(sys,iu,w)。

若将上列语句中的函数名更换成nyquist和nichols,可以得到系统的奈奎斯特图和尼科尔斯图。语句如下:

978-7-111-35881-7-Chapter04-30.jpg

上述语句中频率书写格式如下:

978-7-111-35881-7-Chapter04-31.jpg

2.返回数据,不直接作图(以伯德图为例)

bode命令返回幅值和相位。调用格式为

978-7-111-35881-7-Chapter04-32.jpg

针对SISO系统的传递函数多项式分式形式,返回输出、输入幅值之比mag和以度为单位的相位phase。幅值比(幅频特性)的分贝数为mad=20*log10(mag)。(www.xing528.com)

978-7-111-35881-7-Chapter04-33.jpg

sys可以是tf,zpk和ss形式。对于状态空间模型ss,返回的mag和phase分别表示各输入引起的各输出幅频和相频响应序列。这两个序列按[Ny,Nu,length(w)]格式显示,其中Ny=1,2,…,p,表示输出序号Nu=1,2,…,m,表示输入序号。length(w)表示计算的频率点数。返回值mag与mag[:,:,:]显示格式相同,按频率点列出各输入引起的各输出幅频值。例如,对于一个三输出二输入系统,计算频率100点,将显示100个3行2列数组。如果选定计算频率点,例如mag[:,:,51]将返回一个3行2列数组,表示第51频率点2个输入分别产生的3个幅频响应值。如果为了作图方便,需要获得任意输入对任意输出频率响应序列的1维数组,需要使用下列2条语句:

978-7-111-35881-7-Chapter04-34.jpg

同理可以求出任意输入对任意输出相频响应序列的1维数组。不过使用这种方法求出的相频响应序列在实频值过0改变符号时会出现相位突变的问题,如图3-3-1所示的情况,仿真时要特别注意。

978-7-111-35881-7-Chapter04-35.jpg

该命令用于返回第iu输入引起的各输出频率响应。显示格式为length(w)行p列。同理,所得相频序列phase也有相位突变问题。

如何才能避免相位突变呢?可以先使用ss2tf语句转换成传递函数矩阵,再对每个传递函数使用bode语句,程序如下:

978-7-111-35881-7-Chapter04-36.jpg

该命令用于返回输入1对全部输出的p个传递函数分子分母多项式系数。num1有p行,den1有l行。类似语句可以获得其余输入对全部输出的传递函数分子分母多项式系数。

978-7-111-35881-7-Chapter04-37.jpg

返回g11s)的幅频和相频响应序列mb11和pb11。mb11表示输出、输入幅值之比,其分贝值为20*log(mb11)。pb11的单位为度。类似语句可以获得其余传递函数的幅频和相频响应序列。

将上列各句的函数bode换成nyquist和nichols,可以分别得到格式完全相同的奈奎斯特曲线和尼科尔斯曲线的相应参数。nyquist命令返回的是实频和虚频响应序列,nichols命令返回的是幅频和相频响应序列。实际上,nichols命令的返回值与对应情况下bode命令的返回值是相同的,都是幅频和相频响应序列。

使用上述命令获得各种响应序列后,再使用命令plot可以获得系统的伯德图、奈奎斯特图和尼科尔斯图,并且可以根据需要进行编辑。此外,还可以移植到LabVIEW构成虚拟仿真仪。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈