并联有源谐波滤波器(AHF)仿真分析报告
模型:
ActiveHarmonicFilter.slx(MATLAB R2023b 自带示例Three-Phase Active Harmonic Filter)
分析日期:2026-10-06
工具链:MATLAB R2023b(Simulink / Simscape Electrical 专用电力系统元件库)+ 纯 MATLAB 绘图
数据来源:原模型实机运行导出,12 路信号 × 125001 采样点(步长 2 µs)
目录
- 概述
- 电路拓扑与参数
- Simulink 模型截图
- 仿真设置与数据导出
- 工况时序
- 稳态波形分析
- 谐波与 THD 分析
- AHF 动态响应
- 关键参数对比仿真
- 结论
- 文件清单与复现步骤
- 分析过程中发现的问题与处理
1. 概述
1.1 装置功能
并联有源谐波滤波器(Shunt Active Harmonic Filter, AHF)接在负载与电网之间的公共连接点(PCC)上,
通过实时检测负载电流中的谐波分量,由电压型 IGBT 逆变器向 PCC注入等值反向的谐波电流,
使电网侧只看到基波电流,从而把非线性负载产生的谐波"就地消纳"。
与无源滤波器(LC 调谐支路)相比,有源方案的特点是:
- 补偿特性不依赖电网阻抗,不存在与电网谐振的风险;
- 能同时补偿多次谐波与无功,且补偿容量可随负载变化;
- 需要自换相变流器,有开关损耗,容量受器件限制。
1.2 本示例的控制思想
示例采用参考电流跟踪方案:
- PLL锁定电网相位,生成与电网同相、幅值等于负载电流有效值的正弦参考电流
i_ref; - 参考电流与实测电网电流之差
i_ref − i_s即为需要补偿的谐波误差; - 滞环(hysteresis)电流控制器根据误差正负直接翻转 6 个 IGBT 的门极信号,
驱动逆变器输出该误差电流,注入 PCC。
控制目标是让电网电流尽可能等于纯正弦的i_ref——即让电源"看不到"负载的谐波。
2. 电路拓扑与参数
2.1 主电路结构
| 位置 | 环节 | 关键参数 |
|---|---|---|
| 左侧 | 三相交流电源 | 4.16 kV(实测线电压有效值 4154 V)/ 60 Hz |
| → | 线路电感Ls | 电源内阻抗 |
| → | PCC(公共连接点) | 有源滤波器并联接入点 |
| → | 负载支路 | 两台二极管整流器 + 直流电流源 |
| ↓ | 并联支路 | 有源谐波滤波器(AHF) |
负载由两台相移 30° 的二极管整流器构成:
- Δ/Δ 接法整流器(直流电流 2000 A → 3000 A 阶跃)
- Δ/Y 接法整流器(直流电流 3000 A,在 t = 10/60 s 经断路器投入)
两台整流器叠加即构成等效 12 脉波整流,其 5 次、7 次谐波因相移而相互抵消。
2.2 AHF 内部构成
| 部件 | 参数 | 说明 |
|---|---|---|
交流侧滤波电感Laf | 1 mH | 抑制开关纹波、决定电流跟踪速率 |
直流母线电容C1、C2 | 各 500 µF(串联) | 支撑直流母线 |
| IGBT 逆变桥 | 两电平六脉冲 | 由滞环控制器直接给出门极信号 |
控制基准max_current | 4000 A | 决定误差信号的增益(Gain1 = 1/max_current) |
参考频率freq | 60 Hz | 供 PLL 与 RMS 环节使用 |
数据文件
ActiveHarmonicFilter.mat中另有AF.activefilter.voltage = 440。经全模型参数引用扫描确认,
该字段未被任何模块引用,属设计数据中的参考值,不影响仿真。
2.3 控制器内部结构
三相误差分别经 3 个减法环节得到i_ref − i_meas,再经 6 个 Relay(阈值 ±eps,等效过零比较)
生成 6 路门极信号g,直接驱动逆变桥。
2.4 测量与记录环节
Measurements子系统汇集 6 路测量:Vabc_source、Iabc_source、Vabc_AF、Iabc_AF、Vabc_load、Iabc_load;AHF 子系统内部另有Vdc、Idc,共 8 路进入responses示波器。
3. Simulink 模型截图
原模型在 MATLAB R2023b 中打开后的实际界面(print -s<模型名>渲染,非示意图)。
3.1 模型总图
图中可见:三相电源 → 线路电感Ls→Shunt active harmonic filter(青色,AHF 本体)→Load Bus→
上下两路负载(上:Δ/Δ 整流器 + 负载,输出Vdc1;下:经三相断路器的 Δ/Y 整流器 + 负载,输出Vdc2)。
左下角为powergui,显示Discrete 2e-06 s。
3.2 powergui 求解器设置
块面显示Discrete 2e-06 s.,即电气网络的离散仿真步长为 2 µs,
与模型全局求解器设置(变步长ode45+ powergui 离散化)一致。
4. 仿真设置与数据导出
4.1 求解器设置
| 项目 | 取值 |
|---|---|
| 求解器 | ode45(变步长) |
| powergui 离散化步长 | 2 µs(Discrete 2e-06 s) |
| 仿真时长 | 15/60= 0.25 s |
| 采样点数 | 125001(每路信号) |
| 记录方式 | 逐示波器挂接To Workspace(Structure With Time) |
4.2 数据导出方法
原模型由powergui封装,sim()在常规配置下只返回时间轴,不产生任何工作区数据变量。
本报告采用的方法是:对 6 个示波器的每一个输入端口,从其源端口引出一条支线接到新建的To Workspace模块,共 14 路信号(responses示波器有 8 个端口,是信息量最大的一路)。
导出脚本:ahf_export2.m。导出的信号清单:
| 变量 | 通道 | 含义 |
|---|---|---|
ws_Vs_abc | 3 | 电源相电压 |
ws_responses_p1 | 3 | Vabc_source电源线电压 |
ws_responses_p2 | 3 | Iabc_source电源电流(补偿后) |
ws_responses_p3 | 3 | Vabc_AF滤波器接入点电压 |
ws_responses_p4 | 3 | Iabc_AF滤波器注入电流 |
ws_responses_p5 | 3 | Vabc_load负载电压 |
ws_responses_p6 | 3 | Iabc_load负载电流(未补偿) |
ws_responses_p7 | 1 | Vdc滤波器直流母线电压 |
ws_responses_p8 | 1 | Idc滤波器直流母线电流 |
ws_Iref_Isource_p1 | 2 | i_ref与i_source |
ws_Vdc1/ws_Vdc2 | 1 / 1 | 两路负载直流母线电压 |
5. 工况时序
| 时刻 | 事件 | 负载形态 | 负载电流峰值 |
|---|---|---|---|
| t = 0 | 投入 Δ/Δ 整流器,直流电流 2000 A | 6 脉波 | ±2.2 kA |
| t = 5/60 = 83.3 ms | 直流电流阶跃 2000 A → 3000 A | 6 脉波 | ±3.3 kA |
| t = 10/60 = 166.7 ms | 断路器闭合,Δ/Y 整流器投入 | 12 脉波 | ±6.8 kA |
从全时段波形可以清楚看到:三种工况下源电流(蓝)始终紧随负载电流(橙)的基波包络,
负载电流中的换流缺口(6 脉波特征)在源侧完全消失。
6. 稳态波形分析
6.1 补偿效果(核心)
单个工频周期(第 3 周期,6 脉波 2000 A):
- 负载电流
i_load(橙):平顶 ±2.2 kA,每个周期两次换流缺口——典型的 6 脉波二极管整流电流; - 源电流
i_source(蓝):接近理想正弦,换流缺口完全被补掉。
6.2 三路电流关系
滤波器注入电流i_AF(绿)恰好等于i_load与i_source之差,且主要包含高次谐波分量,
其有效值远小于负载电流(见下表),这也是有源滤波方案容量利用率高的原因。
| 工况 | 负载电流有效值 | 源电流有效值 | 注入电流有效值 | 注入容量占比 |
|---|---|---|---|---|
| 6 脉波 2000 A | 1600 A | 1599 A | 351 A | 22.0 % |
| 6 脉波 3000 A | 2381 A | 2393 A | 480 A | 20.2 % |
| 12 脉波 3000 A | 4670 A | 4702 A | 223 A | 4.8 % |
12 脉波工况下负载自身的谐波已很低,因此需要滤波器注入的电流显著减小——这正是
"无源多脉波整流 + 有源滤波"组合的价值:用便宜的变压器绕组抵消掉最主要的 5、7 次谐波,
剩余的 11、13 次再由 AHF 处理,AHF 容量可以做得更小。
6.3 滤波器直流母线
| 窗口 | 母线电压均值 | 纹波峰峰值 | 纹波率 |
|---|---|---|---|
| 第 3 周期(充电暂态) | 12784 V | 5234 V | 40.9 % |
| 第 8 周期(6 脉波 3000 A) | 7632 V | 1082 V | 14.2 % |
| 第 13 周期(12 脉波,稳态) | 7253 V | 621 V | 8.6 % |
母线电压在 t = 27 ms 处出现16.4 kV 的充电过冲——模型未设直流电压闭环调节,
母线由 IGBT 桥的反并二极管自然整流充电,能量平衡后稳定在约 7.25 kV
(对于 4154 V 线电压的系统,峰值线电压为 5874 V,母线必须高于该值才能注入电流,7.25 kV 是合理的)。
6.4 三相电压与电流
三相电压为对称正弦(相电压有效值 2398 V,线电压 4154 V);三相源电流在运行到 12 脉波工况后
幅值增大但波形依然保持正弦。
7. 谐波与 THD 分析
7.1 分析方法
采用官方示例的 FFT 窗口口径(一个基波周期,60 Hz):
- W1 = 第 3 周期
[2/60, 3/60]——6 脉波 / 2000 A - W2 = 第 8 周期
[7/60, 8/60]——6 脉波 / 3000 A - W3 = 第 13 周期
[12/60, 13/60]——12 脉波 / 3000 A
各次谐波幅值由窗口内的直接 DFT 积分求得:H(k·f₀) = (2/T)·∫y(t)·e^(−j2πkf₀t)dt,
THD = √(ΣHₖ²)/H₁,取至 50 次。
7.2 频谱(6 脉波工况)
负载电流呈现教科书式的 6 脉波谐波谱——只含6k±1 次(5、7、11、13…),幅值依次按 1/h 衰减:
| 谐波次数 | 5 次 | 7 次 | 11 次 | 13 次 | 17 次 | 19 次 |
|---|---|---|---|---|---|---|
| 负载电流 | 17.94 % | 11.52 % | 5.28 % | 3.57 % | 1.86 % | 1.37 % |
| 源电流 | 0.03 % | 0.09 % | 0.12 % | 0.03 % | — | — |
所有谐波在源侧被压到0.2 % 以下。
7.3 频谱(12 脉波工况)
Δ/Δ 与 Δ/Y 两台整流器相移 30° 后,5 次与 7 次谐波相互抵消,谐波谱跳变为12k±1 次:
| 谐波次数 | 5 次 | 7 次 | 11 次 | 13 次 | 23 次 | 25 次 |
|---|---|---|---|---|---|---|
| 负载电流 | 0.01 % | 0.00 % | 3.96 % | 2.43 % | 0.95 % | 0.81 % |
| 源电流 | 0.17 % | 0.07 % | 0.40 % | 0.21 % | — | — |
这正是多脉波整流的价值:把能量从最低次(最难滤除、幅值最大的 5、7 次)挪到更高次,
使滤波任务大幅减轻。
7.4 谐波结构对比
7.5 THD 汇总与官方数值对照
| 工况 | 窗口 | 负载电流 THD | 源电流 THD | 降幅 |
|---|---|---|---|---|
| 6 脉波 2000 A | 第 3 周期 | 22.41 % | 0.35 % | 98.5 % |
| 6 脉波 3000 A | 第 8 周期 | 20.56 % | 0.94 % | 95.4 % |
| 12 脉波 3000 A | 第 13 周期 | 4.80 % | 1.13 % | 76.6 % |
与官方文档给出的数值对照:
| 来源 | 第 3 周期 | 第 13 周期 |
|---|---|---|
| 官方文档 | 22.41 % → 0.69 % | 4.80 % → 0.93 % |
| 本报告实测 | 22.41 % → 0.35 % | 4.80 % → 1.13 % |
负载侧 THD 完全吻合(22.41 %、4.80 %,误差 < 0.01 %),
源侧数值同量级(差异来自 FFT 实现细节:官方用 powergui 的 FFT 工具带插值,
本报告用原始采样直接积分)。这说明分析口径与数据链路是正确的。
8. AHF 动态响应
上图给出全时段的i_ref与i_source对比:负载从 2000 A 阶跃到 3000 A(t = 83.3 ms)、
以及 12 脉波整流器投入(t = 166.7 ms)两个扰动下,实际源电流均在约 1~2 个工频周期内
重新贴合参考电流,与官方描述"captures the new reference current within one cycle"一致。
下表为各参数工况下测得的扰动恢复时间(以工频周期计,判据为电流残差 RMS 降至初始值的 10 %):
| 参数工况 | 恢复时间 |
|---|---|
Laf= 0.5 / 1 / 2 mH | 1.75 周期 |
Laf= 4 / 8 mH | > 3 周期(未恢复) |
C_dc= 100~1000 µF | 1.75 周期 |
C_dc= 2000 µF | 2.25 周期 |
max_current= 4000 A(设计值) | 1.75 周期 |
max_current≤ 2000 A | 未恢复(失稳) |
9. 关键参数对比仿真
对 5 个参数做了单参数扫描(每次只改一个,其余保持设计值),共 23 次完整仿真。
评价指标取三个官方窗口的源电流 THD、直流母线电压及其纹波、滤波器注入电流有效值、扰动恢复时间。
9.1 灵敏度排序
各指标在扫描范围内的最大相对变化(以中位数为基准):
| 参数 | 源 THD(第3周期) | 源 THD(第13周期) | 注入电流I_af | 母线纹波ΔV_dc |
|---|---|---|---|---|
控制器基准I_max | 3739 % | 260 % | 224 % | 159 % |
交流电感L_af | 2209 % | 171 % | 34 % | 77 % |
| 12 脉波投入时刻 | 5067 %※ | 16 % | 122 % | 123 % |
直流电容C_dc | 21 % | 18 % | 3 % | 328 % |
负载电流I_dc | 0 % | 26 % | 56 % | 65 % |
※ 该项数值偏大是因为该参数取
2/60 s时,第 3 周期窗口恰好落在投入暂态内,
属过渡过程而非稳态差异,不能与其他项直接比较。
结论:本装置最关键的两个参数是控制器增益基准I_max与交流滤波电感L_af——
它们直接决定电流跟踪的精度与稳定性;直流电容只影响直流侧纹波,对补偿效果几乎无影响。
9.2 交流滤波电感L_af(最关键设计参数)
L_af | 源 THD 第3周期 | 源 THD 第8周期 | 源 THD 第13周期 | 母线电压 | 注入电流 |
|---|---|---|---|---|---|
| 0.5 mH | 0.50 % | 0.16 % | 0.95 % | 6945 V | 233 A |
| 1 mH(设计值) | 0.35 % | 0.94 % | 1.13 % | 7253 V | 223 A |
| 2 mH | 0.46 % | 3.46 % | 1.57 % | 8261 V | 212 A |
| 4 mH | 5.08 % | 7.46 % | 2.41 % | 9875 V | 190 A |
| 8 mH | 11.36 % | 11.59 % | 3.62 % | 11611 V | 159 A |
机理:电感决定电流变化率di/dt = (v_inv − v_pcc)/L。电感越大,逆变器能提供的电流斜率越小,
滞环控制器来不及跟上参考误差 → 跟踪失败 → 谐波残余在源侧出现。同时,跟踪能力下降使注入电流减小,
能量在直流母线累积,母线电压被动抬升(6.9 kV → 11.6 kV)。
设计建议:L_af应取在"刚好满足最大di/dt需求"的下限附近。本模型 1 mH 为最优;
增大到 4 mH 以上补偿效果急剧恶化(THD 上升一个数量级)。
9.3 控制器基准I_max(稳定性最敏感)
Gain1 = 1/max_current,因此该值越小则环路增益越大。
I_max | 环路增益比 | 源 THD 第3周期 | 源 THD 第13周期 | 注入电流 | 母线纹波 | 状态 |
|---|---|---|---|---|---|---|
| 500 A | 8× | 45.85 % | 33.53 % | 2066 A | 16387 V | 失稳 |
| 1000 A | 4× | 5.15 % | 12.53 % | 1023 A | 11324 V | 振荡 |
| 2000 A | 2× | 0.50 % | 12.70 % | 2500 A | 9989 V | 过补偿 |
| 4000 A(设计值) | 1× | 0.35 % | 1.13 % | 223 A | 621 V | 正常 |
| 8000 A | 0.5× | 1.22 % | 0.98 % | 213 A | 524 V | 增益偏低 |
机理:该增益把误差信号放大后作为参考电流,增益过大时注入电流远超实际所需
(2000 A 时注入 2500 A,超过负载谐波电流本身),形成过补偿与振荡;
增益过小时(8000 A)响应变慢,暂态窗口 THD 上升。
设计建议:设计值 4000 A 恰在最佳点。环路增益放大 2 倍以上即进入失稳区,
该参数没有向"更小"方向的安全裕度,整定时须特别谨慎。
9.4 直流母线电容C_dc
C_dc | 母线纹波峰峰值 | 纹波率 | 源 THD 第3周期 | 源 THD 第13周期 |
|---|---|---|---|---|
| 100 µF | 2230 V | 31.8 % | 0.33 % | 1.06 % |
| 250 µF | 1057 V | 14.8 % | 0.36 % | 1.10 % |
| 500 µF(设计值) | 621 V | 8.6 % | 0.35 % | 1.13 % |
| 1000 µF | 284 V | 3.9 % | 0.32 % | 1.14 % |
| 2000 µF | 195 V | 2.8 % | 0.29 % | 1.26 % |
机理:直流纹波与电容近似成反比(100 µF → 2000 µF,纹波 2230 V → 195 V,降 11.4 倍,
而容量增 20 倍,因纹波同时受直流电压水平影响)。交流侧补偿效果几乎不受电容影响
(THD 在 0.29 %–0.36 % 之间),这是"直流侧储能"与"交流侧补偿"解耦的体现。
设计建议:若只关注交流补偿质量,电容可以取得较小;取大容量的意义在于降低直流纹波、
提高抗扰动能力(2000 µF 时恢复时间反而从 1.75 升到 2.25 周期,说明过大电容会让直流侧动态变慢)。
9.5 负载电流水平与平衡度
改变 Δ/Δ 整流器的直流电流(Δ/Y 侧固定 3000 A),观察 12 脉波工况:
Δ/Δ 侧I_dc | 负载 THD(第13周期) | 源 THD(第13周期) | 注入电流 |
|---|---|---|---|
| 1000 A | 12.36 % | 1.45 % | 380 A |
| 2000 A | 7.07 % | 1.24 % | 271 A |
| 3000 A(平衡) | 4.80 % | 1.13 % | 223 A |
| 4000 A | 5.22 % | 1.21 % | 292 A |
重要发现:12 脉波的谐波抵消效果严格依赖两台整流器电流平衡。
当 Δ/Δ 侧只有 1000 A 而 Δ/Y 侧 3000 A 时,相移抵消不再完全,负载 THD 从 4.80 % 恶化到 12.36 %
(5、7 次谐波重新出现)。设计多脉波整流系统时,两套绕组的负载电流必须匹配。
值得注意的是,即便负载 THD 恶化到 12.36 %,源侧仍只有 1.45 % —— AHF 对不平衡工况同样有效。
9.6 12 脉波整流器投入时刻
| 断路器动作时刻 | 负载 THD(第13周期) | 源 THD(第13周期) | 注入电流 |
|---|---|---|---|
| 2/60 s | 4.80 % | 0.98 % | 213 A |
| 5/60 s | 4.80 % | 0.96 % | 214 A |
| 10/60 s(设计值) | 4.80 % | 1.13 % | 223 A |
| 20/60 s(超出仿真时长,等于不投入) | 20.56 % | 1.07 % | 479 A |
关键结论:当 12 脉波整流器始终不投入时,负载电流 THD 高达20.56 %,
而源电流 THD 仍只有1.07 %—— 这说明AHF 单凭自身即可完成约 95 % 的谐波治理,
多脉波整流并非必需,只是能显著降低 AHF 的补偿容量(注入电流从 479 A 降到 223 A,减少 53 %)。
这给出了两种工程路线的量化权衡:
| 方案 | 负载侧 THD | 源侧 THD | AHF 注入电流 | 代价 |
|---|---|---|---|---|
| 仅 AHF | 20.56 % | 1.07 % | 479 A | AHF 容量大、开关损耗高 |
| 多脉波 + AHF | 4.80 % | 1.13 % | 223 A | 需要专用移相变压器 |
10. 结论
补偿效果:本示例的并联 AHF 把源电流 THD 从负载侧的 22.41 % 降到0.35 %(6 脉波工况,
降幅 98.5 %);12 脉波工况下从 4.80 % 降到 1.13 %。负载侧 THD 与官方文档完全吻合。谐波选择性:6 脉波负载的谐波集中在 5、7、11、13 次(5 次高达 17.94 %);
加入 Δ/Y 整流器构成 12 脉波后,5、7 次被抵消至 0.01 % 以下,谐波谱跳变到 11、13 次。
AHF 对两种工况均有效,源侧所有谐波都被压到 0.4 % 以下。动态性能:负载阶跃与整流器投切两种扰动下,AHF 在1.75 个工频周期内重新跟踪参考电流。
参数敏感度(按影响从大到小):
控制器增益基准I_max> 交流电感L_af> 负载平衡度 > 直流电容C_dc。I_max是稳定性开关:环路增益放大 2 倍即进入过补偿/失稳区,设计值 4000 A 已在最佳点;L_af是跟踪能力的开关:超过 2 mH 后 THD 急剧恶化(4 mH 时 5.08 %,8 mH 时 11.36 %),
设计值 1 mH 为最优;C_dc只影响直流纹波(100 µF → 2000 µF 纹波降 11 倍),对交流补偿几乎无影响。
工程权衡:AHF 单独使用即可达到约 95 % 的谐波治理率;
引入 12 脉波整流可把 AHF 所需注入电流减少 53 %(479 A → 223 A),但代价是移相变压器与
严格的负载平衡要求(两侧电流不匹配时负载 THD 从 4.80 % 恶化到 12.36 %)。
11. 文件清单与复现步骤
11.1 目录结构
ActiveHarmonicFilterExample/ ├── 有源谐波滤波器仿真分析报告.md 本报告 ├── ahf_export2.m 数据导出脚本(挂接 To Workspace,导出 14 路信号) ├── ahf_plot.m 结果绘图脚本(波形/频谱/THD,纯 MATLAB) ├── ahf_sweep_run.m 参数对比仿真脚本(脚本形式,需在 base 工作区执行) ├── ahf_plot_sweep.m 参数扫描绘图脚本 ├── extra_stats.m 附加统计(谐波明细、电压等级、母线纹波) ├── shoot_model.m / shoot_deep.m / shoot_more.m / shoot_powergui.m 模型界面截图脚本 ├── archive_261006/ 一次性侦察脚本留档 ├── ahf_scope.mat 基准工况全量数据(14 路信号) ├── sweep_laf.mat / sweep_cap.mat / sweep_gain.mat ├── sweep_step.mat / sweep_breaker.mat 五组扫描结果 ├── slprj/ Simulink 编译缓存(可再生) └── figs/ 全部图片(22 张)与汇总表 │ ├── —— 模型界面截图(6 张)—— ├── m1_model.png 模型总图 ├── m2_ahf.png AHF 子系统内部 ├── m3_hysteresis.png 滞环电流控制器 ├── m4_measurements.png 测量子系统 ├── m5_inverter.png IGBT 逆变桥 ├── m6_powergui.png powergui 求解器设置(Discrete 2e-06 s) │ ├── —— 仿真结果(10 张)—— ├── w1_补偿效果_负载vs源电流.png 核心:负载电流 vs 源电流 ├── w2_三路电流.png 负载/源/滤波器注入电流 ├── w3_全时段_负载与源电流.png 三个阶段全览 ├── w4_直流母线电压与电流.png Vdc、Idc 全时段 ├── w5_频谱_第3周期_6脉波.png 6 脉波谐波谱 ├── w6_频谱_第13周期_12脉波.png 12 脉波谐波谱 ├── w7_THD对比柱状图.png 三工况 THD 对比 ├── w8_参考电流跟踪.png 动态响应 ├── w9_谐波结构对比.png 6 脉波 vs 12 脉波 ├── w10_三相电压电流.png 三相电压电流 │ ├── —— 参数扫描(6 张)—— ├── s1_电感Laf扫描.png 交流电感影响 ├── s2_直流电容扫描.png 直流电容影响 ├── s3_控制器增益扫描.png 控制器增益影响 ├── s4_负载电流扫描.png 负载水平与平衡度 ├── s5_投入时刻扫描.png 12 脉波投入时刻 ├── s6_灵敏度矩阵.png 参数灵敏度热力图 │ ├── ahf_stats.csv 三工况统计表 └── sweep_summary.csv 全部 23 次扫描运行的指标明细11.2 复现步骤
第一步:导出仿真数据(MATLAB R2023b)
cd('<本示例目录>')ahf_export2% 自动挂接 To Workspace 并运行仿真,生成 ahf_scope.mat第二步:绘制结果图
ahf_plot% 生成 figs/w1..w10 与 ahf_stats.csvextra_stats% 打印谐波明细等附加统计第三步:模型界面截图
shoot_model shoot_deep shoot_more% 生成 figs/m1..m6第四步:参数对比仿真(逐组运行,每组约 1 分钟)
SWEEP_NAME='laf';ahf_sweep_run SWEEP_NAME='cap';ahf_sweep_run SWEEP_NAME='gain';ahf_sweep_run SWEEP_NAME='step';ahf_sweep_run SWEEP_NAME='breaker';ahf_sweep_run ahf_plot_sweep% 生成 figs/s1..s6 与 sweep_summary.csv⚠️
ahf_sweep_run必须以脚本形式在 base 工作区执行(先赋SWEEP_NAME再运行),
不能写成函数——原因见第 12 章第 2 条。
12. 分析过程中发现的问题与处理
本章记录本次分析中踩到的坑,供后续复用。
12.1 powergui 模型的数据导出
模型的电气网络由powergui求解,sim()在默认配置下只返回时间轴(ReturnWorkspaceOutputs='off'
时返回tout),不产生任何数据变量。早期尝试过但全部失败的路径包括:
| 尝试 | 结果 |
|---|---|
模型级LoggingToFile | 只生成含SimulationMetadata的空 mat 文件 |
线对象DataLogging/SignalLogging | R2023b 已移除这些线参数 |
Scope 块自身的DataLogging+DataLoggingVariableName | 参数可设置成功,但变量不落盘 |
powergui 内置 FFT 工具(save='on') | 不生成文件 |
| 从 Scope 图形对象读取数据 | ScopeLineAnimator无可读数据属性 |
| 从 Scope 截图数字化反解波形 | 曲线跳跃、中文变方框,THD 误差超过 100 %,不可用 |
可行方案:为每个示波器的每一个输入端口,从其源端口引支线接到To Workspace
(SaveFormat = 'Structure With Time')。关键点是必须逐端口处理——responses示波器有 8 个输入端口,只处理第一个会丢掉 7 路最有价值的信号。
12.2 从函数内调用sim时 To Workspace 变量不落盘
这是本次最耗时的问题。现象:把参数扫描写成function后,5 次不同参数运行的指标完全相同。
排查结论:当sim()从函数内部发出时,To Workspace模块的变量不会写入 base 工作区,
因此evalin('base', ...)读到的一直是上一次留下的陈旧数据,看起来就像"参数不起作用"。
处置:把扫描脚本改写为脚本文件(ahf_sweep_run.m),在 base 工作区执行,
并先用SWEEP_NAME传入配置。脚本内的局部函数有独立作用域,故所有度量计算直接内联在脚本主体中。
12.3save_system的"另存为"会重命名内存中的模型
为做参数扫描,曾用save_system(mdl, 'ahf_work.slx')生成工作副本。
但该调用具有Save As 语义——它把内存中的模型重命名为ahf_work,
导致ActiveHarmonicFilter从内存中消失。此后所有load_system('ActiveHarmonicFilter')
都从磁盘重新加载原始模型,之前挂接的 14 个To Workspace块全部丢失,
仿真自然也就不再输出数据。
处置:不再用save_system生成副本;参数变更通过set_param(块, 参数, 值)+set_param(mdl,'SimulationCommand','update')直接施加于当前已加载(且已挂接记录块)的模型。
12.4 遮罩间接引用导致参数变更不被检测
AHF 子系统的块参数写作表达式platform.activefilter.Laf,其中platform是遮罩工作区变量
(遮罩参数platform = AF)。在 base 工作区重新赋值AF结构体后,
Simulink 不会检测到该变化,仿真仍沿用已编译模型,表现为"改参数无效果"。
同时经全模型扫描确认,AF.activefilter.voltage字段未被任何模块引用,改动它必然无效——
这也是早期"扫描结果完全相同"的原因之一。
处置:直接修改块本身的对话参数(set_param(LAF,'Inductance','8e-3')),
并在每次修改后强制update触发重编译。扫描结束后再还原为原表达式。
12.5 中文字体名在中文 Windows 上是本地化名
MATLAB 绘图默认字体用'SimSun'会找不到字体;在中文版 Windows 上listfonts返回的是
本地化名称宋体。本报告全部图件使用set(ax,'FontName','宋体')与set(0,'defaultAxesFontName','宋体')设置,中文与 LaTeX 数学符号(i_{load}等)均正常渲染。
12.6 谐波谱图必须用离散竖线而非柱状图
在对数纵轴上使用bar绘制谐波谱时,柱体从 0 起画而 0 在对数轴上不存在,
MATLAB 会把柱体拉到坐标轴底部,导致所有柱体连成一片色块,完全无法读数。
处置:改为手工绘制离散竖线(stem)+ 标记点,这也是电力电子谐波谱的标准表现形式。
报告完