APP下载

基于全相位FFT三谱线校正的电网谐波与间谐波检测算法

2021-12-17谭保华张文宇黄程旭郑焙天何嘉奇

关键词:谱线校正谐波

谭保华,张文宇,黄程旭,郑焙天,何嘉奇

(1.湖北工业大学理学院,武汉 430068;2.长江大学物理与光电工程学院,湖北 荆州 434023;3.湖北工业大学机械工程学院,武汉 430068)

随着非线性负载的普及使用,电网的结构复杂化的同时,电网谐波污染[1-3]也日益严重.因此,为了抑制谐波危害,必须对谐波进行检测,以保证电网的稳定运行.

目前,快速傅里叶变换(fast Fourier transform,FFT)在电网谐波检测中应用较为广泛[4],但时域截断过程中常产生频谱泄露和栅栏效应,影响谐波分析精度.加窗函数和谱线插值算法是FFT算法常用的改进方法,一方面是选用更好的窗函数,而另一方面是增加修正的谱线条数,文献[5-7]通过卷积得到旁瓣特性更好的窗函数,虽然构造的窗函数抑制频谱泄露能力更强,但卷积也使得窗的主瓣宽度增加,频率分辨率损失加大.文献[8-9]中使用更多的谱线修正,提高精度的同时算法复杂度也大大提高,影响了电网谐波分析的实时性.

在传统加窗插值FFT算法的基础上,文献[10]首次提出了全相位FFT算法的概念,其计算所得各条谱线的相位值与频率误差无关,满足“相位不变性”,相位检测精度较FFT更高,并且全相位FFT算法本身带有频谱泄露抑制能力.文献[11]中提出了一种组合优化算法,利用改进FFT算法计算幅值和频率,利用全相位FFT算法计算相位,该方法没有完全利用全相位FFT算法优点,文献[12]中提出了一种双窗全相位FFT双谱线校正算法,将传统FFT修正所用的比值校正法[13]推广到全相位FFT算法,获得了更好的谐波检测精度.文献[14]中将二谱线插值算法应用于全相位FFT,相比FFT二谱线插值精度更高.

综上所述,传统FFT结合谱线插值算法如果过于追求算法精度,会使算法的复杂度提升,在一些实际设备上运行较慢,最终无法同时兼顾时间和精度.文章通过分析全相位FFT算法原理,将一种FFT三谱线校正算法用于全相位FFT,并推到全相位FFT下的修正公式.文章算法能够准确计算谐波和间谐波参数,且具有一定的抗噪声能力.

1 全相位FFT

1.1 全相位FFT算法原理

传统FFT对信号分析时,直接对离散信号的截断数据进行FFT运算,大多数情况下,会导致频谱泄露效应,而相比较传统FFT截断,全相位FFT算法在一定区间范围内考虑了该序列的全部采样情况.根据线性时不变系统的性质,全相位FFT算法等效的算法流程如图1所示.

全相位FFT本质上是在FFT算法之前进行了数据的预处理,首先使用卷积窗wc与 2N-1个信号数据相乘,再将间隔为N的数据两两相加,产生的N个数据进行FFT处理,即得全相位FFT算法结果[15-16].

图1中,卷积窗wc是由前窗f与经过翻转的后窗b进行卷积后得到,即

wc(n)=f(n)×b(-n),n∈[-N+1,N-1].

(1)

若前窗f和后窗b相同,且互为对称窗,则由时域卷积定理可得该卷积窗对应的离散傅里叶变换为

Wc(ω)=F(ω)·B(ω)=|W(ω)|2,

(2)

式中,|W(ω)|2为窗函数的幅值频域表达式.

1.2 全相位FFT频谱性能分析

一单频复数指数序列x(n)以采样频率fs进行采样,得到的离散信号表达式为

(3)

式中,A、f0和φ0分别为信号的幅值,频率和相位.

对信号x(n)乘以窗函数f进行时域截断,根据频域卷积定理可得,加窗后的傅里叶变换为

(4)

根据图1,加f窗函数的全相位FFT算法的傅里叶变换为

(5)

对比式(4)和式(5)可得,FFT算法的相位受其频率偏移量的影响,而全相位FFT算法的相位值则不受影响,所以不需修正全相位FFT计算所得相位值即可得到很高的精度,并且全相位FFT中窗函数旁瓣谱线相比主谱线按平方关系衰减,使得主谱线更为突出,可有效抑制频谱泄露.

2 全相位FFT三谱线校正算法

