(無(wú)錫交通高等職業(yè)技術(shù)學(xué)校,江蘇 無(wú)錫 214028)
相位差測(cè)量是現(xiàn)代電子測(cè)量技術(shù)中基本的測(cè)量手段,在電力設(shè)備監(jiān)測(cè)、同步信號(hào)測(cè)試與分析、數(shù)據(jù)處理、無(wú)線通信、自動(dòng)控制應(yīng)用等領(lǐng)域?qū)τ谛盘?hào)相位差測(cè)量的應(yīng)用需求不斷增加,特別是同頻正弦信號(hào)相位差的測(cè)量在實(shí)際的工程設(shè)備設(shè)計(jì)中具有重要意義。例如在GPS導(dǎo)航應(yīng)用中,只有測(cè)出載波信號(hào)相位差,才能實(shí)現(xiàn)目標(biāo)的精確定位;在激光測(cè)距應(yīng)用中,需要精確測(cè)量出發(fā)出與返回激光調(diào)制波的相位差才能測(cè)得較為精確的距離等。在實(shí)際應(yīng)用中相位差測(cè)量的精度直接決定了設(shè)備和儀器的設(shè)計(jì)性能。相位差測(cè)量的方法很多,傳統(tǒng)的模擬測(cè)量法相對(duì)復(fù)雜,成本高,抗干擾能力較差,測(cè)量精度也很難提高。隨著嵌入式技術(shù)和電子技術(shù)的發(fā)展,數(shù)字式測(cè)量能夠更好的實(shí)現(xiàn)測(cè)量精度、測(cè)量分辨率的提高,對(duì)系統(tǒng)智能化、直觀化設(shè)計(jì)更為有利。因此,本文設(shè)計(jì)并實(shí)現(xiàn)了以Cortex-M3技術(shù)、信號(hào)諧波采樣技術(shù)為基礎(chǔ),結(jié)合DFT非整數(shù)修正算法的數(shù)字式相位差測(cè)量系統(tǒng)。
相位差測(cè)量從方法上講通??煞譃槟M法、數(shù)字法,模擬法測(cè)量是將被測(cè)信號(hào)的波形通過(guò)變換處理成便于測(cè)量的波形直接采樣數(shù)據(jù)并進(jìn)行數(shù)據(jù)處理獲得的相位差;數(shù)字法測(cè)量則先將被測(cè)信號(hào)處理成達(dá)到測(cè)量要求的信號(hào),然后通過(guò)數(shù)字采樣技術(shù)按照數(shù)字序列對(duì)被測(cè)信號(hào)進(jìn)行多點(diǎn)數(shù)值采樣,在程序中做算法處理獲得相位差[1]。
常用的模擬測(cè)量包括波形轉(zhuǎn)換法、過(guò)零法等,波形轉(zhuǎn)換法是通過(guò)硬件電路將被測(cè)周期信號(hào)轉(zhuǎn)換成可進(jìn)行有效測(cè)量的三角波、方波、鋸齒波等波形,然后通過(guò)測(cè)量變換波形的參數(shù)計(jì)算出被測(cè)信號(hào)的相位差。過(guò)零法相位差測(cè)量常采用過(guò)零時(shí)間法與過(guò)零電壓比較法,過(guò)零時(shí)間法是通過(guò)測(cè)量被測(cè)周期信號(hào)產(chǎn)生過(guò)零點(diǎn)的時(shí)間來(lái)計(jì)算兩信號(hào)之間的相位差;過(guò)零電壓比較法是通過(guò)測(cè)量?jī)杀粶y(cè)信號(hào)到達(dá)過(guò)零點(diǎn)附近的電壓值,根據(jù)其壓差特性關(guān)系計(jì)算相位差。以上的兩種模擬測(cè)量法在被測(cè)信號(hào)諧波成份比較復(fù)雜的情況下不太適用,同時(shí)使用時(shí)間法進(jìn)行相位差測(cè)量需要高精度計(jì)時(shí),對(duì)過(guò)零點(diǎn)時(shí)間的測(cè)量準(zhǔn)確性要求很高,所以此類方法往往會(huì)出現(xiàn)較大的誤差。
常用的數(shù)字測(cè)量法有頻譜分析法、相關(guān)分析法等。相關(guān)分析法是通過(guò)采樣兩個(gè)同頻信號(hào)相關(guān)函數(shù)零時(shí)刻的值,利用其相位差與其信號(hào)函數(shù)零時(shí)刻值成正比的關(guān)系計(jì)算出相位差,但是在實(shí)際應(yīng)用中得到精確的過(guò)零時(shí)間是比較困難的,再加上空間干擾,故測(cè)量精度很難保證。頻譜分析法主要根據(jù)相頻特性確定兩信號(hào)的相位差,通過(guò)離散傅里葉變換(DFT)將時(shí)域信號(hào)變換到頻域來(lái)實(shí)現(xiàn)。這種方法是全數(shù)字技術(shù)測(cè)量,具有測(cè)量精度高、抗干擾能力強(qiáng)的優(yōu)點(diǎn),但在非同步采樣時(shí),信號(hào)頻率的漂移對(duì)測(cè)量影響很大,通常只用在正弦或余弦信號(hào)的相位差測(cè)量。
從系統(tǒng)設(shè)計(jì)和實(shí)際應(yīng)用的角度看,模擬測(cè)量法通常硬件電路較為復(fù)雜,需要用到專門芯片,導(dǎo)致設(shè)計(jì)成本高,系統(tǒng)更為復(fù)雜。相比之下數(shù)字測(cè)量法由于其外圍電路簡(jiǎn)單,完全采用算法控制,系統(tǒng)通用性較強(qiáng),通過(guò)改變系統(tǒng)程序算法便可適應(yīng)不同的測(cè)量對(duì)象,而且測(cè)量精度一般高于模擬測(cè)量法,目前被廣泛使用。
綜合以上分析,在對(duì)周期信號(hào)初相進(jìn)行分析的基礎(chǔ)上,本系統(tǒng)的設(shè)計(jì)采用文獻(xiàn)[1]提出的非整數(shù)相位差測(cè)量方法[1](NI-PDM)。這種數(shù)字式測(cè)量方法在程序上易于實(shí)現(xiàn)且具有以下特點(diǎn):1)能夠用于滿足狄里赫利條件的多種復(fù)雜信號(hào)相位差的測(cè)量; 2)對(duì)頻率漂移的適應(yīng)性強(qiáng); 3)相位差測(cè)量結(jié)果數(shù)度高;4)抗噪聲和干擾能力強(qiáng)。
1)周期信號(hào)的初相。
根據(jù)文獻(xiàn)[1]提出非整數(shù)相位差測(cè)量方法,周期信號(hào)的初相可表達(dá)為下式。
(1)
通過(guò)式(1)重復(fù)計(jì)算可得到新的φ,直到φi+1-φi<10-3。
2)諧波參數(shù)的測(cè)量方法。
本系統(tǒng)在測(cè)量相位差時(shí)首先要測(cè)出被測(cè)信號(hào)的初相,這就需要分析被測(cè)信號(hào)的諧波,算出k次諧波參數(shù)Ak、φk。通常我們基于頻域理論和時(shí)域理論進(jìn)行諧波分析,但這些方法都存在相應(yīng)的應(yīng)用缺陷。為了達(dá)到更好的測(cè)量效果,本系統(tǒng)采用準(zhǔn)同步 DFT 非整數(shù)修正算法[1],此方法對(duì)于兩同頻信號(hào)的相位差分析包括5個(gè)步驟:
①通過(guò)ARM控制器的AD端口周期性采樣X(jué)+2個(gè)有效數(shù)據(jù),X=nN。以下計(jì)算式中:N為系統(tǒng)設(shè)計(jì)的被測(cè)信號(hào)周期采樣點(diǎn)數(shù)的理論值,n是迭代運(yùn)算的次數(shù),f(i)為信號(hào)函數(shù)第i個(gè)采樣點(diǎn)的值。
(2)
④通過(guò)計(jì)算式(3),計(jì)算出被測(cè)信號(hào)的頻漂值m1。
(3)
⑤k次諧波的頻漂值mk=km1,通過(guò)計(jì)算式(4)可計(jì)算出多次諧波參數(shù)。
(4)
計(jì)算式(4)中:
ak為k次諧波的實(shí)部;bk為k次諧波的虛部;Ak為k次諧波的幅值;φk為k次諧波的初相。
本文設(shè)計(jì)的相位差測(cè)量?jī)x系統(tǒng)原理框圖見(jiàn)圖1,包括取樣電路、前端信號(hào)處理電路、ADC采樣、Cotex-M3小系統(tǒng)、人機(jī)界面、通訊、電源與輔助功能等模塊。兩路被測(cè)信號(hào),經(jīng)過(guò)前端信號(hào)處理電路送入控制芯片的ADC端口進(jìn)行數(shù)據(jù)采集,數(shù)據(jù)經(jīng)過(guò)準(zhǔn)同步DFT非整數(shù)修正算法程序進(jìn)行處理,得出相位差結(jié)果顯示在人機(jī)界面上,并可由串口將結(jié)果傳輸?shù)接?jì)算機(jī)進(jìn)行分析。系統(tǒng)主要實(shí)現(xiàn)對(duì)被測(cè)信號(hào)f1(t)和f2(t)的相位差參數(shù)測(cè)量,信號(hào)取樣選用電流型互感器作為基礎(chǔ)元件,通過(guò)前端信號(hào)處理電路實(shí)現(xiàn)采樣轉(zhuǎn)換,并調(diào)節(jié)電路參數(shù)對(duì)兩路被測(cè)信號(hào)進(jìn)行整形、濾波、放大,將采樣信號(hào)處理成適合STM32芯片ADC端口測(cè)量范圍的有效信號(hào),系統(tǒng)采用STM32芯片自帶的ADC模塊及簡(jiǎn)單的外圍電路配合系統(tǒng)算法及程序?qū)崿F(xiàn)f1(t)和f2(t)兩路信號(hào)的同步采樣。
圖1 相位差測(cè)量系統(tǒng)示意圖
系統(tǒng)在設(shè)計(jì)中采用TI公司的Cortex-M3內(nèi)核的新一代32位ARM微處理器STM32F103芯片為核心微處理器。此芯片的寄存器、存儲(chǔ)器、數(shù)據(jù)總線為32位,具有較強(qiáng)的運(yùn)算能力和處理性能。芯片采用具有獨(dú)立的指令總線及數(shù)據(jù)總線的哈佛結(jié)構(gòu),程序執(zhí)行時(shí)能夠同時(shí)進(jìn)行數(shù)據(jù)及地址訪問(wèn),在進(jìn)行大量數(shù)據(jù)處理時(shí)不再占用指令總線,具有較高的程序執(zhí)行效率,非常適合本系統(tǒng)中進(jìn)行復(fù)雜的數(shù)據(jù)處理與算法實(shí)現(xiàn)。STM32F103芯片集成了豐富的增強(qiáng)型外設(shè),包括雙通道ADC模塊、32位多功能定時(shí)器、中斷型I/O端口、七通道DMA、SPI、I2C、USART等多種高速通信接口。系統(tǒng)程序設(shè)計(jì)上采用TI公司工程應(yīng)用級(jí)別的程序庫(kù)和DSP算法庫(kù),可以直接調(diào)用FFT算法函數(shù)實(shí)現(xiàn)編程算法。
1)信號(hào)調(diào)理電路的設(shè)計(jì)。
前端信號(hào)調(diào)理電路主要為了實(shí)現(xiàn)信號(hào)質(zhì)量改善及幅度的可調(diào),通過(guò)程控放大控制實(shí)現(xiàn),信號(hào)調(diào)理主要電路如圖2所示,由高性能四運(yùn)放MC33079組成兩級(jí)濾波積分電路,在將信號(hào)送入ADC采樣之前,先使其經(jīng)過(guò)一級(jí)射極跟隨電路,射極跟隨器的輸入電阻很大,輸出電阻很小,可以更好的滿足采樣要求。
圖2 信號(hào)調(diào)理電路
2)Cortex-M3系統(tǒng)設(shè)計(jì)。
在經(jīng)過(guò)前端信號(hào)調(diào)理電路之后,信號(hào)就進(jìn)人Cortex-M3數(shù)字測(cè)量系統(tǒng)。系統(tǒng)主控電路如圖3所示,包括最小系統(tǒng)、信號(hào)采樣、信號(hào)控制、串口通信、液晶顯示等電路模塊。
系統(tǒng)采用Cortex-M3內(nèi)核的STM32F103C8T6芯片,該片工作頻率為72 MHz,具有37個(gè)IO口、16個(gè)通道12 bit模擬量采樣接口、2個(gè)串口通信接口,模擬量采樣頻率最高可達(dá)1 MHz,可以滿足系統(tǒng)對(duì)被測(cè)信號(hào)的采樣要求,系統(tǒng)的運(yùn)行頻率及硬件資料也可以達(dá)到人機(jī)界面的設(shè)計(jì)需求。系統(tǒng)硬件上設(shè)計(jì)了4路模擬量采樣通道進(jìn)行被測(cè)相位信號(hào)及相關(guān)控制信號(hào)采集,一路串行接口,一組液晶控制接口,采用5 V、3.3 V低電壓供電。
為了實(shí)現(xiàn)本系統(tǒng)采用的相位差初相測(cè)量算法,要求在系統(tǒng)程序中能夠?qū)崿F(xiàn)FFT算法,程序編寫中采用了ST公司的STM32F10x_DSP_Lib工程版程序庫(kù),庫(kù)中包含了64點(diǎn)、256點(diǎn)、、1 024點(diǎn)的FFT算法函數(shù),本系統(tǒng)程序編寫通過(guò)調(diào)用256點(diǎn)FFT函數(shù)實(shí)現(xiàn)準(zhǔn)同步DFT非整數(shù)修正算法[5]:
void cr4_fft_256_stm32(void* pssOUT, void* ps-sIN, u16 Nbin);
其中pssOUT為輸出數(shù)據(jù)所在數(shù)組指針, pssIN為輸入數(shù)據(jù)所在的數(shù)值指針,Nbin為輸入數(shù)據(jù)個(gè)數(shù)這里取值為256.需要注意的是數(shù)據(jù)的存放格式:所有數(shù)據(jù)必須是32位的數(shù)據(jù):虛部放在高16位,實(shí)部放在低16位[10]。
STM32F103C8T6的12位模擬量模塊最高采樣頻率可以達(dá)到1 MHz,還可以利用過(guò)采樣和求均值技術(shù)將STM32F103的片內(nèi)12位ADC提升到16位分辨率進(jìn)行參數(shù)測(cè)量,能夠滿足高精度、高速采樣的系統(tǒng)設(shè)計(jì)需求。
STM32系統(tǒng)要負(fù)責(zé)測(cè)量參數(shù)的計(jì)算和數(shù)據(jù)顯示,軟件流程如圖4所示,系統(tǒng)顯示采用128*64 規(guī)格的LCD液晶模塊,通過(guò)系統(tǒng)輔助模塊中的按鍵切換相位差與測(cè)量信號(hào)頻率的顯示。系統(tǒng)完成被測(cè)信號(hào)相位差計(jì)算后,根據(jù)結(jié)果的數(shù)值大小自動(dòng)選擇并切換顯示方式,判斷出當(dāng)前在液晶顯示屏上的數(shù)據(jù)標(biāo)志位,以確定是顯示系統(tǒng)頻率還是顯示被測(cè)信號(hào)的相位差。系統(tǒng)程序處于循環(huán)掃描工作狀態(tài),不停的讀取數(shù)據(jù)并進(jìn)行處理與顯示。
系統(tǒng)程序中的相位差測(cè)量過(guò)程為:
1)采用STM32的自帶12位ADC模塊實(shí)現(xiàn)同步采樣,同時(shí)采樣被測(cè)信號(hào)f1(t)和f2(t)的X+2個(gè)采樣點(diǎn)數(shù)據(jù);
圖3 相位差測(cè)量系統(tǒng)主控電路
圖4 系統(tǒng)程序流程圖
2)利用STM32自帶的FFT函數(shù)庫(kù)實(shí)現(xiàn)準(zhǔn)同步DFT非整數(shù)修正算法[1]計(jì)算出諧波參數(shù)A1k、φ1k和A2k、φ2k,k=1,2,…,m;
3)依據(jù)牛頓迭代算法程序計(jì)算出f1(t)和f2(t)的初相φ1、φ2;
4)根據(jù)相位差與初相的關(guān)系:計(jì)算出f1(t)和f2(t)的相位差結(jié)果。
系統(tǒng)初始化程序中,配置數(shù)據(jù)采樣頻率fs=12.8 kHz,周期采樣點(diǎn)數(shù)N=256點(diǎn)、迭代運(yùn)算次數(shù)n=8。
系統(tǒng)的相位差可根據(jù)前文中的計(jì)算方法得出,根據(jù)以上程序設(shè)計(jì)流程,只要系統(tǒng)數(shù)據(jù)采樣科學(xué)準(zhǔn)確,則可確保信號(hào)參數(shù)的測(cè)量正確及測(cè)量數(shù)度。系統(tǒng)在測(cè)量過(guò)程中理論上必須對(duì)兩路被測(cè)信號(hào)實(shí)現(xiàn)同時(shí)采樣才能得到精確的測(cè)量結(jié)果,但是STM32處理器是順序執(zhí)行程序的要做到絕對(duì)同時(shí)采樣是不可能的,兩路信號(hào)是在不同時(shí)刻輪流順序采樣的,存在一定的延時(shí)并且對(duì)應(yīng)著固定的相位差,要消除此固定測(cè)量誤差,可以按先測(cè)通道1再測(cè)通道2的順序測(cè)量?jī)赏ǖ赖南辔粩?shù)據(jù),測(cè)得的相位差為φ<+D,然后再按先測(cè)通道2再測(cè)通道1的順序測(cè)量?jī)赏ǖ赖南辔粩?shù)據(jù),測(cè)得的相位差為φ<-D,最終測(cè)得的實(shí)際相位差應(yīng)該等于這2次測(cè)量結(jié)果的平均值。
實(shí)測(cè)中,系統(tǒng)分別對(duì)兩個(gè)被測(cè)信號(hào)的波形、頻率、幅度不同情況下的特定點(diǎn)進(jìn)行相位差測(cè)量,測(cè)量結(jié)果記錄在表1中。
從上述測(cè)試結(jié)果可知,系統(tǒng)的設(shè)計(jì)指標(biāo)基本達(dá)到預(yù)期設(shè)計(jì)要求,具有較好的實(shí)用價(jià)值。
本文設(shè)計(jì)了以STM32F103VCT6為核心相位差測(cè)量?jī)x,完成了將STM32處理器應(yīng)用到基于諧波理論和Cotex-M3技術(shù)的相位差測(cè)量系統(tǒng)中,在一定程度上提高了系統(tǒng)的性能和穩(wěn)定性。通過(guò)對(duì)實(shí)際測(cè)量數(shù)據(jù)的分析,系統(tǒng)功能基本達(dá)到了預(yù)期的設(shè)計(jì)要求,具有較高精度的相位差測(cè)量數(shù)度,其相位差測(cè)量的誤差控制在1%以內(nèi),達(dá)到了工程應(yīng)用要求。同時(shí)本系統(tǒng)在實(shí)際應(yīng)用中可以用在常見(jiàn)的正弦、余弦信號(hào)系統(tǒng)中進(jìn)行相位差測(cè)量,也能夠滿足其他相對(duì)復(fù)雜波形信號(hào)的相位差測(cè)量,具有較強(qiáng)的頻漂適應(yīng)能力,在±10% 的信號(hào)頻漂范圍內(nèi)可以保證較高的測(cè)量精度,具有較高的抗干擾能力。
表1 本系統(tǒng)相位差測(cè)量數(shù)據(jù)
參考文獻(xiàn):
[1]傅中君,王建宇,周根元,等.基于初相和諧波理論的相位差測(cè)量方法[J].電測(cè)與儀表,2015,52(23):76-80.
[2]吳 靜.金海彬.高準(zhǔn)確度的相位差測(cè)量方法[J].中國(guó)電機(jī)工程學(xué)報(bào),2010,30(13): 41-45.
[3]姚天任.數(shù)字信號(hào)處理「M].武漢:華中理工大學(xué)出版社,1992.
[4]李德明,徐慶富,李長(zhǎng)俊,等.高精度數(shù)字式相位差測(cè)量系統(tǒng)設(shè)計(jì)[J].自動(dòng)化測(cè)試技術(shù),2015. 23(6):1925-1927.
[5]楊新華,陳玉松,金興文.基于FFT譜分析算法的高精度相位差測(cè)量方法[J].自動(dòng)化與儀器儀表, 2006(6):75-77.
[6]涂亞慶,沈廷鰲,李 明,等.基于多次互相關(guān)的非整周期信號(hào)相位差測(cè)量算法[J].儀器儀表學(xué)報(bào), 2014,35(7):1578-1585.
[7]張鴻博,蔡曉峰,魯改鳳.基于全相位FFT改進(jìn)相位差法的自動(dòng)準(zhǔn)同期并列參數(shù)測(cè)量[J].電力系統(tǒng)保護(hù)與控制,2016(4):76-83.
[8]沈廷鰲,涂亞慶,劉翔宇,等.基于相關(guān)原理的非整周期信號(hào)相位差測(cè)量算法[J]. 儀器儀表學(xué)報(bào), 2014,35(9):2153-2160.
[9]傅中君,王建宇,周根元,等.一種遠(yuǎn)程非同步的工頻信號(hào)相位差測(cè)量方法[J].儀器儀表學(xué)報(bào),2015,36(5):1039-1046.
[10]邱良豐,劉敬彪,于海濱.基于STM32的全相位FFT相位差測(cè)量系統(tǒng)[J]. 電子器件,2010,33(3):357-361.
[11]尹曉慧,陳 勁,張寶菊,等.低頻數(shù)字式相位測(cè)試儀的設(shè)計(jì)與實(shí)現(xiàn)[J].天津師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,32(1):39-42.
[12]沈廷鰲,涂亞慶,李 明,等.數(shù)據(jù)延拓式相關(guān)的相位差測(cè)量方法及驗(yàn)證[J].儀器儀表學(xué)報(bào),2014,35(6):1331-1337.