绘制电力电子变换器伯德图的三种方法(with MATLAB 工具)

2023-12-31 15:10

本文主要是介绍绘制电力电子变换器伯德图的三种方法(with MATLAB 工具),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用bode命令绘制伯德图

首先对电力电子变换器进行建模,求出其控制环路的开环传递函数。然后在命令窗口(或者m文件)中使用tf命令构造传递函数,再使用bode命令绘制传递函数的伯德图即可。比如这里要绘制LCL逆变器电流环的伯德图。首先手动推得LCL逆变器(模块)电流环的开环传递函数为下式。

然后就在MATLAB中用下面的命令构造传递函数并绘制伯德图。

​采用本方法绘制出的伯德图如下图所示。

LCL逆变器开环伯德图

采用本方法的好处在于可以方便地使用bodeoptions等命令控制伯德图的显示范围、横纵坐标刻度等等。还可以使用MATLAB自带的工具读出幅值裕度GM、相位裕度(PM)等。在保证传递函数准确的情况下,使用本方法绘制伯德图是最快,也是最准确的方法。

simulink模型线性化的方法得到伯德图

假如simulink仿真模型中所有的元件都是从simulink库中拖出来的,那么simulink实际上是知道所有元件的传递函数的,那么对于多个元件拼凑成的系统,理论上simulink也是知道其传递函数(或者微分方程)的。

首先搭建仿真模型如下图所示(也是一个模块电流控制的LCL逆变器)。

LCL逆变器仿真模型

手动在电流环的给定端和反馈端放一个“In”、一个“Out”模块。然后再打开“Model Linearizer”工具箱(MATLAB 2019b在“APPS”页面中),在Linear Analysis Tool页面选择扰动注入的位置和输出测量的位置,见下图中的描述。

模型线性化步骤

再点击右上角的bode即可得到伯德图。下面是该方法得到的伯德图和手动使用bode命令得到的伯德图的对比,可以看出simulink线性化绘制出的(闭环)伯德图和bode命令绘制出的伯德图十分相近。它们只是陷波频率fr2上有一点偏移,特征频率点偏移是Tustin变换的显著特征。

LCL逆变器闭环伯德图

假如是用电路元件搭起来的仿真模型,实测采用模型线性化方法可能得不到伯德图或者得到的伯德图不准确。这个可能跟实际的电路模型太复杂有关系(模拟信号与数字信号混合,存在大量非线性元器件等)。个人建议还是搭建纯传递函数构成的仿真模型,然后再使用simulink模型线性化方法获取伯德图。

simulink扫频法

这是一种通过实测的方法得到伯德图。具体做法为在Linear Analysis Tool的Estimate页面,设置好小信号的注入频率和注入位置,simulink自动跑一组仿真,得到不同频率点下的响应。下图中的伯德图就是前面LCL逆变器的电流环闭环伯德图,可以看到和前面理论方法得到的闭环伯德图基本形状相近。

扫频法得到的LCL逆变器闭环伯德图

和模型线性化方法类似,扫频法也只适合用纯传递函数搭起来的仿真模型,用电路搭出来的电力电子变换器,使用扫频法测出来的精确度不高(至少LCL逆变器不高)。

总结

最准确的画伯德图的方式还是使用bode命令,但是需要先确定推导的传递函数是否准确。因此,可以先用推导的传递函数绘制一个伯德图,然后再用模型线性化方法或者扫频法实测得到一个伯德图,对比两个伯德图即可知道推导的传递函数是否准确。

这篇关于绘制电力电子变换器伯德图的三种方法(with MATLAB 工具)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556407

相关文章

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

使用Python绘制可爱的招财猫

《使用Python绘制可爱的招财猫》招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常出现在亚洲文化的商店、餐厅和家庭中,今天,我将带你用Python和matplotlib库从零开始绘制一... 目录1. 为什么选择用 python 绘制?2. 绘图的基本概念3. 实现代码解析3.1 设置绘图画

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