利用system identification来识别bode图
开关电源仿真与实用设计 2022-09-26

  前言:昨天晚上发了一篇用手动添加零极点来模拟系统传递函数的文章,今天跟大神请教了一番,利用system identification来识别bode图,可以获得更加精确的模型,从而以更准确更迅速的来实现环路设计,这里要感谢王磊大大,感谢您的帮助。

 

  实现方法:利用仿真软件获得系统从控制到输出的bode图数据,然后将数据导入到system identification,使用波形分析功能来获得传递函数,一般能达到90%以上的吻合度,这就说明是识别出来的传递函数已经足够精确,完全可考虑拿来使用了。有了准确的传递函数就可以利用昨天发的那篇文章来实现设计。


 软件:

1plecs  或其他能仿真环路的软件,要求能导出cvs格式的文件。


2matlab


3,execl


 获得仿真文件后,选择导出文件:

  然后导入到excel表格中,对数据进行修改。因为plces导出的频率是Hzmatlab中是rad/s,所有要修改频率。然后还要将db修改为正常值,使用10^(db/20)来换算一下。然后excel的数据导入到matlab中。

然后打开system identification选择导入数据。

如果没有错误就可以打开导入波形看看bode有米有问题。

可见上图,导入数据正常。然后开始模型识别,使用3P2Z来进行识别,吻合度达到98.2%

识别后的传递函数:

 观察一下识别出来的传递的bode是不是和导入的一样?可以看到,和仿真得到的数据基本一致,就可以根据该传递函数进行环路设计了。

m代码:

% LLC SISO TF
%时间:2019年1月05日

clear all;
echo off
clc

% TF:
num = [3698 -4.641e7 -1.321e13];
den = [1 9.807e4 1.212e9 4.8913e13];

Gx = tf(num, den); 
zpk(Gx)  
bode = (Gx)  
h = bodeplot(Gx) 
grid on;
setoptions(h,'FreqUnits','Hz','PhaseVisible','on');

controlSystemDesigner(Gx)


反馈传递函数:

以上,结束。


致谢:王磊大师。


多谢关注一波哟(^U^)ノ~YO


本文源自微信公众号:开关电源仿真与实用设计,不代表用户或本站观点,如有侵权,请联系nick.zong@aspencore.com 删除!

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【7.24 深圳】2025国际AI+IoT生态发展大会/2025全球 MCU及嵌入式技术论坛


  • 相关技术文库
  • EDA
  • 仿真
  • CAD
  • 芯片
下载排行榜
更多
评测报告
更多
广告