王 震, 陳 卓
(貴州大學 電氣工程學院,貴州 貴陽 550025)
隨著新能源戰略的推進,大量風機、太陽能設備、電動汽車充電樁等投入運行。這些設備都采用了大功率電子電力變流器件,在它們運行使用過程中會產生大量間諧波。間諧波的產生,降低了電網電能質量,嚴重威脅著同電網下的用電設備安全,間諧波檢測問題逐漸引起人們關注。
間諧波比諧波更容易受到頻譜泄露的影響,因此對算法檢測的精度要求更高,早期所研究的諧波檢測算法無法滿足間諧波檢測要求。為了提高檢測精度,許多專家、青年學者對傳統諧波檢測算法提出了改進方案,根據加窗函數不同和利用譜線的數量可分為四項窗雙譜線插值算法[1]、五項窗三譜線插值算法[2]、六項窗六譜線插值算法[3]等。雖然多項窗函數可以很好地抑制頻譜泄露,但是由于窗函數過于復雜,插值公式根本無法推導。為此,文獻 [1,3-4]通過多項式擬合函polyfit進行擬合,文獻 [2]采用MATLAB中的cftool工具進行函數逼近,文獻 [5]則利用切比雪夫多項式進行函數逼近。擬合公式一方面計算量較大,另一方面擬合公式的殘差也會限制檢測結果的精度。一個好的算法應當盡可能簡潔、精確,本文基于改進Hanning窗函數,構造一種具有簡明插值公式的高精度插值算法,避免了采用擬合公式插值法的殘差問題,同時因其簡潔而節約了計算量。
做諧波、間諧波檢測時,需要考慮頻譜泄露和柵欄效應兩個問題。抑制頻譜泄露的主要是加窗函數,針對柵欄效應則需要做插值計算。窗函數的優劣及插值公式準確性兩者共同決定了檢測結果的精度。

圖1 單信號頻譜圖Fig.1 Spectrum of single frequency signal
加窗插值算法基本流程:
首先,對于原始信號進行采樣得到序列x(n),
x(n)=Acos (2πf0nTs+φ),
(1)
其中:n=0,1,2,…,N-1;Ts為采樣時間。
然后,對采樣序列x(n)加窗函數w(n),并做頻譜變換:
(2)
頻譜圖如圖1所示。由于加了窗函數,f0在其他頻率附近的譜線得到抑制。
再利用待測頻率f0附近譜線X(K)、X(K+1)的頻譜值,引入參數U,
(3)
最后得到插值結果ΔK。
加二項窗Hanning窗時
(4)
其中n=0,1,2,…,N-1。準確的Hanning窗表達式余弦項分母為N-1,但實際做插值計算時表達式中分母為N要優于N-1,本文采樣分母為N。
插值公式為[6]
(5)
加三項窗Blackman窗時
(6)
利用polyfit擬合到插值公式為
ΔK=-1.692 001+5.473 062U-8.768 038U2+12.879 910U3-
14.036 202U4+10.079 386U5-4.204 462U6+0.768 347U7,
(7)
加Hanning窗函數時插值公式簡約明了,但Hanning窗函數抑制頻譜泄露效果不如Blackman窗函數。Blackman窗函數雖然抑制頻譜泄露效果好,但插值公式只能通過擬合得出,而擬合函數的精確度也會限制算法的精度。其他窗函數如四項Nutall窗、五項MSD窗同樣也面臨插值公式無法導出問題,擬合得到的插值公式不但表達式復雜,而且會因為殘差問題算法精度受限。
因為Hanning窗插值算法有準確的插值公式,因此可以對Hanning窗進行改進得到更高數項的窗函數,同時還可以導出插值公式。
矩形窗(不加窗函數)的頻域函數為
(8)
WR(k)幅值連續圖像如圖2所示,可以看出其幅值圖像成起伏式衰減。
加Hanning窗函數,物理意義是原頻譜減去頻譜左右平移的平均值,即
W(k)=WR(k)-0.5(WR(k+1)+WR(k-1))。
(9)
加Hanning窗連續頻譜圖像如圖3所示。可以看出,加窗后頻譜圖能量向中間集中,兩側頻譜泄露得到抑制,但仍然成起伏式衰減。因此可以二次加Hanning窗,實現進一步頻譜泄露抑制。
對Hanning進行乘方運算
w2(n)=w(n)·w(n)。
(10)
得到一個新的窗函數
(11)
其中n=0,1,2,…,N-1,該窗函數是一種三項余弦組合窗函數。

