(南開大學(xué) 電子信息與光學(xué)工程學(xué)院,天津 300071)
總諧波失真(THD)是信號的重要參數(shù)之一,它表征了信號偏離正弦波的程度,是衡量運算放大器、功率放大器等器件及函數(shù)信號發(fā)生器等儀器的重要指標,另外THD的測量在電力電子、電聲學(xué)等諸多領(lǐng)域有著廣泛的應(yīng)用與重要意義。THD主要有基波抑制、頻譜分析及正弦波形擬合等測量方法[1-5]。通過閱讀文獻及對比現(xiàn)有的失真度測量儀,發(fā)現(xiàn)利用現(xiàn)有的方法或儀器測量THD被測信號頻率的下限基本都在1 Hz以上,為了解決低頻信號THD測量的問題,本文在頻譜分析法基礎(chǔ)上利用可編程邏輯器件對比較器輸出的方波信號進行自適應(yīng)消抖處理,成功地實現(xiàn)了頻率下限為0.1 Hz被測信號THD的測量。本文研究的技術(shù)方案可為測量低頻信號THD的應(yīng)用場景提供有益的參考。
系統(tǒng)的硬件結(jié)構(gòu)主要包括嵌入式處理器、可編程邏輯器件、模數(shù)轉(zhuǎn)換器(ADC)、電壓比較器及方波電平變換電路等部分。其中比較器負責產(chǎn)生與被測信號頻率、相位一致的方波,該方波經(jīng)過電平變換電路輸出給可編程邏輯器件。可編程邏輯器件的主要作用是運行自適應(yīng)消抖算法以消除輸入方波在上升沿及下降沿處產(chǎn)生的抖動,消抖后的方波信號輸出給嵌入式處理器。嵌入式處理器利用32位定時計數(shù)器捕獲該輸入信號的頻率和起始過零點(上升沿),然后控制ADC從起始過零點開始以上述頻率的整數(shù)倍來采樣原始的被測信號,這樣就實現(xiàn)了對被測信號的整周期同步采樣,有效地避免了頻譜泄漏和柵欄效應(yīng)[6]。對采樣得到的數(shù)據(jù)進行快速傅里葉變換(FFT)并結(jié)合THD的定義就可以獲得被測信號的THD值[7-9],同時利用液晶屏(LCD)顯示被測信號整周期的波形及頻率、峰峰值等信息。綜上,該系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
圖1 低頻信號失真度測量系統(tǒng)結(jié)構(gòu)框圖Fig.1 Structure block diagram of low frequency signal distortion measurement system
下文從軟、硬件兩方面對該低頻信號失真度測量系統(tǒng)進行介紹。
2.1.1 嵌入式處理器及可編程邏輯器件
本文采用意法半導(dǎo)體(ST)公司的基于ARM Cortex-M7 32位RISC內(nèi)核的STM32F767IGT6嵌入式處理器作為主控芯片,該嵌入式處理器工作頻率可達216 MHz,內(nèi)置1 MB閃存,512 KB SRAM及32位定時計數(shù)器等多種外設(shè)。消抖部分的協(xié)處理器采用Altera公司的Cyclone IV系列可編程邏輯器件EP4CE10E22C8N,其內(nèi)嵌10320個Logic elements(LEs),414 Kbits RAM,并內(nèi)置硬件乘法器、模擬鎖相環(huán)等豐富的外設(shè)資源。
2.1.2 模數(shù)轉(zhuǎn)換器
被測信號必須經(jīng)過ADC轉(zhuǎn)換成數(shù)字量后才能利用嵌入式處理器做進一步的處理,如果選用STM32F767IGT6內(nèi)部的ADC,則被測信號的電壓范圍必須為正值且不能超過處理器的電源電壓,對于交流被測信號則必須利用運算放大器搭建電平抬升電路才能滿足ADC輸入電壓范圍的要求,而電平抬升電路的引入將一定程度上增大被測信號的噪聲并影響其THD值,綜合上述原因,模數(shù)轉(zhuǎn)換器考慮采用亞德諾半導(dǎo)體(ADI)公司的AD7606,該芯片為8通道同步ADC,16位采樣精度,最高采樣率200 kS/s,單電源5 V供電兼容±5 V或±10 V模擬量輸入,具有1 MΩ模擬輸入阻抗的輸入緩沖器,及二階抗混疊模擬濾波器[10],可以很好地滿足該失真度測量系統(tǒng)的要求。
2.1.3 比較器及電平變換電路
利用比較器芯片LM393對被測信號進行過零比較,比較器輸出的方波信號再經(jīng)過電平變換電路輸出給可編程邏輯器件,該部分的電路原理如圖2所示。
圖2 比較器及電平變換電路原理圖Fig.2 Schematic diagram of comparator and level translationcircuit
圖2中Vin為被測信號,Vsq為比較器的輸出,二極管D1的作用是將Vsq整形成電壓全正的方波,電阻R3、R4對整形后的方波分壓得到Vout_FPGA,輸出給可編程邏輯器件。LM393是雙路比較器,未用到的那路不能懸空否則會影響Vsq的波形,將未用到的比較器正輸入端接地,負輸入端通過電阻R2接地,這樣就不會對Vsq產(chǎn)生影響。
2.2.1 自適應(yīng)消抖算法
由于比較器自身的特性,當被測信號頻率較低或幅值較小時,輸出信號在過零點極容易會發(fā)生抖動,如果不做消抖處理則很難實現(xiàn)后續(xù)的整周期同步采樣等操作。本文利用可編程邏輯器件對比較器輸出的方波進行自適應(yīng)消抖,消抖算法的結(jié)構(gòu)圖如圖3所示。
圖3 自適應(yīng)消抖算法結(jié)構(gòu)圖Fig.3 Structural diagram of adaptive elimination buffeting algorithm
圖3的Vout_FPGA為圖2中經(jīng)過電平變換后的比較器輸出信號,Vout_MCU為消抖后的信號并最終輸出給嵌入式處理器。Ejitter_clk及Ejitter為利用硬件描述語言編寫的功能模塊,其中Ejitter模塊的功能是對方波進行消抖,下面對消抖算法進行簡介。連續(xù)10個時鐘周期采樣xin管腳的輸入信號,當10個時鐘上升沿采樣得到的信號都為高電平時dout輸出高電平,如果采樣都為低電平則dout輸出低電平,其他情況下維持dout先前的輸出狀態(tài)不變,這樣就實現(xiàn)了對輸入信號的消抖處理。D觸發(fā)器對dout進行等占空比二分頻得到TS_OUT,則TS_OUT的高電平時長即為dout的周期,也相當于Vout_FPGA的周期。TS_OUT連接到Ejitter_clk模塊的xin管腳,該模塊的功能是產(chǎn)生周期為xin輸入信號高電平時長萬分之一的時鐘信號 clk_out,即 clk_out的頻率為Vout_FPGA頻率的一萬倍,系統(tǒng)復(fù)位時clk_out的頻率為10 MHz,clk_out連接到Ejitter模塊的時鐘輸入端,這樣Ejitter消抖模塊的時鐘頻率自適應(yīng)輸入信號的頻率,即實現(xiàn)了對該輸入信號的自適應(yīng)消抖處理。
2.2.2 整周期同步采樣及FFT處理
可編程邏輯器件將消抖后的方波信號輸出給STM32F767IGT6處理器的PH10管腳,該管腳為32位定時計數(shù)器5的通道1,具有輸入捕獲功能,在程序中開啟上升沿輸入捕獲中斷,兩個連續(xù)上升沿的時間間隔即為被測信號的周期,對周期取倒數(shù)即得到其頻率值。為了實現(xiàn)對被測信號的整周期同步采樣,從理論上說需控制模數(shù)轉(zhuǎn)換器從被測信號的起始過零點開始以上述頻率的整數(shù)倍進行采樣,但考慮到AD7606的抗混疊濾波器具有15 μs的群延時,程序中設(shè)置AD7606采樣時刻整體延后相同的時間。實測AD7606采樣一次耗時約7.5 μs,為了在被測信號的一個周期內(nèi)盡可能多的采樣,同時采樣點數(shù)要滿足基2FFT運算的要求,設(shè)定ADC采樣的頻率與被測信號頻率間的關(guān)系見式(1):
式中:fADC為ADC的采樣頻率;fVin為被測信號頻率。
STM32F767IGT6處理器廠家提供的DSP庫具有基2的浮點FFT函數(shù),式(1)中N即為FFT的點數(shù)。ADC采樣得到的數(shù)據(jù)傳遞給FFT的相關(guān)函數(shù),即可得到基波及各次諧波對應(yīng)的幅值。由于FFT結(jié)果的對稱性,最高可以計算得到N/2次諧波的幅值。式(2)為THD的計算公式:
利用直流穩(wěn)壓電源(型號:SS2323)、函數(shù)信號發(fā)生器 (型號:TFG6080)及示波器 (型號:DSO-X 2012A)搭建低頻信號失真度測量系統(tǒng)的測試環(huán)境。由于AD7606芯片輸入電壓的限制,本文研究的失真度測量系統(tǒng)被測信號的電壓范圍不超過±5 V,另外由于采用過零比較器,所以被測信號應(yīng)為交流信號。利用直流穩(wěn)壓電源輸出±10 V為系統(tǒng)供電,函數(shù)信號發(fā)生器產(chǎn)生頻率0.1 Hz峰峰值4 V的正弦波,利用示波器測量消抖前后的波形以驗證自適應(yīng)消抖算法的效果,測量結(jié)果見圖4。
圖4 消抖效果示波器測量結(jié)果圖Fig.4 Oscillogram of measurement results of elimination buffeting
圖4中通道1波形(上半部分)為經(jīng)過電平變換后的比較器輸出信號波形,通道2波形(下半部分)為可編程邏輯器件對該信號進行消抖處理后輸出給嵌入式處理器的波形??梢悦黠@看出抖動已經(jīng)完全消除。
設(shè)置函數(shù)信號發(fā)生器產(chǎn)生頻率500 Hz峰峰值4 V的正弦波,按照式(1)在一個周期內(nèi)ADC等間距采樣128個點,每次ADC開始采集時配置STM32F767IGT6處理器的PB0輸出高電平,采集結(jié)束后配置PB0輸出低電平。利用示波器觀察正弦波及PB0的波形,測量結(jié)果見圖5。
圖5 整周期同步采樣示波器測量結(jié)果圖Fig.5 Oscillogram of measurement results of integer-period synchronous sampling
從圖5可以看出實現(xiàn)了對被測正弦波的整周期同步采樣。
利用函數(shù)信號發(fā)生器產(chǎn)生峰峰值4 V不同頻率的正弦波、三角波及方波作為被測信號,THD的實測結(jié)果見表1,系統(tǒng)實物及LCD的顯示界面見圖6。
表1 THD測量結(jié)果數(shù)據(jù)表Tab.1 Data of THD measurement results
圖6 低頻信號失真度測量系統(tǒng)實物圖Fig.6 Actual picture of low frequency signal distortion measurement system
根據(jù)式(2)可推導(dǎo)出方波和三角波THD的理論計算值分別為48.343%及12.115%,對比表1的測量數(shù)據(jù),當被測信號頻率在0.1~1000 Hz之間時本文設(shè)計的失真度測量系統(tǒng)對正弦波、三角波及方波THD的測量值與理論值的偏差在分別在0.261%、0.16%及4.187%以內(nèi)。
本文設(shè)計的低頻信號失真度測量系統(tǒng),可以實現(xiàn)電壓范圍不超過±5 V,頻率0.1~1000 Hz交流信號失真度的測量,對于電壓范圍超過±5 V或非交流的被測信號需經(jīng)過電壓衰減電路及電容隔直處理再輸入到該系統(tǒng)進行測量。此外本文研究的基于可編程邏輯器件的自適應(yīng)消抖技術(shù)方案可為測量低頻信號失真度的研究提供有益的參考。