3.1 概述周期电气信号的有效值测量、谐波分析理论上均建立在同步采样基础之上。同步采样要求采样窗口等于被测信号整数个周期以此消除频谱泄漏。然而要实现高精度的同步采样是存在困难的首先频率的精确测量是需要复杂的数值运算的其次MCU晶振的频率本身也存在固有的误。当采样与信号无法保持同步时会产生信号周期截断效应进而引发频谱泄漏最终导致有效值、功率等电气参数的测量误差。为了减少非同步采样误差有学者提出准同步采样技术然而准同步采样算法虽然不需要同步环节却是以牺牲时间为代价的需要对被测信号采样值进行多组重复迭代运算量也是不小。本节提出一种提升有效值与功率测量精度的简易方法。观测发现若采样起始点保持不变则被截断的波形形态固定由此引入的测量误差也就是不变。因此可通过仿真分析不同采样起始点对测量结果的影响筛选最优起始采样相位。常规采样方案中采样起始相位随机周期截断带来的频谱泄漏误差无序、随机性强直接表现为测量结果波动。而固定起始相位采样能够将随机的频谱泄漏误差转化为确定性系统误差此类误差可预测、可标定、可补偿也就可以提升测量精度。本算法无需锁相环、无需加窗运算与迭代求解仅需要优化采样启动相位或在采样缓冲区中选取合适的数据起始计算点算力消耗低能够适配各类低端、中端MCU平台。3.2 非同步采样的测量误差设被测信号为如1周波采样N点并以等间隔同步采样各点采样瞬时值为若采样点数复合采样定理则可采用复化梯形积分算法计算有效值理论上没有测量方法误差。存在同步误差时设测试系统的第1个采样点在基频的点第N个采样点在点如下图所示。由于同步误差ΔT的存在这时实际采样间隔为按此间隔连续采样N点得序列。该序列的理想有效值为。用复化梯形积分重新计算的有效值为计算相对误差即是下面以单周期采样128点频率从50-50.2Hz起始采样相位从0~90度进行仿真计算其matlab的程序以及输出结果如下下面以单周期采样128点频率从50-50.2Hz起始采样相位从0~90度进行仿真计算其matlab的程序以及输出结果如下%% 固定窗口128点RMS有效值仿真 49.8~50.2Hz初相0~90° 步长1° clear; clc; close all; % 参数配置 N 128; % 每帧采样点数 f_std 50; % 基准频率 Ts 1/(f_std*N); % 采样间隔 fs 1/Ts; freq_list [49.8,49.9,50.0,50.1,50.2]; % 仿真频率点 phi_deg_list 0:1:90; % 初始相位 0~90°1°步长 Peak sqrt(2); % 正弦峰值 U_rms_theory Peak / sqrt(2); % 理论有效值 rms_result zeros(length(freq_list), length(phi_deg_list));% 预分配结果矩阵 行频率 列相位 for fi 1:length(freq_list) %% 循环仿真 f freq_list(fi); for phi 1:length(phi_deg_list) phi_rad deg2rad(phi_deg_list(phi)); t (0:N-1). * Ts; x Peak * sin(2*pi*f*t phi_rad); u_rms sqrt( sum(x.^2)/N ); % 离散均方根有效值 rms_result(fi, phi) u_rms; end end %% 绘图 figure(Color,w,Position,[100,100,900,550]); color_set lines(5); hold on; grid on; box on; for fi 1:length(freq_list) plot(phi_deg_list, rms_result(fi,:),... Color,color_set(fi,:),LineWidth,1.5,... DisplayName,sprintf(f%.2f Hz,freq_list(fi))); end % 绘制理论有效值基准线 yline(U_rms_theory,k--,RMS,LineWidth,1.2); xlabel(起始采样相位 \varphi (°),FontSize,11); ylabel(计算得到有效值 U_{rms},FontSize,11); title(N128定点窗口RMS有效值频率49.8~50.2Hz初相0°~90°,FontSize,12); legend(Location,best);输出结果如下几条曲线在45°时交叉也即是起始采样相位在45°时的误差最小。这其实也很好理解采用45°相位启动采样波形截断或多余的片段会落在45°相位附近而正弦信号在45°处的瞬时值与有效值数值相等。这也就是45°起始采样所生成的有效值误差最小的主要原因。3.3 提升精度的其他手段除此之外还有多种方案可进一步提升测量精度例如零点漂移的实时校准以抵消元件温漂引起的零点漂移低通滤波滤除高频扰动以降低小信号时高频干扰信号对测量结果的影响过采样技术以提升AD采样的分辨率与精度等等。下面将对其一一讲解说明。零点漂移的实时校准 2.1 节所述的零偏校准属于预校准设备完成出厂标定后受环境温度变化影响零偏补偿值会发生改变由此产生零点漂移造成预存的零偏校准参数失准最终使得测量误差增大。电力系统工频信号本身基本不含直流分量据此可在设备实时运行阶段采集一个或 N 个完整整数周波的采样数据并求取平均值以此实现零偏的实时更新校准。预校准是在厂内完成的出厂零点精度好但不能跟随温度、器件老化变化工况改变后漂移误差会逐步显现。而实时零偏校准则是利用电网无直流分量的特点在线更新零偏可动态抑制温度漂移现场适应性强但受到输入扰动的影响精度偏差且会占用部分算力。低通滤波如2.1 节所示高频干扰与有效信号为均方根叠加关系。当有效信号幅值远大于干扰幅值时干扰对有效信号计算的影响可以忽略然而当干扰与有效信号处于同一数量级那其测量误差则不可忽略此时需要对高频干扰进行滤除。可选择滑动均值滤波也可设计 IIR 低通滤波器实现噪声抑制。IIR 低通滤波器通常需要浮点运算运算开销相对较大嵌入式采集场景更推荐滑动窗口均值滤波即对每 n 个采样点求取一次平均值n2~4。过采样过采样即采用远高于奈奎斯特频率的采样速率采集信号通过对多次采样结果求取算术平均以此提升 ADC 有效位数抑制随机噪声带来的测量误差。该方案无需修改硬件电路依靠软件处理即可抑制白噪声改善小信号条件下的采样精度。但过采样仅对随机高斯噪声生效无法消除电路固有的零偏失调、比例误差以及谐波干扰同时采样点数成倍增加采样耗时随之变长会占用更多 MCU 算力对系统实时性造成一定影响工程应用中需要在测量精度与响应速度之间做权衡。许多MCU的内部是支持ADC硬件过采样功能无需软件手动累积多点数据由硬件自动完成多次采样与求和平均。以HC32F460 芯片为例寄存器 ADC_CR0 中的 AVCNT [2:0] 位即为硬件平均控制位可配置 ADC 内部的采样累加次数硬件直接输出平均后的结果。