news 2026/6/17 15:56:53

Matlab Simulink下自定义单相MMC模型的最近电平逼近调制实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Matlab Simulink下自定义单相MMC模型的最近电平逼近调制实现

matlab simulink 在自带系统的单相MMC模型上实现了最近电平逼近调制,模型和函数是自己改的

直接打开Simulink自带的MMC案例时,看到系统默认用的载波移相调制,寻思着把调制策略换成最近电平逼近(NLC)。从Library Browser里拽出来几个Matlab Function模块就开始魔改,结果发现原模型的子模块电容电压平衡逻辑和NLC压根不兼容。

先把原模型的调制波生成部分给扬了,自己搭了个实时计算电平数的函数。关键是要根据当前时刻的调制比和电容总电压动态调整输出电平,这里有个坑——Simulink的function块里不能用persistent变量存历史状态,只能靠延时模块硬凑:

function n = NLC_Calc(u_ref, V_cap_sum) % 计算当前需要投入的子模块数量 N = 40; % 总子模块数 V_step = V_cap_sum / N; n = round(u_ref / V_step); n = max(min(n, N/2), -N/2); % 限制在±20之间 end

这破函数看起来简单,实际调试时发现当调制波突变时会出现电平数跳变。后来在函数外面套了个Rate Limiter模块,把电平变化率限制在每周期最多增减2个,波形立马顺眼多了。

matlab simulink 在自带系统的单相MMC模型上实现了最近电平逼近调制,模型和函数是自己改的

子模块投切逻辑才是重头戏。原模型的排序法在NLC里完全失效,得根据方向信号动态调整排序顺序。折腾出个带权重因子的冒泡排序,把即将过压的电容往前排:

function [gate] = CapacitorBalance(capVoltages, direction) weights = abs(capVoltages - 5000) .* (1 + 0.1*direction); % 5000是目标电压 [~, index] = sort(weights, 'descend'); gate = zeros(size(capVoltages)); gate(index(1:20)) = 1; % 选前20个投入 end

运行仿真时发现电容电压波动比原模型大得多,把排序算法的执行周期从50us改成20us后,电压波动从±8%降到了±3%。不过CPU占用率直接飙到90%,风扇开始鬼畜旋转。

最后在示波器上看输出波形,阶梯状特征明显多了。FFT分析显示13次谐波突然拔高,估计是固定步长仿真导致的副作用。切到变步长ode23t算法后,THD从7.2%降到5.8%,但仿真时间翻了3倍。这性能损耗和效果提升之间的平衡,够喝一壶的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 10:12:08

STM32CubeMX安装全流程:实战案例演示

以下是对您提供的博文内容进行 深度润色与重构后的专业级技术文章 。全文已彻底去除AI生成痕迹,采用真实嵌入式工程师口吻撰写,逻辑层层递进、语言自然流畅、技术细节扎实可信,并强化了“工程实践感”与“问题驱动式教学”风格。结构上打破…

作者头像 李华
网站建设 2026/6/8 23:23:32

5个秘诀让你的OneNote效率倍增:从混乱到井然有序的笔记革命

5个秘诀让你的OneNote效率倍增:从混乱到井然有序的笔记革命 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore 你是否曾遇到这样的情况:花了30分钟…

作者头像 李华
网站建设 2026/6/9 22:30:23

免费最强开源LLM:GLM-4.7-Flash保姆级部署教程

免费最强开源LLM:GLM-4.7-Flash保姆级部署教程 你是否试过——花一小时配环境,结果卡在CUDA版本不兼容;下载完30GB模型权重,发现显存不够直接OOM;好不容易跑通API,流式输出却断断续续像卡顿的视频&#xf…

作者头像 李华
网站建设 2026/6/15 11:49:47

2026年开源大模型趋势入门必看:Qwen2.5弹性部署实战指南

2026年开源大模型趋势入门必看:Qwen2.5弹性部署实战指南 你是否也遇到过这样的困扰:想快速试用一个新发布的开源大模型,却卡在环境配置、显存报错、端口冲突这些琐碎环节?明明只是想问一句“帮我写个周报模板”,结果花…

作者头像 李华
网站建设 2026/6/15 17:41:56

Chandra OCR开源生态整合:LangChain文档加载器适配与RAG pipeline构建

Chandra OCR开源生态整合:LangChain文档加载器适配与RAG pipeline构建 1. 为什么Chandra OCR值得放进你的RAG工作流? 你有没有遇到过这样的场景:手头堆着几十份扫描版合同、带公式的学术PDF、填满复选框的医疗表单,想把它们塞进…

作者头像 李华