趙從杰 潘文林
(1.云南民族大學(xué)電氣信息工程學(xué)院 昆明 650500)
(2.云南民族大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 昆明 650500)
隨著新的可再生分布式發(fā)電技術(shù)的涌入,用電設(shè)備越來(lái)越復(fù)雜,電網(wǎng)諧波污染越來(lái)越嚴(yán)重??焖儆行У臋z測(cè)出電網(wǎng)中各次諧波電壓電流是設(shè)計(jì)濾波器的前提[1]。目前,諧波檢測(cè)方法可以分為時(shí)域分析法和頻域分析法兩大類[2]。頻域分析主要是基于無(wú)功功率設(shè)計(jì)低通濾波器,但是所得到的是所有諧波的總和,對(duì)于電力系統(tǒng)分析并不適用;時(shí)域分析主要有離散傅里葉算法(DFT),小波變換,神經(jīng)網(wǎng)絡(luò)和現(xiàn)代譜估計(jì)等[3]。傅里葉變換在諧波檢測(cè)中雖然得到了廣泛的應(yīng)用,但是在信號(hào)處理采樣過程中,諧波信號(hào)被截?cái)嗫赡軐?dǎo)致諧波頻譜漏失的問題[4~6];小波變換利用其局部化分析的優(yōu)勢(shì)在電網(wǎng)諧波檢測(cè)領(lǐng)域得到了廣泛關(guān)注,但是基波的選取沒有規(guī)范導(dǎo)致算法具有不確定性,并且分層的細(xì)化會(huì)加大計(jì)算量[7~8];神經(jīng)網(wǎng)絡(luò)在檢測(cè)電網(wǎng)諧波方面更具靈活性和精準(zhǔn)性,但是訓(xùn)練樣本的選擇還是其發(fā)展的瓶頸[9~10];現(xiàn)代譜估計(jì)法具有高精度但是矩陣計(jì)算量過大[11]。
近幾十年來(lái),現(xiàn)代電力系統(tǒng)分析和仿真的計(jì)算需求一直在穩(wěn)步增長(zhǎng)[6]。隨著智能電網(wǎng)的出現(xiàn),對(duì)計(jì)算吞吐量的需求也隨之增加。由于大量注入可再生能源、分布式能源儲(chǔ)存和發(fā)電以及新技術(shù),用于執(zhí)行這些任務(wù)的模型變得越來(lái)越復(fù)雜和計(jì)算密集[5]。智能電網(wǎng)中可再生能源的整合引入了隨機(jī)發(fā)電,這就需要更復(fù)雜的算法來(lái)確保系統(tǒng)安全。智能電網(wǎng)中先進(jìn)計(jì)量基礎(chǔ)設(shè)施(AMI)的部署為電力系統(tǒng)控制中心提供了大量實(shí)時(shí)數(shù)據(jù),因此需要更高效的軟件算法和更快的硬件平臺(tái)。對(duì)實(shí)時(shí)分析和仿真的需求不斷增加,這就要求找到更快、更有效和更有效的計(jì)算方法,GPU 計(jì)算解決了這個(gè)問題。本文提出了一種基于CUDA 的電網(wǎng)諧波分析儀,GPU作為并行計(jì)算機(jī)實(shí)現(xiàn)諧波仿真和分析,利用優(yōu)化窗插值FFT算法實(shí)現(xiàn)諧波檢測(cè),優(yōu)化窗采用基于遺傳算法的組合預(yù)選函數(shù)。
利用FFT 分析電網(wǎng)諧波時(shí)可能由于周期被分端導(dǎo)致一定的檢測(cè)誤差,加窗和插值都可以有效的提高檢測(cè)精度。本文利用遺傳算法優(yōu)化組合余弦函數(shù)的參數(shù)得到一個(gè)五階窗函數(shù),然后利用該函數(shù)實(shí)現(xiàn)四譜線插值FFT算法實(shí)現(xiàn)電網(wǎng)諧波分析。
組合余弦窗函數(shù)的旁瓣特性是衡量fft 檢測(cè)電網(wǎng)諧波改善情況的表征值,組合余弦窗函數(shù)的表達(dá)式如下:
其中M表示窗函數(shù)項(xiàng)數(shù),N表示窗函數(shù)長(zhǎng)度,n=0,1…N,bm為窗函數(shù)輸入量,滿足:
本文利用遺傳算法對(duì)旁瓣峰值電壓和旁瓣漸近衰減率進(jìn)行參數(shù)優(yōu)化,優(yōu)化過程如下:
1)窗函數(shù)輸入量約束條件優(yōu)化:
2)以旁瓣峰值電壓ν和旁瓣漸近衰減率λ為優(yōu)化目標(biāo)建立目標(biāo)優(yōu)化函數(shù):
其中,α和β分別為旁瓣峰值電壓和旁瓣漸近衰減率的權(quán)重,且α+β=1,θ為懲罰因子。α、β的參數(shù)設(shè)置規(guī)則如表1。
表1 α、β 的參數(shù)設(shè)置規(guī)則
懲罰因子θ一般為1,當(dāng)出現(xiàn)ν>0,λ<0 時(shí),θ為0。
3)遺傳算法參數(shù)設(shè)置
遺傳算法參數(shù)設(shè)置如表2。
表2 遺傳算法參數(shù)設(shè)置表
頻率為f0的信號(hào)被采樣頻率fs均勻采樣后得到:
其中,C為信號(hào)幅值,φ0為初始相位。
x(n)經(jīng)過加窗后得到xω(n)=x(n)ω(n),經(jīng)過傅里葉變換后得到:
幅值優(yōu)化后:
頻率優(yōu)化后:
初始相位優(yōu)化后:
其中,kp表示最大譜線的FFT點(diǎn)數(shù),yp為其對(duì)應(yīng)的幅值,yp+1為次最大線譜FFT 點(diǎn)數(shù)對(duì)應(yīng)的幅值,yp-1和yp+2分別為其兩側(cè)的幅值。
CUDA 是一個(gè)通用的并行計(jì)算平臺(tái)和編程模型,其編程模型允許開發(fā)透明地?cái)U(kuò)展其并行性的軟件,以利用不斷增加的處理器核數(shù),允許相同的程序在任何CUDA GPU 上運(yùn)行。這是通過使用CUDA C/C++編程語(yǔ)言來(lái)實(shí)現(xiàn)的。
CUDA 的計(jì)算單元本質(zhì)是一個(gè)流處理器,執(zhí)行各個(gè)GPU 線程,流處理器被分為多個(gè)處理器,這些處理器共享內(nèi)存和寄存器。CUDA 接口本質(zhì)上是一個(gè)C代碼,可以在PGU上運(yùn)行。它提供了一種混合方法來(lái)執(zhí)行并行計(jì)算,其中代碼段可以在CPU或GPU 上執(zhí)行。在設(shè)備上執(zhí)行但從主機(jī)調(diào)用的模塊稱為內(nèi)核。設(shè)備上運(yùn)行的并行內(nèi)核實(shí)現(xiàn)編碼,由許多線程并行執(zhí)行。
圖1 CUDA結(jié)構(gòu)框圖
CUDA 程序處理有兩個(gè)單獨(dú)的內(nèi)存空間,一個(gè)在主機(jī)上,一個(gè)在設(shè)備上。啟用CUDA 的設(shè)備包括不同的存儲(chǔ)器類型,必須對(duì)其進(jìn)行有效編程,以便有效利用硬件[13]。數(shù)據(jù)傳輸不僅可以在主機(jī)和設(shè)備內(nèi)存之間進(jìn)行,而且可以在設(shè)備上的不同內(nèi)存之間進(jìn)行。因此,建議最大程度地減少主機(jī)與設(shè)備之間的數(shù)據(jù)傳輸,以實(shí)現(xiàn)最佳整體性能。
固態(tài)傳輸可在主機(jī)和設(shè)備之間提供最大的帶寬,能實(shí)現(xiàn)大于5GBps的傳輸速率[15]。盡管內(nèi)存復(fù)制和內(nèi)核按順序執(zhí)行,但是最先進(jìn)的GPU 可以將設(shè)備上的內(nèi)核執(zhí)行與主機(jī)和設(shè)備之間的數(shù)據(jù)傳輸重疊執(zhí)行。順序傳輸主機(jī)和設(shè)備之間沿任一方向的數(shù)據(jù)傳輸通常以阻塞傳輸方式執(zhí)行,僅在數(shù)據(jù)傳輸完成后,控制權(quán)才返回給主機(jī)線程。相反,異步傳輸是一種非阻塞方式。如圖2 所示為順序執(zhí)行和異步執(zhí)行示意圖。
圖2 順序執(zhí)行和異步執(zhí)行示意圖
為了驗(yàn)證本文提出的檢測(cè)方法正確性進(jìn)行了仿真驗(yàn)證,搭建信號(hào)Xi(t),包括基波和諧波,采樣頻率為3.2kHz,采樣數(shù)為1024,基波頻率為50Hz。如圖3 所示為基波的檢測(cè)波形圖,圖4 為各次諧波的檢測(cè)波形圖,圖5~7為各次諧波的檢測(cè)相對(duì)誤差。
圖3 基波檢測(cè)圖
圖4 各次諧波波形檢測(cè)圖
圖5 各次諧波幅值檢測(cè)相對(duì)誤差
圖6 各次諧波頻率檢測(cè)相對(duì)誤差
圖7 各次諧波相位檢測(cè)相對(duì)誤差
根據(jù)仿真結(jié)果可以看出經(jīng)過組合余弦窗函數(shù)插值后的FFT轉(zhuǎn)換的諧波檢測(cè)誤差更小,諧波檢測(cè)更精準(zhǔn)。利用GPU 計(jì)算遺傳算法迭代效率更快,實(shí)現(xiàn)插值速度更快。
本文針對(duì)智能電網(wǎng)的諧波檢測(cè)和分析展開研究,在分析了現(xiàn)在比較常用的諧波檢測(cè)方法的優(yōu)缺點(diǎn)后提出了一種基于組合余弦窗函數(shù)插值FFT 變換的諧波檢測(cè)方法,通過仿真驗(yàn)證該方法可以有效降低因?yàn)椴蓸舆^程處理截?cái)嘀C波周期導(dǎo)致的檢測(cè)誤差。組合余弦窗函數(shù)參數(shù)通過遺傳算法進(jìn)行優(yōu)化,但是計(jì)算量大的時(shí)候可能會(huì)導(dǎo)致計(jì)算時(shí)間過長(zhǎng),對(duì)實(shí)時(shí)監(jiān)控電網(wǎng)諧波產(chǎn)生時(shí)滯,因此利用CUDA 系統(tǒng)并行計(jì)算,通過實(shí)驗(yàn)驗(yàn)證,利用GPU 并行計(jì)算速度更快,計(jì)算精度更高。