1 引言
随着现代工业的高速发展,电力系统中的非线性负荷日益增多,电力系统谐波污染问题受到了广泛的重视。及时、准确地掌握电网中谐波的实际状况对于电力系统的安全、经济运行具有重要的意义。
电力系统的谐波分析常采用快速傅立叶变换(FFT)实现。然而,电力系统的频率并不是时刻都为额定工频这一恒定值,它会在额定工频左右的一个范围内发生变化。这样就无法保证这个实时的频率是采样频率分辨率的整数倍,也就无法达到同步采样,这是产生栅栏效应和频谱泄漏现象的主要原因之一。文[1]~[3]给出了栅栏效应和频谱泄漏现象的产生原理,并指出:插值算法可以消除栅栏效应引起的误差, 频谱泄漏引起的误差则需要用加窗函数的方法来消除。近年来,有关文献在加海宁(Hanning)窗插值算法的基础上提出了加布莱克曼-哈利斯(Blackman-Harris)窗的插值算法[2, 3]。算法具有较高的精度,但布莱克曼-哈利斯窗有3项系数和4项系数2种形式,在求解每一次谐波的幅值、相角参数时都要解一个一元五次方程(对应3项系数)或一元七次方程(对应4项系数),在运用高级语言采用迭代算法编程实现时,计算量较大。同时,在不同步采样较严重时,加布莱克曼-哈利斯窗的插值算法对偶次谐波相位的计算依然会存在较大的误差[3]。
近年来,随着人工智能技术的发展,人工神经网络已经被应用于电力系统谐波分析。应用于电力系统谐波分析的人工神经网络模型有自适应线性人工神经网络[4,5](Adaline ANN)和多层前馈自适应人工神经网络[6](MLFNN),运用人工神经网络进行谐波分析具有较高的精度,然而这2种方法均不完美:Adaline ANN模型必须在知道系统精确的基波频率的前提下才能进行精确的谐波分析。如果不知道系统的精确频率而以50Hz来进行神经网络的训练,误差则较大。MLFNN网络由于其训练过程的不确定性,一般在应用之前需要大量的训练甚至可能出现完全不能训练和局部极小值的情况,因而无法很好地满足实际应用的要求。此外, MLFNN网络由于神经元数量多,致使计算量较大。
本文将加海宁窗的FFT插值算法和Adaline神经元模型相结合,提出了一种新的电力系统谐波分析方法。
2 用加海宁窗的FFT插值算法求电力系统基波频率
一个具有各次谐波的周期信号可表示为
式中fi为第i次谐波频率;Ai、ji分别为第i次谐波幅值及相角;m为最高谐波次数。电力系统谐波分析
信号在满足香农(Shannon)采样定理的条件下以采样频率fs对其进行采样。当对信号的采样频率fs不是基频f0的整数倍时,基频信号的频率可表示为
式中N为采样点数;fs/N称为频率分辨率;k0为整数;d0为小数。
d0的物理意义见图1,信号的采样值为
海宁窗是余弦窗的一种,通常信号加窗都是在时域进行的,而对于余弦窗,可以先对信号进行傅立叶变换,然后在频域进行处理。海宁窗的N点(N为偶数)对称表达式为

由于在离散傅立叶变换中使用海宁窗的加窗序列是单边的,因此用于FFT加窗的海宁窗函数应为[1]
加海宁窗的离散傅立叶变换为
根据FFT和余弦窗函数的相关公式,可严格地推导出加海宁窗的插值公式来分别对频率、幅值和相位进行校正[7]。其基频的校正公式为
将式(8)代入式(2),即可得到准确的电力系统基波频率。
3基于自适应线性神经元结构的谐波分析原理
自适应线性(Adaline)神经元是由Widrow和Hoff最早提出的一种神经元模型,并被广泛应用于自适应信号的处理领域[8],其结构原理如图2所示。
图中,X0k,X1k,X2k,X3k,…,Xnk为Adaline神经元在时刻k的输入。输入信号的向量形式表示为Xik= [X0k,X1k,X2k,X3k,…,Xnk]T,该向量称为Adaline神经元的输入模式向量。每组输入信号都有一组相应的权值:W0k,W1k,W2k,W3k,…,Wnk。每组权值的向量形式表示为Wik=[W0k,W1k,W2k,W3k,…,Wnk]T,该向量称为权向量。Adaline神经元的输出定义为
Adaline神经元的工作过程是:将理想响应信号y(k)与Adaline神经元的输出信号进行比较,并将差值e(k)送到学习规则中,根据学习规则调整权向量Wik,使和所要求的输出y(k)相一致。
Adaline神经元的学习规则称为Widrow-Hoffd规则,也称最小均方差算法(LMS)。根据Widrow-Hoffd规则,权向量调节公式为[9]