圖2 不加窗連續頻譜圖 圖3 Hanning窗連續頻譜圖Fig.2 Continuous spectrum of rectangular window Fig.3 Continuous spectrum of Hanning window

圖4 頻譜特性圖Fig.4 Spectral characteristic of window function
頻譜特性圖(圖4)對比如下:
對比窗函數頻譜特性圖,可以看出:改進 Hanning 窗最大旁瓣比原Hanning窗小,且衰減快; 同樣是三項窗函數,改進Hanning窗函數的衰減明顯比Blackman 窗函數快,雖然Blackman窗函數最大旁瓣要比改進Hanning窗函數小,但在用于間諧波檢測時并不具有優勢。另外,主瓣變寬會影響頻譜分辨率。m值不宜過大,應保證各次波不在彼此主瓣寬度內,避免影響各次波檢測計算。
根據式(8)、式(9)可以得到x(n)加二次Hanning頻譜表達式近似為

sin ((k-K0)π) ejφe-j(k-K0)π,
(12)
取-ΔK=K-K0,則
(13)
二次Hanning窗插值公式為
(14)
插值公式簡單明了。Blackman窗函數插值擬合公式法需要進行21次乘法運算,而本文插值公式只需要一次乘法和一次除法,計算量明顯比擬合公式小,且較擬合算法準確。
求得待測頻率為
f0=(K+ΔK)fp,
(15)

(16)
相位為φ=angle [X(K)]-ΔKπ。
(17)
通過歸納總結,可以得出m次Hanning窗函數
(18)
其插值公式為
(19)
即使是m次Hanning窗函數,插值公式計算量仍不變,計算量較小。
幅值公式
(20)
其中m=1,2,3,…m越大,頻譜泄露抑制效果越好,但并不代表間諧波檢測效果會越好,由于離散形式的頻譜變換并非準確的積分運算,因此譜值會存在一定的誤差。另外由于測量儀器的測量精度、計算模塊對數據處理的精度等問題也會限制檢測的精度。因此要選取合理的m值,既要保證精度,又要避免計算量的浪費。
采樣時間Ts=0.001 s,采樣個數N=400。信號各次波參量的設置見表1。

表1 仿真參數設置Tab.1 The data of the simulated signal
分別利用加Hanning窗、加Blackman窗、改進Hanning窗(m=2,3,4)做雙譜線插值對信號的各次波的頻率、幅值等參量進行檢測,頻率測算相對誤差百分比見表2,幅值測算相對誤差百分比見表3。

表2 頻率檢測誤差Tab.2 The error of frequency calculation %

表3 幅值檢測誤差Tab.3 The error of frequency calculation %
由分析檢測結果可知,頻率的精度比幅值精度高,這是因為頻率可以根據插值公式直接得出,而幅值需要換算,換算時誤差被放大; 無論是頻率或幅值,基波測算精度要比諧波好,諧波測算精度要比間諧波好,各次波的測算精度受其含量影響。
算法之間的比較: 三項窗函數Blackman窗插值算法要比兩項窗函數Hanning窗插值算法好,這是由于Blackman窗抑制頻譜泄露能力強; 作為同樣是三項窗函數二次Hanning窗插值算法在測算基波參量時要比Blackman窗效果好,這是因為二次Hanning窗插值公式沒有誤差; 在測量諧波、間諧波時參量時,二次Hanning窗插值算法誤差要比Blackman窗插值小一個數量級,這主要是因為二次Hanning窗抑制頻譜泄露能力強; 改進Hanning窗函數之間比較,m越大效果越好。
本文提出的改進Hanning窗函數,改進方法簡單明了,抑制頻譜泄露抑制能力強。基于改進Hanning 窗構造的插值算法具有明確的插值公式,相比傳統采用擬合公式插值法,計算過程簡便快捷,計算結果精度高。從算例分析可以看出,歸納出的m次Hanning窗函數通用插值公式,隨著m的增加,各次諧波、間諧波檢測精度大幅提高,展現出了算法的巨大潛力。本文主要對雙譜線插值算法進行了討論,三譜線、四譜線等多譜線插值算法有待進一步研究。