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