如图2中所示,对信号进行非整周期采样或异步采样时,由于栅栏效应的影响,所得频谱峰值一般会有偏差δ,谐波的实际频点k0很难位于离散谱线的频点k上,因此需要对计算的结果进行修正,Jacobsen等[17]提出了一种三谱线校正方法,但该方法仅用于FFT处理,本文将其拓展到全相位FFT算法,并给出该方法下全相位FFT的参数修正公式.

2.1 窗函数性质

窗函数的使用对于谱线插值的计算结果影响很大[18],一般选用旁瓣特性优越的窗函数对信号截断,但过分追求旁瓣特性忽略主瓣宽度会使得频率分辨率损失较大,因此在选择窗函数时需要兼顾主瓣特性和旁瓣特性.

基本窗函数的时域方程为:

(6)

式中,M为余弦项个数,n=0,1,…,N-1.bm为各项的系数,取决于不同的窗函数.

式(7)的傅里叶变换得到的幅频函数为

(7)

当N远大于1的时候,窗函数的幅频函数可以化简为

(8)

2.2 三谱线校正算法

设k为真实频点k0附近幅值最大的谱线,k左边谱线为k-1,右边谱线为k+1,非同步采样时,幅值最大谱线和其左右谱线均具有较大幅值,采用3根谱线的信息进行修正,定义频率偏移量:

δ=k0-k,δ∈[-0.5,0.5].

(9)

根据式(4)和式(5)中所得FFT和全相位FFT的频域函数区别,将基本FFT定义的三谱线校正方法用于全相位FFT,推导修正公式:

(10)

式中,P为比例因子.常见窗函数的比例因子取值如表1所示.

根据式(5)中所得全相位FFT频域函数与窗函数频域函数关系,可将式(10)化简为:

(11)

由式(8)中化简得到的窗函数表达式,利用MATLAB中的polyfit函数反拟合式(11),可得δ=f(α),则频率的校正公式为

f0=(k+δ)Δf,

(12)

幅值的校正公式为

(13)

根据全相位FFT算法的相位不变性.相位的计算直接利用全相位FFT算法结果,即

φ0=arg[Y(k)].

(14)

3 仿真分析

3.1 理想谐波信号分析

采用某一谐波信号进行分析,验证文中的算法具有较高的谐波检测精度,谐波信号的表达式为:

(15)

式中,基波频率f1=19.75 Hz.采样频率设为40 960 Hz,采样点数设为10 240,其他各项参数的取值如表2所示.

表2 经典谐波信号参数Tab.2 Classical harmonic signal parameters

将该算法与FFT三谱线插值进行对比,选用汉宁窗作为两种算法所用窗函数,比较谐波参数计算的精度.比较结果如表3所示.

表3 谐波参数估计误差Tab.3 Harmonic parameter estimation error %

分析表3结果可得,计算式(15)的谐波信号模型时,全相位FFT三谱线校正的幅值、频率和相位误差的数量级在10-7%~10-9%、10-8%~10-9%和10-8%~10-10%之间,相比FFT三谱线插值法,幅值和频率的精度提高了3~6个数量级,相位的精度提高了3~7个数量级,可见全相位FFT算法由于相位不变性,其相位检测精度明显高于普通FFT,并且将谱线校正方法用于全相位FFT算法的结果也优于FFT算法.

3.2 基波频率波动时的谐波检测

实际上电网的频率往往会出现一定的波动[19],采用式(15)所示的经典谐波信号模型,在认为基波频率为19.75 Hz,而基波频率实际在19.25~20.25 Hz之间变化时,采用本文算法对信号进行分析,谐波信号的幅值、频率和相位检测的相对误差如图3所示.

由图3可知,随着基波频率波动值变大,谐波检测各项参数的精度也在下降,但本文算法依然能够保持较好的精度,在19.25 Hz和20.25 Hz时,幅值、频率和相位的检测精度约为10-7%~10-8%、10-4%和10-7%~10-10%,保持了较高的准确度,结果说明本文算法在频率波动情况下依然能够进行谐波信号的检测.

图3 频率波动下的信号检测误差Fig.3 Signal detection error under frequency fluctuation

3.3 含复杂谐波和间谐波信号分析

在电网谐波分析中,信号一般不止包含谐波,还含有谐波.因此,使用文献[13]中的谐波和间谐波模型:

(16)

式中,采样频率fs=40960 Hz,采样点数为10 240,基波频率为50.1 Hz.其它参数取值如表4所示.

表4 谐波和间谐波信号参数Tab.4 Harmonic and inter-harmonic signal parameters

将该算法与文献[11]中的双窗全相位FFT双谱线校正和文献[13]中的双窗全相位FFT双谱线插值算法进行对比,依然选用汉宁窗作为所有算法所用窗函数,因全相位FFT算法估计相位精度一致,故比较谐波幅值和频率估计的精度,比较结果如表5及表6所示.

