文/呂慧 李琪 王藝輝
某型電力裝備存在高次諧波的干擾,使得電力品質大大下降。電力系統正常信號為50Hz 交流電,需根據高次諧波噪聲特點設計相應的濾波器改善電力品質。STM32 采集后重點是從時域到頻域的轉換算法,離散傅立葉變換(DFT)是數字信號處理中常用的變換方法,交流信號通過時域離散化,使得計算機能夠得到處理信號頻域信息。但DFT 存在著計算量的缺陷,極大地限制了信號處理速度,而FFT 算法可以在很大程度上提高了運算速度,常用于實際離散信號處理。本文對FFT 原理分析、算法性能對比,仿真對比詳細闡述了使用DFT 和FFT 算法對該型電力裝備的諧波分析實驗。
基-2FFT 算法(N 為2 的整數冪)為:將序列x(n)按n 的奇偶分成兩組,n=2r,x(2r)=x1(r);n=2r+1,x(2r+1)=x2(r)。
則x(n)的DFT 為:X(k)=X1(k)+ ,其中只能確定出X(k)的k=0,1,2,……,N/2-1個點,再利用周期性求X(k)的后半部分,因 為X1(k),X2(k) 是 以N/2 為 周 期 的,所以X1(k+N/2)=X1(k),X2(k+N/2)=X2(k),且 有故運算過程如圖1所示。
FFT 算法也稱基-2 算法,充分利用了DFT 運算中的對稱性和周期性,從而將DFT運算的時間復雜度從N2減少到N*log2N。蝶形算法是FFT 的最基本運算,該算法將一個數字信號進行DFT 變換,在接下來的處理中同樣將每一段分成兩段,當每一段長度只剩下2 時做DFT,再對它們進行疊加,就是一個信號的快速傅立葉變換。FFT 是將輸入信號對半分割,再對半分割,以此往復……直至分割到2 點。當N 比較小時,FFT 優勢不明顯,但從N 大于32 開始,點數越大,FFT 對運算量的改善越明顯。當N 為1024 時,FFT 的運算效率比DFT 提高了100 倍,還大大降低了DFT運算帶來的累計量化誤差。
FFT 是離散傅立葉變換的快速算法,可以將一個信號從時域變換到頻域。有些信號在時域上很難看出其特征,在變換到頻域之后,特征就很明顯。結合MATLAB 軟件的使用,使得所給頻譜能夠很直觀地展示出來。
若x(n)=cos(n*pi/6)是一個N=500 的有限序列,利用MATLAB 計算它的DFT 和FFT并畫出圖形。結果可知,運算時間上DFT 用時0.702 秒,而FFT 用時0.103 秒,雖然得到的頻譜分析結果相同,但用FFT 的運算時間只相當于DFT 的七分之一。
根據實際電力設備輸出電力信號波形,實驗使用一個50Hz 方波信號作為電力信號,且通過加上均值隨機噪聲的干擾進一步模擬實際信號采集過程中的情況。實驗采樣頻率為1000Hz,并通過FFT 來分析其信號頻率組成成分,FFT 計算結果如圖2所示。
從實驗數據和結果分析得出,經過FFT算法,可清晰地看到原信號的組成頻率。說明通過在MATLAB 上運用FFT 運算,可以實現頻譜分析的功能,并且能夠直觀地分析出有用信號和干擾信號的頻率信息,從而確定數字濾波器頻率。
本文根據電力系統高次諧波檢測需要,設計了一套基于STM32 的采集檢測系統,系統硬件集成度高,可靠性強,軟件中采取FFT快速傅里葉變換,提高運算速度。實驗表明,系統工作正常,能穩定分析電力高次諧波信號,直觀地展示了電力信號的諧波分量,為濾波器設計提供了依據。

圖1:蝶形運算過程

圖2:頻域波形