電力產品中諧波計算演算法應用與比較

來源:互聯網
上載者:User

    在當前很多的電力產品中,帶諧波(2~n次諧波電壓電流含有率、有效值、總畸變率)計算功能的電力產品越來越多,系統因設計不同而採取不同演算法。

    本文針對ARM9應用計算諧波,介紹筆者採用過的幾種諧波演算法。(以下提到的演算法均不是筆者自創的)。

 

    筆者採用過三種諧波演算法,效能和特點大有差異。

 

    1.三角函數演算法:

    三角函數演算法是一種相對較簡單,也較於容易理解的演算法。計算原理如下所示:

   

     從上面的公式中可以看出,演算法需要大量計算三角函數,如果諧波次數越高,計算量則越大。而三角函數如果採用庫函數的話,計算量是相當大的,這對於ARM9來說也是相當吃力的。當然可以採用查表方法,但這是犧牲空間換取時間,而且如果要求精度稍高點,則浪費空間越大。

    筆者先接觸諧波計算的時候,就是採用的這種演算法,就19次諧波計算,CPU使用率達到了40%左右。

 

    2.FFT演算法:

    針對三角函數演算法在效能上稍有不足,筆者通過網上搜尋,找到了兩種比較高效諧波演算法。

    一種是任意點的混合基FFT演算法:mix_fft:

    mix_fft是一種任意點的諧波演算法,所以對於採樣點不是2n的應用是十分方便,而且最重要的是速度很快,對於目前市場上的ARM9來說,足夠了。

    mix_fft是個好用的FFT演算法,但它不是開源的,所以應用時需要注意點。

    另一種是ooura_fft:

    ooura_fft是一種非常複雜但卻是最高效的FFT演算法,其速率在相同硬體條件下比mix_fft還快,特別是諧波採樣點說越高的時候。ooura_fft只能計算2n的諧波採樣點。故應用時也要注意這點。

 

    對於上面兩種FFT演算法,都是用C語言寫的,所以在其它應用場合也適用。使用的時候非常簡單,只需要調用一個函數即可。如mix_fft演算法應用如下:

     

    其中,HarOriginalData儲存諧波電壓電流的採樣資料。

   

    上述是筆者接觸到的用來計算諧波的幾種演算法,可能還有其它更好的演算法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.