式中w0为电力系统基波角频率,w0=2pf0;i为谐波次数;A0为直流分量。
在w0已精确求出的情况下,式(11)满足正交线性,可以应用Adaline神经元对其进行谐波分析。设Adaline神经元的输入模式向量为
权向量的初始值全部置0,即W(0)=[0,0,…,0],权向量调节公式为式(10)。实验研究[4,5]表明:用于电力系统谐波分析的Adaline人工神经网络的学习速率h取值在0.016~0.017之间有较高的调节精度和较好的收敛速度。经过大量的算例验证,本文推荐采用0.016。将采样数据对Adaline神经元进行训练,以理想的响应信号y(k)与Adaline神经元的输出信号的差值e(k)作为精度控制条件,训练之后得到的权向量即为A0、Aicosji和Aisinji。一般对精度要求越高,训练的点数越多,但在满足测量精度要求的条件下,过分提高精度是没有实际意义的。
4FFT-Adaline电力系统谐波分析算法的提出
国家标准中对电力系统谐波的测量制定了相关导则[9],将在某一时段内测得的波形离散后进行离散傅立叶变换(DFT)或快速傅立叶变换(FFT), 从而计算得到各次谐波幅值及相位参数的方法称之为时域测量方法,并提出了若干要求,如采用时域测量方法的谐波测量仪应可以测量包括直流分量在内的1~50次谐波分量,对于高于50次的谐波分量用抗混叠滤波器滤除;采样频率一般要大于6.4kHz;对于准稳态谐波、波动谐波和快速变化的谐波分别提出了测量窗口的持续时间,其中对快速变化的谐波要求测量0.08~0.16s(4~8个周期)中的波形进行谐波分析。
电力系统真实物理信号的动态特性是非常复杂的,许多学者针对电力系统频率的概念及其动态测量技术进行了深入的研究。本文提出的FFT-Adaline算法认为,在较短时间内(0.08~0.16s)电力系统的频率可近似为某一恒定值,这一假设与电力网作为大网络系统的动态特性相符合(即不可能发生频率突变)。因此加海宁窗的FFT插值算法根据较短时间内测得的信号可以较精确地得到电力系统频率。在准确计算电力系统基波频率的基础上,运用Adaline 神经元模型进行谐波分析,可以消除FFT算法和Adaline 神经元模型算法产生误差的主要因素,提高了电力系统谐波分析的精度。
5 模拟分析结果
模拟分析采用西安钢厂35kV母线(钢阿线)某次测得线电压Vbc的各次谐波参数[10],相位自拟。由于只是验证算法的精确性与可靠性,因此仅考察1~6次谐波的参数运算结果。为了进一步模拟实测到数字信号的情况,在仿真信号中考虑了系统频率的波动和加入幅值为基波幅值1%的白噪声信号,其信号为
对以上信号以采样频率10kHz(10000点/s)进行采样,采样点数为1024个,则其采样时间t=1024¸10000=0.124s,满足国家标准中对快速变化谐波的测量要求。假设测量时系统频率为f= 50.2Hz,在国家标准允许的系统频率波动范围之内。分别采用不考虑系统频率波动的Adaline模型(即认为f=50Hz不变)、加海宁窗的插值FFT算法和FFT-Adaline算法分别计算得到表1所示的结果。 其中,FFT-Adaline算法给出了将采样点(1024个)处理一遍和处理两遍(2048个)的结果,在编程实现的过程中可根据具体精度控制的要求决定训练的点数。
由模拟分析的结果可以看出:FFT-Adaline算法对频率波动时谐波的测量有较好的适应性,受白噪声干扰信号的影响较小,对各次谐波幅值和相角的计算都有较好的精度。电力系统谐波分析与加布莱克曼-哈利斯窗的插值算法相比,在用高级语言实现程序时,FFT-Adaline算法不用解方程,求出系统频率后几乎没有选择和判断语句,避免了死循环现象的出现,提高了程序的可靠性。
大量模拟分析表明,在满足采样定理和国标中对谐波测量具体要求的条件下,FFT-Adaline算法的精度只与训练次数有关,与采样频率无关,对于不含白噪声干扰的纯净数字信号,在训练1500次左右输出的结果均可达到10-3位的精度。
6 结论
本文提出了一种电力系统谐波分析的FFT-Adaline高精度算法,在C语言编程实现之后,根据电力系统中谐波的实际情况,应用MATLAB软件产生仿真数据进行了大量的模拟分析,在产生仿真数据时考虑了基波频率的变化和白噪声的干扰等可能的影响因素及国标中对谐波测量的具体要求,实验证明,本算法具有较高的精度和程序可靠性。在高速数字信号处理器(DSP)技术迅猛发展的背景下,本算法可以作为高精度电力系统谐波分析的一种有效的解决方案。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-35773-1.html
轰-6K等强力对地对海攻击飞机
易烊千玺献声小王子
还真想下去吗