本文介紹了一種在DSP平臺下對多路交流信號采樣時采用的一種異步采樣方法。
在對電力線路的電壓和電流進行測量時,為使測量值具有較高的精度,一般都采用交流采樣技術(shù)。目前,比較常用的交流采樣方法是:在交流信號的一個周期內(nèi),等間隔采樣N點數(shù)據(jù),然后利用傅立葉變換,計算出基波及一些諧波的有效值,為衡量供電質(zhì)量通常還要求計算出各信號的相位。但由于同一測量裝置要同時對很多路電壓和電流量進行采樣,而采樣所用的A/D的輸入又有限,不可能對電壓和電流量同時進行采樣,所以,一般將所有的交流通過多路開關(guān)的切換依次送入A/D進行采樣。由于采用的是異步采樣,所以同一個線路中的A、B、C三相之間的相位就會產(chǎn)生誤差,所測出的同一個交流量的電壓值和電流值之間的相位也會產(chǎn)生誤差,如果不對相位采取一定的處理措施,就不能有效的提高計算值的精度。
硬件系統(tǒng)
外部輸入的電壓電流經(jīng)過電壓互感器或電流互感器,經(jīng)過信號調(diào)理,變換成小電壓信號,把這些小電壓信號經(jīng)過濾波、放大處理之后送入模擬多路開關(guān)。接入多路開關(guān)的信號AIN1、AIN2、…AIN15的切換由DSP通過FPGA來控制。多路開關(guān)的輸出接電壓跟隨器,以降低信號源的輸出阻抗,保證得到較高的采集精度。經(jīng)A/D轉(zhuǎn)換完成后的數(shù)據(jù)由DSP芯片進行采集處理。
A/D可以選用Linear公司的16位雙極性高精度模數(shù)轉(zhuǎn)換器LTC1609。
如果進行N點傅立葉變換,應(yīng)該在一個周期內(nèi)等間隔均勻采樣N個點。但如果以固定的時間間隔進行采樣,當電網(wǎng)中交流信號頻率偏離50Hz時,所采集到的N個點就不一定恰好為一個周期的數(shù)據(jù)。所以,在本系統(tǒng)中,DSP實時監(jiān)測交流信號周期的變化,根據(jù)當前最新的周期值TAC計算出兩個采集點之間的間隔時間為:
TSMP=TAC/N
DSP將TSMP送給FPGA,F(xiàn)PGA經(jīng)過運算,產(chǎn)生兩個信號:一個是采樣命令信號SMP、另一個是啟動A/D轉(zhuǎn)換信號R/C,這兩個信號都是低電平有效
當SMP信號到來時,表示新一輪采樣的開始。SMP信號后緊跟15個R/C信號,依次負責對15路輸入信號的A/D轉(zhuǎn)換。所以每一輪采樣可以對15路信號各采集一個點。每個點的數(shù)據(jù)經(jīng)過64階有限沖激響應(yīng)濾波器濾除高次諧波之后存儲在緩沖區(qū)內(nèi)。
當A/D采用內(nèi)部時鐘模式時,先將A/D的片選/CS置為低電平,在R/C信號的下降沿,A/D將當前輸入的信號轉(zhuǎn)換為保持狀態(tài),開始進行A/D轉(zhuǎn)換,同時A/D開始將上一次的轉(zhuǎn)換結(jié)果向DSP發(fā)送。轉(zhuǎn)換開始后R/C必須在1ms內(nèi)跳回至高電平,以確保輸出結(jié)果不會發(fā)生錯誤。本系統(tǒng)中,R/C信號的低電平持續(xù)0.5ms。兩個R/C信號的下降沿之間的間隔TRC設(shè)置為12ms,以保證A/D啟動下一路轉(zhuǎn)換時當前的轉(zhuǎn)換能夠結(jié)束,以及上一次轉(zhuǎn)換后的結(jié)果送入DSP。
校準
經(jīng)過N個SMP信號之后,DSP就為15路信號各收集了一個周波共點的數(shù)據(jù)。對點數(shù)據(jù)進行快速傅立葉變換,得到各路信號的基波和若干次諧波所對應(yīng)的頻域值。從而可以求出有效值、相角等各個量。但實際上由于信號的幅度和相位經(jīng)過變換、濾波、放大、采樣、量化后處理時都要偏離理論值,所以,對于FFT運算的結(jié)果要進行校準處理。
可以用一個標準三相交流電源,將它的輸出電壓調(diào)整為電壓100V、輸出電流調(diào)整為5A、頻率為50Hz、ABC三相各相差120度,然后將電壓電流信號接入系統(tǒng)對應(yīng)的輸入端,通過上層軟件向DSP發(fā)送校準命令,開始計算幅度和相位的校準參數(shù)。
幅度校準
如果有效值為100V、頻率為50Hz的電壓信號經(jīng)過A/D轉(zhuǎn)換后的數(shù)值大約在P左右,那么,我們就可以用P作為一個標度,用它來代表100V。同樣,我們可以Q代表有效值為5A、頻率為50Hz的電流。
在校準過程中,假定得到的m路電壓的有效值的數(shù)字量為=[V1,V2,...Vm],得到的電流的數(shù)字量為=[I1,I2,...,I15-m],則我們把它們通過一個電壓校正系數(shù)=diag[a1,a2,...,am]和電流校正系數(shù)=diag[b1,b2,...,b15-m]將其校正到標度上去。即有如下公式:
可求得
ai=P/Vi,b=Q/Ij 其中i=1,2,…,m;j=1,2,…,15-m
在系統(tǒng)正常工作時,將得到的信號的幅度有效值乘以校準系數(shù)可以得到比較精確的數(shù)值。
相位校準
交流電的相位關(guān)系是反映供電質(zhì)量的比較重要的參數(shù)。相位校準從兩個方面進行:一方面要補償多個信號由于異步采樣造成的相位偏差;另一方面要校準信號調(diào)理過程中造成的相位偏移。
我們主要關(guān)心交流信號相位之間的相對關(guān)系,所以,以中間第8路信號AIN8為基準,其它信號的相位都向它校準。那么第8路信號以前的信號的相位都是滯后的,而第8路以后的各信號的相位都是超前的。對于滯后的相位要加上一個校準相位,對于超前的相位要減去一個校準相位。所以,第i(i=1,2,...,15)路信號的基波需要校準的角度q為:
qi=(8-i)×(TRC/TAC)×360o
=(8-i)×g;設(shè)g=(TRC/TAC)×360o
其中,TAC是交流的正常工頻周期20ms,TRC是相鄰兩個R/C信號的間隔時間。諧波的校準角度應(yīng)該再乘以諧波次數(shù),假設(shè)只計算到n次諧波,則可得第一組校準參數(shù)為:
其中,第i行代表第路信號的基波與各次諧波需要校準的角度。
如果利用傅氏算法求出信號的頻域表示,那么對它的相位補償角度后信號可表示.
經(jīng)過上述對相位的校正,所有的信號都相當于在同一時刻被采樣。然后,再對各路信號校準由于在信號調(diào)理過程中造成的相位偏移。先求出各路信號基波的相位,然后將接入A相的第1、4、7、10、13路信號基波的相位減去120度,將接入C相的第3、6、9、12、15路信號基波的相位加上120度。這樣各相信號之間就消除了本身固定的120度的相位差。這時候得到的“對比相位”是由于各路信號經(jīng)過的物理通道不同而產(chǎn)生的。仍以第8路信號為基準,將各路信號的對比相位減去第8路信號的相位之后的值作為另一組相位校準參數(shù):
最后將兩組相位校準參數(shù)相加,即為最終的相位校準參數(shù)在系統(tǒng)正常運行時,利用對信號進行相位校準。
仿真驗證
利用Matlab工具以一路信號為例說明對幅度的校準方法。
假定有一包含有高斯白噪聲的正弦信號x=sin(2pft)+0.1×randn(1,N),其中f=0.25,fs=1,N=64。randn()函數(shù)產(chǎn)生一個均值為1呈正態(tài)分布的隨機信號。
通過對一個周期內(nèi)的64點數(shù)據(jù)進行FFT運算,利用公式求得信號的幅度值為AC=1.104。其中Ar和Ai分別是第次諧波的實部和虛部,n是計算中所使用到的最高諧波次數(shù)(n≤32,這里取n=16)。如果預(yù)先通過前面所述求得校準系數(shù)a,就可以得到校準后的幅度值。在這里,根據(jù)信號x是由幅值為1的正弦波和均值為0.1的加性高斯白噪聲組成的特點,由前面求校準系數(shù)的公式,我們可以假定a=1/(1+0.1)=0.909,則可得到最終校準后的幅度值為:A=AC×a=1.104×0.909=1.003。與實際的幅度值1.000相比,精度可達0.3%。
通過在實際產(chǎn)品中采用這種技術(shù)發(fā)現(xiàn),一般情況下,精度可以控制在0.5%以內(nèi)。可以滿足大多數(shù)測控場合對精度的要求。
對于相位的校準,方法與此類此。