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