最近在整理一个含VSC换流站的交直流混联系统谐波分析项目资料时,发现一个被反复问起的问题:传统确定性谐波潮流已经能算出各次谐波电压、电流,为什么工程上还要做“随机谐波潮流”?答案其实很简单——现在电网里的谐波源几乎全是随机源:新能源出力在波动、充电桩在启停、整流器负载在变化,每次实测的谐波幅值相位都不重样。如果你还拿一组额定工况数据去评估电压畸变率,结果大概率不是偏乐观就是偏保守。
这篇内容就把“交直流随机谐波潮流算法”从建模、求解到工程落地完整拆开讲。适合正在做交直流配电网、微电网或者新能源场站电能质量评估的工程师和研究生参考,也适合刚接触谐波分析、想搞懂所谓“随机”到底怎么处理的同学。我不会贴大段论文理论,只讲我实际敲过、算过、排过错的东西。
1. 先搞清楚:交直流随机谐波潮流到底在算什么
1.1 这个算法和传统交流潮流的本质区别
传统的交流潮流算法,比如最常见的牛顿-拉夫逊法和PQ分解法,只解基波(50/60 Hz)下的有功无功分布,节点类型分PQ、PV和平衡节点,求解变量是电压幅值和相角。这套体系在纯交流系统里非常成熟,但一旦系统里出现直流网络和电压源换流器(VSC),事情就变了。
第一个变化是变量维度变多了。VSC换流站两侧要同时满足交流功率平衡、直流功率平衡,还要满足换流器内部的电压电流关系。也就是说,你不能再把直流网络简单当作一个“负的PQ负荷”塞进交流潮流里,因为换流器的控制方式(定有功、定无功、定直流电压、定交流电压)会直接改变系统稳态运行点。实际工程中更稳妥的做法是统一求解,把交流节点电压、直流节点电压、换流器控制变量一起放进扩展的牛顿方程里迭代。
第二个变化是频率维度变多了。谐波潮流需要在各个谐波频率下分别建立网络方程。交流侧的变压器、线路、并联电容器在不同频率下有不同阻抗,直流侧的平波电抗器、电缆、电容也有各自的频率特性。而换流器就像一个“混频器”,交流侧的谐波会通过换流器耦合到直流侧,直流侧的纹波也会反过来在交流侧产生谐波分量。这个耦合关系,是纯交流谐波分析根本不会遇到的东西。
1.2 随机性从哪里来,又为什么要“概率化”
很多从业者对“随机潮流”的第一反应是:我取最恶劣工况算一遍不就行了?短时间评估也许行,但要算整年的电压畸变率合格概率,或者要评估某个谐波源接入后95%概率下谐波电压是否超标,单点最恶劣工况完全没有统计意义。因为谐波不会固定在一个幅值上,它是一个随机过程。
谐波源的随机性来源包括:新能源逆变器出力随风速和光照波动、电动汽车充电桩的启停时序、工业整流器的负载变化、甚至是换流站触发角的微小偏移。你拿电能质量测试仪在现场长时间录数据就会发现,某次谐波电流的幅值直方图通常不是一条直线,而是有明显的分布形状,有的接近正态,有的偏态明显。这就需要在算法层面引入概率模型,把“最恶劣工况”扩展成“概率分布工况”。
所以交直流随机谐波潮流的完整内涵是:在交直流混联网络统一求解的基础上,进一步把谐波源处理成随机变量,让计算结果输出为一组统计量——期望值、标准差、超标概率、概率密度曲线。算法研究的是“输入随机性如何经过网络传播变成输出随机性”的规律。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 谐波源建模:确定性模型回顾与随机化改造
2.1 特征谐波和非特征谐波:电流源模型先打好底子
要随机化,先得有确定的底子。工程中主流的谐波源建模是电流源模型,也就是把整流器、逆变器这一类非线性设备看作一个注入谐波电流的恒流源,在每个谐波频率下给定注入电流的幅值和相角。
对于6脉波换流器,典型特征谐波次数是6k±1次,也就是5次、7次、11次、13次等等。理论幅值大约是基波电流的1/h倍,比如5次约20%、7次约14%。而12脉波换流器由两个6脉波通过变压器移相组合,5、7、17、19这些次数会被抵消掉大半,主要剩下11、13、23、25次。很多新手直接用理论公式算幅值,忽略了实际系统里触发角不对称、交流电压不平衡、变压器饱和等因素,现场实测往往比理论值大不少,这就是非特征谐波的来源。
所以在搭建确定性基座时,建议优先用现场实测数据反推谐波电流谱。如果项目处于设计阶段没有实测数据,再退回到理论特征谐波模型,并在随机化时把模型参数的不确定性也纳入考量。
2.2 概率模型怎么选:不要把随机变量都套成正态分布
随机谐波潮流成败的关键,在于随机变量概率密度函数的选取是否贴合实际。我见过不少论文和项目一上来就假设“谐波电流服从正态分布”,图省事,但结果往往不能用。
实际经验是这样的:负荷水平的波动通常用正态分布建模没问题;光伏出力和风电出力受气象影响,更接近Beta分布或者Weibull分布;而充电桩这类“要么不起、起就接近额定”的设备,更贴近离散的两点分布或均匀分布混合体。谐波电流的幅值和相位也不是独立随机的,幅值大时相角可能相对集中,这就需要估算协方差或者用场景法把相关性表达出来。
另外要说一个容易踩的坑:不要忽略相位随机性。有些文献只随机化幅值,把相位固定死,算出来的谐波电压叠加结果会误导人。因为多谐波源叠加时,相位关系直接决定是相互抵消还是相互加强。我自己的处理办法是:幅度和相位都作为随机变量,幅度用实测分布拟合,相位在以实测均值为中心的窄范围内随机化,还要通过实测数据拟合它们之间的相关性。
2.3 实测数据怎么转化成模型参数
如果你手头有一批电能质量记录仪数据,处理流程我建议分四步。
第一步,对长时间序列做分窗FFT,每个窗口输出一组各次谐波幅值和相位的样本。窗口长度一般取10个周波,对应IEC 61000-4-30的统计惯例。第二步,对每个谐波次数分别做概率分布拟合,可以用极大似然估计去拟正态分布、对数正态分布、Beta分布,用卡方检验或KS检验判断拟合好坏。第三步,计算各次谐波之间的相关系数矩阵,尤其是相邻次数、同一次数的幅值与相位相关性。第四步,把拟合出的分布参数和相关系数矩阵存成数据文件,作为后续随机潮流计算的输入。
这套流程看着繁琐,但一劳永逸。算过一次之后,后面不管是做方案比选还是写评估报告,直接调数据文件就行,不需要重新录数据。
3. 三类随机性处理框架怎么选:蒙特卡洛、点估计法与半不变量法
3.1 蒙特卡洛模拟:最稳但也最贵
蒙特卡洛方法思路最简单:对随机变量反复抽样,每组样本跑一次确定性交直流谐波潮流,收集成千上万次输出结果,再统计期望、方差和概率密度。只要抽样次数足够大,结果就趋近于真实分布,所以它常被当作验证其他算法的“标准答案”。
但代价极其明显。一个中等规模交直流系统,一次确定性谐波潮流求解可能需要几十次迭代;做10000次蒙特卡洛就是几十万次迭代,而且每个谐波频率下的导纳矩阵都要重新组装和求解。在实际工程项目里,这种计算量虽然在服务器上能跑,但根本不适合做批量场景分析和在线评估。
我个人的经验是:蒙特卡洛只用于小规模系统的算法验证,或者用拉丁超立方采样缩小样本量。拉丁超立方抽样配合500~1000个场景,在很多工程案例里已经能逼近5000次简单随机抽样的精度,是一个性价比很高的折中方案。
3.2 点估计法:少量确定性计算换统计矩
点估计法(PEM)的基本思想很巧妙:不用对随机变量做完整采样,而是为每个随机变量选取少数几个“代表点”,在这几个点上做确定性计算,再用加权组合求输出的统计矩。
以常用的三点法为例,假设系统有m个随机变量,对第i个随机变量在均值附近取三个位置:均值本身以及均值加减标准差乘以某个系数。每次只让一个变量偏离均值,其余变量保持在均值处,做一次确定性谐波潮流。这样一共只需要做2m+1次确定性计算,就能得到输出变量的期望和方差。相比蒙特卡洛动辄上千次,计算量小了两个数量级。
这个方法的局限是只能可靠地算到二阶矩,也就是期望和方差。如果你想进一步求输出的概率密度曲线或者高阶分位数,直接用PEM的期望方差去套正态分布,误差会比较大。这时候就要用到半不变量法。
3.3 半不变量法:线性化传播随机特性
半不变量法我在实际项目里用得最多,因为它能把随机潮流从“求几个统计数”升级成“还原完整概率分布”。思路分两步:第一步,在确定性运行点把交直流谐波潮流方程线性化,得到输出变量关于输入随机变量的灵敏度矩阵;第二步,利用半不变量的可加性,通过输入变量的各阶半不变量直接算出输出变量的半不变量,最后用Gram-Charlier级数或Edgeworth级数把概率密度函数展开还原。
这个方法的计算量极低,本质上是“一次确定性潮流加一次线性化传播”。在工程场景里特别香:换流站参数变化、线路停运、新负荷接入,这些都是小扰动级别的变化,线性化误差工程上完全可以接受。
需要强调的是,半不变量法遇到强非线性或者输入随机变量方差特别大时,误差会明显上升。比如谐波源在谐振点附近,输出对输入极度敏感,线性化前提就不成立。我的处理手法是把这类高风险场景单独挑出来,用少量蒙特卡洛样本做局部校验,别把所有场景都甩给半不变量法。
| 方法 | 确定性计算次数 | 输出信息 | 适用场景 | 主要风险 |
|---|---|---|---|---|
| 蒙特卡洛 | 数千至数万 | 完整分布 | 算法验证、小系统 | 计算量大 |
| 拉丁超立方 | 数百至一千 | 较完整分布 | 中等规模工程评估 | 样本设计依赖经验 |
| 点估计法 | 2m+1 | 期望、方差 | 快速筛选、在线评估 | 高阶分位数不准 |
| 半不变量法 | 较低 | 完整分布近似 | 大规模系统批量预测 | 强非线性场景失真 |
4. 核心算法流程:从统一潮流到随机输出统计量
4.1 交直流统一潮流怎么列方程
我推荐的方案是扩展牛顿法。以VSC换流站为例,交流侧母线i经换流变压器和换流电抗接到换流器,换流器直流侧接到直流母线k。待求变量除了交流各节点电压幅值相角、直流各节点电压,还要增加换流器的调制比和触发角/移相角。
方程分三块:交流网络有功无功平衡方程、直流网络有功平衡方程、换流器接口方程。换流器接口方程描述的是交流侧功率与直流侧功率的约束关系,以及交流电压与直流电压通过调制比建立的数学联系。把所有方程联立后,对变量求偏导得到扩展雅可比矩阵,照样用牛顿法迭代。
这里有个关键细节:直流网络的方程结构跟交流不同,直流是纯电阻或带电容电感的网络,没有相角变量。所以扩展雅可比矩阵是分块形式,交流部分维持原有的PQ/PV结构,直流部分按节点导纳直接列功率平衡,换流器部分新增的行列会把两块耦合起来。写程序时建议用分块稀疏矩阵存储,别把零元素全塞进稠密矩阵里,否则算力开销会大得离谱。
4.2 确定性谐波潮流求解:逐次频率扫描加交直流耦合
在基波潮流收敛后,确定性谐波潮流通常按谐波次数逐次求解。对第h次谐波,建立全系统导纳矩阵Y_h,交流侧按频率修正线路、变压器、负荷的等值参数,直流侧考虑平波电抗器、滤波器等的谐波阻抗,换流器则用耦合矩阵把交直流两侧的谐波电压电流关联起来。
实际程序中,最稳定的做法是交替迭代:先假定直流侧谐波电压初值,算出交流侧注入换流器的谐波电流,再求解交流网络谐波方程得到交流谐波电压;然后反过来根据交流谐波电压计算直流侧的等效扰动,更新直流网络方程,得到新的直流谐波电压;如此往复直到两侧谐波量变化小于阈值。
谐波次数通常取到49次或者50次。超过50次的谐波幅值一般很小,而且高频下的线路分布参数误差很大,算了反而引入噪声。如果系统里有特殊关注的高频谐振点,再单独扩展次数范围。
4.3 随机变量如何传到输出端:完整流程串一遍
我以点估计法为例,把完整计算流程串起来,你可以直接照着写代码。
第一步,读取系统参数和随机变量统计参数,包括各谐波电流的均值、标准差和相关系数。第二步,对m个随机变量计算三点法的位置和权重。第三步,构造2m+1个确定性场景:对第i个随机变量,分别取其均值加、均值减的偏置位置,其余变量全部取均值;最后再加一个所有变量取均值的基准场景。第四步,对每个场景调用4.1到4.2的确定性交直流谐波潮流求解器,记录关心的输出量,比如交流节点各次谐波电压、直流节点纹波电压、总谐波畸变率THD。第五步,用点估计法的加权公式把输出量的各阶矩组合起来,得到期望和标准差。
伪代码大致是:
code复制for i = 1 to m:
x_i_pos = mu_i + xi_pos * sigma_i
x_i_neg = mu_i - xi_neg * sigma_i
solve_acdc_harmonic_flow(x_i_pos) -> record_outputs
solve_acdc_harmonic_flow(x_i_neg) -> record_outputs
solve_acdc_harmonic_flow(mu_all) -> record_output
E[output^r] = sum(w_pos * output_pos^r
+ w_neg * output_neg^r
+ w_zero * output_zero^r)
注意在偏置点计算时,只改变当前变量的值,其他变量维持在均值。这套流程写完之后,标幺化基准和收敛精度都要保持一致,否则不同场景算出来的结果没有可比性。
4.4 换流站控制特性对谐波传播的影响不能忽略
谐波潮流里很多人只盯着线路阻抗和滤波器参数,忽略了换流器控制环节的影响。VSC换流器在高频下其实不是理想电压源,它的控制带宽决定了特定频率范围内的等值阻抗。实际仿真中,如果在换流器交流母线附近发生谐振,控制参数会显著影响谐振峰值的陡峭程度。
工程处理建议是:在建立谐波等值模型时,把换流器内环电流控制、外环功率控制的等效阻抗折进换流器模型。这部分参数可以从控制设计文档中拿到,如果没有,至少要保留一个合理的电抗值,比如换流变压器漏抗加换流电抗,避免把换流器简单当作零阻抗节点。很多项
