摘 要: 針對模擬控制正弦信號失真度測試儀體積大、測試精度低和使用不方便的缺點,設計了數(shù)字控制正弦信號失真度測試儀。該系統(tǒng)以單片機和FPGA相結(jié)合為控制核心,運用快速傅里葉變換(FFT)為主要分析工具,對信號輸入電路進行程控衰減、放大與預濾波處理,實現(xiàn)了量程自動轉(zhuǎn)換和數(shù)據(jù)采樣,并且成功避免了頻率混疊現(xiàn)象。最后,系統(tǒng)完成了軟硬件電路設計后,經(jīng)過測試,該系統(tǒng)能夠?qū)斎胄盘栠M行總功率和譜功率的測量和分析,并能正確地判斷未知信號的周期性并測量出周期信號的周期,也能正確測量規(guī)定頻率范圍內(nèi)正弦信號的失真度,在高校實驗室有廣泛的應用價值。
關鍵詞: 失真度;數(shù)字控制;頻譜;頻率混疊
0 引言
波形失真又稱非線性失真,它是由放大電路的非線性引起的。非線性失真又包括諧波失真和互調(diào)失真,本文研究的失真均為諧波失真。在無線電計量測試中,許多參數(shù)的準確度都涉及失真度測量問題,尤其在信息產(chǎn)生、傳遞和接收過程中,必須準確分析和處理好失真問題。失真度測試儀就是一種用于測量信號失真度的儀器,在電子產(chǎn)品的生產(chǎn)和檢測中有著廣泛的應用[1-2]。目前市面上的失真度測試系統(tǒng)仍以模擬測試為主,而數(shù)字化測試系統(tǒng)很少而且價格昂貴,因此開發(fā)性價比高的數(shù)字化失真度測試系統(tǒng)有著重要意義。本文研發(fā)了一款基于FPGA與單片機結(jié)合的數(shù)字失真度測量系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)精確失真度測試,具有高性能、高可靠性、低成本和易操作等特點,具有較高的應用價值。
1 失真度測試原理及系統(tǒng)方案實現(xiàn)
1.1 失真度測試原理
一個失真的正弦周期振蕩信號電壓,除有基波電壓分量外,還有各次諧波分量存在,把周期失真的正弦信號展開成傅里葉級數(shù),如式(1)所示[3]:
式(1)中f(t)為含有諧波失真的正弦波,A0/2為正弦波中的直流分量,An為第n次諧波的振幅,n為失真正弦波中所含最高諧波次數(shù),為標準正弦波的角頻率,n為第n次諧波相對于基波的初相角。
一般地,正弦波的失真用失真度表示,即用所有諧波有效值之和與基波有效值之比的平方根來表示,而基于FFT的失真度儀采用頻域分析方法,通過計算傅里葉系數(shù)C1,C2,…,C3,最后得到失真度大小。因此,失真度可以由式(2)定義:
根據(jù)式(2)可知:如果要求含最高諧振波次數(shù)為n次的失真度,只要求出各次諧波的幅值,就可計算出信號的失真度。
1.2 系統(tǒng)方案實現(xiàn)
模擬失真度測試儀主要采用模擬器件實現(xiàn),造成了體積大,調(diào)試和維護不方便。基于以上原因,本文設計了數(shù)字失真度測試儀,考慮到成本和設計方面的原因,本系統(tǒng)采用FPGA與單片機相結(jié)合的方案。輸入信號先經(jīng)過衰減/放大與濾波處理后,再進行A/D采樣等數(shù)字化處理,然后由FPGA完成A/D數(shù)據(jù)存取、FFT算法及頻率測量,單片機完成系統(tǒng)的控制、周期性判斷、信號功率譜和失真度的計算等。此方案大大降低了單片機的負荷,提高了整個系統(tǒng)的處理速度與測量精度,其系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
2 數(shù)字失真度測試儀硬件電路設計
2.1 輸入程控電路設計
為了使輸入信號的電壓范圍擴寬,設計了一個具有8擋量程的程控放大器,實現(xiàn)量程自動轉(zhuǎn)換,保證A/D轉(zhuǎn)換器輸入電壓保持在0.5 V~2 V。此電路由運放、模擬開關和電阻網(wǎng)絡組成,具體電路如圖2所示[4-6]。
2.2 輸入總功率測量電路設計
由真有效值測量芯片AD637直接接入單片機,單片機內(nèi)部的12位A/D實現(xiàn)A/D轉(zhuǎn)換,然后由單片機完成功率計算。具體電路如圖3所示。
2.3 預濾波電路設計
為了使輸入信號的頻率成分限定在20 Hz~10 kHz范圍內(nèi),并防止采樣頻率出現(xiàn)混疊現(xiàn)象,在進行AD采樣前要進行預濾波處理。因此,采用開關電容濾波器MAX297進行預濾波電路設計,具體電路如圖4所示,其中fc=11 kHz。
2.4 信號整形電路設計
在測量正弦信號的失真度時,需對被測信號進行整形與測頻,然后使用DDS產(chǎn)生該頻率128倍頻A/D采樣時鐘。因此整形電路如圖5所示。
3 數(shù)字失真度測試儀軟件程序設計
3.1 FPGA程序設計
本系統(tǒng)中FPGA負責數(shù)據(jù)存取、FFT運算及頻率測量等功能,基本框圖如圖6所示。FPGA的內(nèi)部結(jié)構(gòu)包括4個部分,通信由FPGA內(nèi)部總線實現(xiàn),與外部的通信通過C51系列MCU的標準總線實現(xiàn),各部分之間通過總線轉(zhuǎn)換模塊控制通信。通過設立控制寄存器來控制及反映FPGA內(nèi)部各模塊的工作狀態(tài)。根據(jù)FPGA的程序開發(fā)功能,采取“由頂向下”的設計方法,使用VHDL語言設計出數(shù)據(jù)存取、頻率測量和控制模塊;然后使用VHDL語言并結(jié)合Altera公司提供的IP核(FFT 2.2.1)實現(xiàn)FFT算法[7-8]。
3.2 單片機C851F020程序設計
本系統(tǒng)中單片機采用C8051F020,它主要是實現(xiàn)控制和數(shù)據(jù)處理中心的作用,實現(xiàn)對程控放大、FPGA、人機接口及DDS電路的控制,同時負責計算信號的總功率和各頻率成分的功率、正弦信號失真度,還要負責信號的周期性判斷等。
3.3 周期性判斷方法
程序設計中將輸入信號分為兩個頻段,一個頻段的頻率范圍為20 Hz~500 Hz,另外一個頻段的頻率范圍為500 Hz~10 kHz。將頻率分段后再進行功率譜分析,以判斷是否有周期性信號存在。信號周期性判斷方案參數(shù)具體設置如表1所示。
4 實驗結(jié)果及分析
4.1 技術指標
技術指標:輸入電壓信號的范圍為5 mV~19.99 V,頻率范圍為20 Hz~10 kHz,各頻率分量功率測量的相對誤差絕對值≤10%,要求能準確計算出信號的功率譜及失真度,要能準確判斷信號的周期。
4.2 測量結(jié)果及分析
在開機狀態(tài)下,用4位半萬用表進行測量,輸入信號電壓范圍及量程自動轉(zhuǎn)換測試結(jié)果如表2所示。從表2可以看出,譜功率相對誤差最大為5%,完全滿足系統(tǒng)設計要求,而且得到了失真度精確測試數(shù)據(jù)。
輸入信號頻率范圍、頻率分辨率、頻率分量功率測量相對誤差和失真度測量具體結(jié)果如表3所示。
總功率和譜功率的具體測試結(jié)果如表4所示。其中,計算標準功率時的電壓以儀器輸出值為準。從表4可以看出,總功率的相對誤差絕對值小于10%,達到了設計的要求。
5 結(jié)論
本文設計了基于FPGA與單片機相結(jié)合的數(shù)字控制正弦信號失真度測量儀,該系統(tǒng)相對傳統(tǒng)的模擬控制正弦信號失真度測量儀具有以下優(yōu)勢:(1)采用數(shù)字化設計后,電路的結(jié)構(gòu)大大簡化,可靠性增強,生產(chǎn)容易以及調(diào)試方便;(2)數(shù)字失真度測試儀只用一套電路便可測量2~5次諧波,并可單獨顯示各次諧波的失真以及總失真,而且可以根據(jù)需要,只需增加取樣頻率即可測量更高次的諧波,并具有擴展性;(3)具有較高的精度及良好的人機界面。
參考文獻
[1] 高吉祥.全國大學生電子設計競賽培訓系列教程:電子儀器儀表設計[M].北京:電子工業(yè)出版社,2007.
[2] 黃智偉.全國大學生電子設計競賽系統(tǒng)設計[M].北京:北京航空航天大學出版社,2006.
[3] 趙茂泰.智能儀器原理及應用[M].北京:電子工業(yè)出版社,2004.
[4] 童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2006.
[5] 榮軍,張敏,李一鳴,等.基于單片機的恒流源技術研究[J].電子器件,2011,34(1):63-65.
[6] 榮軍,張敏,李一鳴,等.一種基于數(shù)字控制的直流電流源技術研究[J].微型機與應用,2010,29(23):71-73.
[7] 劉憲力,特日格樂,張清.基于等效和實時采樣的數(shù)字示波器設計[J].電子設計工程,2009,17(6):69-71.
[8] 丁紅斌,秦會斌,孫順遠.基于STM32的虛擬示波器的設計與實現(xiàn)[J].電子器件,2009,32(6):1007-1010.