前言:
本文基于Matlab2018版本。
前几天兰总告诉了我matlab的一个功能,可以直接扫描系统的频率响应,再根据频率响应数据来得到传递函数的办法。于是我跟着Help文件研究了一下,下文是基本实现。图文版可以参考这篇文章:《在matlab中使用frestimate函数来进行频率响应分析》。
那么我为什么要做这视频呢?是因为我觉得这个功能非常强大,非常有推广的意义。曾几何时,我这种弱鸡因为搞不定CLLC的频率控制到输出电压的传递函数建模,没有准确的被控对象的模型,只能靠不断的试凑来调试控制器的参数,那真是苦不堪言。再到后面,我学会了使用matlab的系统识别功能,利用其它仿真软件(如simplis)仿真得到bode图,然后把数据导入到matlab里面,在使用matlab的频域数据分析来识别传递函数,具体可见18个月之前发过的这篇文章《利用maltab的system identification获取系统的传递函数加速你的环路设计》。
虽然利用这个办法能得根据Bode图来识别处传递函数,但是毕竟还是太麻烦。我就一直在思考,能不能在matlab里面直接进行频率响应分析,然后一步到位直接输出传递函数。答案是有的,那就是使用frestimate函数。它基于maltab的数据处理优势,使用了直接注入扰动测试响应的暴力分析频率响应的方法。然后再使用tfest函数来对扫描的频率响应数据解析为传递函数,通过这几步操作后,终于实现我梦想之中的操作:仿真>传递函数输出。
在这里,我推荐各位可以研究一下这个功能,它还可以再一次提升我们的工作效率,让我们可以大声喊出:环路补偿很容易!
具体操作就请看视频吧:
致谢:
感谢兰总的帮助与分享,非常感谢。