表5 幅值计算相对误差Tab.5 Amplitude calculation relative error %

分析表5和表6可得,在式(16)所示的谐波与间谐波模型下,本文算法的幅值和频率误差的数量级在10-6%~10-8%和10-7%~10-9%之间,相比双窗全相位FFT双谱线校正算法,有四个幅值的检测精度提高了1个数量级,有四个频率的检测精度提高了1个数量级,可见采用三谱线校正方法,一定情况下可以获得较二谱线校正更好的精度;同时,相比双窗全相位FFT双谱线插值方法,幅值和频率的检测精度均提高了1~3个数量级.

表6 频率计算相对误差Tab.6 Frequency calculation relative error %

针对复杂谐波模型中所用算法和本文算法,对耗时进行对比分析.所用计算机的 CPU 型号为Intel(R)Core(TM)i7-7700HQ CPU @ 2.80 GHz,操作系统为Windows 10家庭版64位,运行环境为MATLAB 2017.耗时对比结果如表7所示.

由表7可知,采用相同的窗函数时,全相位FFT算法采用不同改进时对计算时间的影响不大,本文算法采用了三谱线校正,相比二谱线校正利用了更多信息,但是计算耗时并没有明显增加.本文算法在提高精度的同时对计算复杂度也没有很大影响.

3.4 存在白噪声的谐波信号分析

在实际电网中,谐波信号大多数情况下含有一定的高斯白噪声[20],选用式(16)所示的谐波和间谐波信号模型,信噪比在10~100 dB内以10 dB为步长进行变化,与双窗全相位FFT双谱线校正算法及双窗全相位FFT双谱线插值算法对比,验证算法的抗噪能力.

添加白噪声后不同算法计算得到的基波幅值和频率的相对误差如图4和图5所示.

由图4和图5可知,随着信噪比的减小,全相位FFT双谱线校正算法、全相位FFT双谱线插值算法和本文算法的相对误差相比未加白噪声减小了1~2个数量级,但本文算法的幅值和频率误差数量级相比全相位FFT双谱线校正算法依然提高了1个数量级左右,全相位FFT双谱线插值算法在引入白噪声后随着信噪比变化时误差数量级变化不大,但精度不高.故本文算法的谐波检测精度较高,且具有一定的抗白噪声能力.

图5 不同信噪比条件下的频率相对误差Fig.5 Phase relative error under different SNR conditions

4 结语

本文针对目前快速傅里叶变换算法在电网谐波检测中存在的频谱泄露现象,提出了一种全相位FFT三谱线校正算法,算法利用全相位FFT计算得到的峰值谱线周围的三根谱线,构造频率偏移量修正公式,推导出谐波和间谐波参数的校正公式.最后,分别使用简单谐波信号、复杂间谐波和谐波信号和含白噪声信号作为仿真模型,比较本文算法与其它谐波和间谐波检测算法精度的精度大小.本文的详细内容和具体结论如下.

1)从公式推导上比较传统FFT算法与全相位FFT算法在抑制频谱泄露能力,全相位FFT算法不仅自带频谱泄露抑制能力,并且具有相位不变性,因此选择全相位FFT算法进行改进.

2)将原本用于传统FFT算法的一种高精度三谱线校正算法拓展到全相位FFT算法,根据公式推导中全相位FFT算法与FFT算法的关系,推导得到以全相位FFT算法所得结果进行校正时的参数修正公式.

3)以简单谐波模型、复杂谐波和间谐波模型和含白噪声的谐波和间谐波模型为仿真对象,在简单谐波模型中,本文算法相比FFT三谱线插值算法精度提高了3~7个数量级;当基波频率波动时,本文算法依然能够保持较好的精度,在复杂谐波和间谐波模型中,本文算法相比双窗全相位FFT算法双谱线插值和双窗全相位FFT双谱线校正算法提高了1~3个数量级,并且在含白噪声信号模型仿真中,本文算法的抗白噪声能力更为突出,可为电网谐波检测提供有效手段.

猜你喜欢

谱线校正谐波
基于HITRAN光谱数据库的合并谱线测温仿真研究
劉光第《南旋記》校正
铁合金光谱谱线分离实验研究
一类具有校正隔离率随机SIQS模型的绝灭性与分布
机内校正
锶原子光钟钟跃迁谱线探测中的程序控制
虚拟谐波阻抗的并网逆变器谐波抑制方法
基于ELM的电力系统谐波阻抗估计
基于ICA和MI的谐波源识别研究
药芯焊丝GMAW电弧光谱的研究