單片機中最小二乘方濾波器的向量測量和功率計算
如果輸入電壓是相電壓,則:
P=Pa+Pb+Pc=ua×ia+ub×ib+uc×ic
=ua×ia-ub×(ia+ic)+uc×ic
=Ua×Ia×cos(θua-θia)-Ub×Ia×cos(θub-θia)
-Ub×Ic×cos(θub-θic)+Uc×Ic×cos(θuc-θic) (16)
將上式中的余弦函數展開(kāi)后,再鈄(6)和(7)式的對應結果分別代入即可。
無(wú)功功率的計算只需將(14)、(15)和(16)式中的余弦運算改為相應的正弦運算即可。
4 基于單片機應用的優(yōu)化措施
從目前市場(chǎng)情況來(lái)看,雖然單片機性能在不斷提高,如INTEL單片機從8位、16位到32位不斷推陳出新,但真正得以廣泛采用的并不是性能最好的產(chǎn)品。從實(shí)際應用來(lái)看,有時(shí)必須面對一個(gè)受限制的客觀(guān)現實(shí)。就本應用來(lái)說(shuō),采用以下措施可大大提高程序的計算速度。
4.1 變浮點(diǎn)運算為整數運算
對于(4)~(10)式來(lái)說(shuō),采用C或PL/M高級語(yǔ)言進(jìn)行浮點(diǎn)運算既方便,精度又高。但與整數運算相比,浮點(diǎn)運算速度要慢得多。因此,為提高計算速度,應盡量采用整數運算。從工程實(shí)際來(lái)看,A/D轉換后的結果一般是雙字節整數,可與放大10位的最小二乘濾波器直接運算,則(4)式變?yōu)椋?P>X[3]=5×U[2]-10×U[3]+5×U[4] (17)
(5) 式變?yōu)椋?P>X[4]=5×U[1]-10×U[2]+5×U[3] (18)
(17)、(18)式只有6次4字節的長(cháng)整數乘法和4次加法。即使對12位A/D而言,(17)、(18)式的計算結果也不會(huì )溢出。由于濾波器擴大10倍時(shí)是整數,沒(méi)有四舍五入,因此計算過(guò)程無(wú)任何附加誤差。
4.2 快速求平方根法
從(4)~(10)式來(lái)看,耗時(shí)最多的是(10)式,即求平方根運算,獲得基波的峰-峰值。
如果直接采用標準浮點(diǎn)庫提供的開(kāi)平方函數,16MHz的80196KC需3ms左右。若采用文獻[4]中的整數查表法,或文獻[5]提供的精度為1%的二分法,相同條件下求根所需時(shí)間一般在100~300μs之間,計算速度提高10倍以上。
本文提出的每周波4個(gè)采樣點(diǎn)的最小二乘方濾波器可在一般單片機中實(shí)現工頻信號的實(shí)時(shí)相量測量。算法進(jìn)一步優(yōu)化后,可在一個(gè)周波的時(shí)間窗內對多路信號作出實(shí)時(shí)反映,滿(mǎn)足一般保護的技術(shù)要求。該算法還可以實(shí)現其他保護和測量功能。
濾波器相關(guān)文章:濾波器原理
濾波器相關(guān)文章:濾波器原理
電源濾波器相關(guān)文章:電源濾波器原理
數字濾波器相關(guān)文章:數字濾波器原理
評論