潘 紅, 李 冶, 郭睿楠, 王義濤, 陸 浩
(吉林大學 儀器科學與電氣工程學院, 吉林 長春 130026)
隨著微電子、計算機、網絡通信和軟件技術的高速發展, 傳統儀器開始向計算機化方向發展,虛擬儀器技術應運而生。通過軟件處理和硬件配置,虛擬儀器可以實現由用戶自定義和擴展的各種功能,且價格低廉, 應用廣泛[1]。
在測試領域中,頻譜分析是信號處理中非常重要的分析手段之一[2-3]。傳統的頻譜分析儀完全由硬件電路搭建,擴展性差、相互不兼容、缺乏通用化與模塊化,不僅使得開發效率難以提高,而且開發價格也非常昂貴。目前國外最具代表性的Agilent公司和Tektronics公司,占領絕對市場優勢,由于價格昂貴無法在高校普及。針對這一問題,本文設計了一種基于ALTERA公司EP1C6T144C8型號FPGA為硬件基礎,以LabVIEW為軟件核心的多功能虛擬頻譜分析儀,在相應的硬件支持下,通過LabVIEW強大的分析處理能力構建其功能。在已有的硬件基礎上,通過重構軟件,還可以實現虛擬示波器、虛擬頻率計及虛擬頻率特性測試儀等其他儀器,使其功能得以擴展,應用靈活[4]。
本文采用數字方式實現虛擬頻譜分析儀的多種功能[5-6]。首先由AD對輸入信號進行采樣,將連續時間信號變為離散時間信號,然后利用LabVIEW對采集的數據進行平均、濾波、加窗、FFT運算處理,得到信號的幅值譜、相位譜、功率譜、幅頻響應、相頻響應以及頻率響應實虛等功能。
為了提高頻譜分析質量,必須采取一些必要措施減少實際測量中出現的誤差。采樣過程中,為防止頻率混疊現象,根據不同的頻率信號,應選取不同的采樣速率,以滿足采樣定理。進行FFT的數據在理論上應為無限長的離散序列,實際測量中,是對有限長的信號進行分析處理,只取采樣時間內的離散序列,這樣就產生頻譜泄露,為了消除泄露和柵欄效應,如果被測信號是周期信號,采取“整周期截取”可以消除。如果被測信號是非周期信號,必須加窗截斷信號,減小頻譜泄漏誤差。不同的被測信號應選擇相應的窗函數使頻譜泄漏最小。選擇窗函數時應力求頻譜的主瓣寬度窄、旁瓣的峰值小[7]。本文設計中分別用矩形窗、漢寧窗、漢明窗、布來克曼窗等窗函數減少頻譜泄漏。為消除干擾,在進行FFT變換之前,先進行濾波處理。本設計采用了巴特沃斯、切比雪夫、橢圓、貝塞爾等濾波器。此外,系統采用平均法來提高隨機信號的置信度。
本系統采用五大模塊設計,由信號調理模塊、微處理器模塊、A/D轉換模塊、FPGA模塊及LabVIEW模塊組成,系統的總體設計如圖1所示。信號調理模塊將信號調整到合適的電壓范圍內,對大信號進行衰減、小信號進行放大;微處理器模塊通過雙口RAM實現系統總線接口的通信,完成系統的初始化并處理總線發送過來的命令,控制相應的電路單元;A/D轉換模塊將采集到的模擬信號轉換成數字信號,并將數據存放到FPGA內部的FIFO中;FPGA模塊是頻譜分析儀的核心模塊,實現控制AD轉換、采樣率選擇、數據的存儲與處理等功能。通過自行設計的譯碼控制電路,使其輸出高低電平實現對采集電路中多路開關的選擇和繼電器的吸合,達到控制衰減電路衰減10倍和100倍的目的,最后將存于FIFO的數據通過USB總線傳輸到上位機LabVIEW模塊中;LabVIEW模塊實現頻譜分析儀的功能設定、數據存儲分析及結果顯示,同時LabVIEW中提供了“互連接口”函數可動態的調用儀器驅動程序,運行時與底層USB驅動交互通信,實現板卡識別、消息傳遞等功能。

圖1 系統總體結構
虛擬頻譜分析儀的硬件部分負責數據采集,因此硬件電路難點與關鍵技術在于信號調理模塊、A/D轉換模塊、微處理器模塊、FPGA模塊。
信號調理模塊是數據采集的難點,由輸入耦合電路、衰減電路、阻抗變換、驅動放大電路組成。由于本設計要求最大輸入電壓為±12 V,而選用的AD9288轉換器允許輸入的最大信號峰峰值為1 V,所以信號調理單元必須具有電壓衰減的功能,當信號太大時衰減,當信號較小時直通。本設計方案可衰減1倍、10倍、100倍。為了提高輸入阻抗,一般采用大的分壓電阻。但分壓電阻大會導致寄生電容的影響也增大,從而會降低工作頻率[8],因此本設計采用電阻電容補償式分壓器。
此模塊采用AD公司的AD9288BST-40芯片,AD9288BST-40是一款雙8位高速模數轉換器,內部兩個ADC可以獨立工作,每通道最高采樣率可達40MSPS,內部集成了基準電壓電路和采樣保持電路,單電源工作,差分輸入,并行輸出接口,同時兼容TTL/CMOS電平,電源輸出端可直接連接邏輯接口。因此AD9288的輸出信號端可直接與FPGA接口連接。
圖2中, D1、D2起到保護電壓過大的作用,將輸入電壓控制在0.5 V左右,防止驅動放大電路過大導致輸出電壓過高。U14A作為放大器可放大輸入信號2倍,U14B能夠進行電平轉換,并將信號抬高1.25 V,則輸出電壓滿足AD9288的輸入電壓范圍。

圖2 AD9288的輸入驅動電路
當系統上電時,微處理器AT89C52負責初始化設備,向雙口RAM中寫入配置信息,再通過總線將配置信息傳輸到主控制器,主控制器判斷配置信息是否有誤;在儀器運行過程中,如果上位機更改控制指令,也會把相應的配置信息通過總線寫入到雙口RAM中,微處理器讀取雙口RAM的命令進行解析。
FPGA模塊是頻譜分析儀最關鍵的部分,也是系統設計的難點所在,FPGA模塊實現了時鐘發生器、采樣率控制、數據存儲FIFO、雙口RAM等功能。
虛擬頻譜分析儀需要一個高頻參考時鐘,通過FPGA內部的模擬鎖相環來實現。將外部的20 Mz有源晶振經鎖相環10倍頻到200 Mz供內部電路使用,這樣可以大大降低系統的電磁干擾。為了滿足采樣定理,得到精確的頻譜以及系統能夠靈活控制采樣率,因此設計了2分頻和5分頻電路,實現了100、50、40、20、10 Mz等時鐘[9],FPGA模塊的分頻電路如圖3所示。

圖3 FPGA內部分頻電路
硬件電路采集的數據,可以直接上傳到上位機,但是由于頻譜分析儀的最大采樣速率遠大于數據上傳到上位機的速率,故本設計采用FIFO存儲波形數據,FIFO在FPGA中實現,采集到的信號按每次8 bit數據緩存到FIFO中,考慮到數據傳輸顯示的實時性,每個FIFO只設置2.5 KB的存儲空間,共設置2個FIFO存儲。為了實現數據的復用,FIFO輸出端連接一個三態門,由REN(輸出使能)控制。電路如圖4所示。

圖4 FPGA內部FIFO電路
本虛擬頻譜分析儀采用微處理器+FPGA+主控制器+LabVIEW的設計方案,按照通訊情況即頻譜分析儀硬件、主控制器和LabVIEW三大模塊,其中頻譜分析儀和主控制器之前的通訊是通過雙口RAM—IDT7130來實現的,由于直接采用集成芯片IDT7130搭建的外圍電路復雜,占用PCB板的空間大,故本設計通過FPGA實現雙口RAM。如圖5所示,需要注意的是FPGA內部的讀寫使能都是高電平有效,這與IDT7130的讀寫使能相反,因此需要加入非門達到與IDT7130一樣的邏輯。

圖5 FPGA內部雙口RAM電路
系統硬件采集到的數據經過USB總線上傳至LabVIEW模塊中,由LabVIEW進行數據接收、存儲、處理及顯示。LabVIEW主要分為前面板和程序框圖兩部分,前面板即用戶界面,設置儀器相關參數,定義各種控件并顯示被測信號波形[10-11]。程序框圖包含各種功能函數,由節點按照一定的邏輯關系連接,實現數據通信和分析處理。
LabVIEW具有功能強大的數據接口通信函數,本頻譜分析儀通過CLF節點調用動態鏈接庫(DLL)函數的方法實現LabVIEW與USB驅動程序的接口,達成與主控制器的通訊,從而實現上位機與硬件模塊的控制[12-13]。系統通過動態連接庫將與儀器有關的I/O操作都封裝成函數的形式提供給應用程序,此動作操作和數據處理在VC中編程實現。加載后的CLF節點如圖6所示,當上位機傳遞指令時,只需通過CLF節點調用動態鏈接庫的方式將所需的參數傳遞給主控制器;同樣,在硬件電路采集數據時,通過CLF節點將采集的數據映射到LabVIEW數據類型,以供上位機分析處理[14-15]。
為了實現頻譜儀的功能,本設計通過對采樣信號進行FFT算法得到信號頻譜,由于采樣序列為實數序列,而實數序列經過FFT運算后的幅度具有對稱性,則可以采用單邊FFT變換,即取FFT輸出序列長度的1/2作為結果[16],因此真正的結果是輸出序列中除直流分量各幅度值再乘以2得到的。在LabVIEW中實現FFT算法只須直接采用FFT控件,點擊【編程】→【數值】→【復數】子選板的“復數至極坐標轉換”函數,然后再將FFT的輸出分解成幅值和相位,其中相位的單位為弧度。另外,由于頻譜圖顯示的步進值是“采樣頻率/采樣點數”的值,而橫坐標采用的是頻率值,因此需注意的是顯示的最大頻率只能是設置采樣頻率的1/2。
虛擬頻譜分析儀選用吉林大學自主研發的虛擬信號發生器進行測試,該信號發生器可自由設置波形類型、頻率、幅值等參數。如圖7~10所示,分別是信號頻率為1 kHz,幅值為1 V的正弦波、方波、三角波及鋸齒波的頻譜分析。

圖6 加載后的CLF節點


圖7 正弦波頻譜分析


圖8 方波頻譜分析

圖9 三角波頻譜分析

圖10 鋸齒波頻譜分析
當選用頻率為10 Hz,幅值為1 V的正弦波作為激勵信號,得到一個同頻率、同幅值的余弦響應信號,經計算得到頻率響應的幅相頻特性及實虛部譜。前面板如圖11、12所示。實測結果顯示,虛擬頻譜分析儀顯示信號非常穩定,經理論值比較分析結果正確且頻譜分量明顯。


圖11 頻率響應幅相頻特性測量結果


圖12 頻率響應實虛部譜測量結果
基于LabVIEW和FPGA設計的虛擬頻譜分析儀與傳統頻譜分析儀相比,創新點在于應用了當今最前沿的設計理念——模塊化結構,并且以LabVIEW為核心的虛擬儀器技術代替傳統儀器的部分復雜硬件電路,不僅優化了系統設計,而且使得系統調試及維護更加方便。實現了頻譜分析儀的基本功能和用戶可操作及自定義功能,具有擴展性強的特點,并且降低研制成本。但由于儀器在測試低頻信號受到采樣點數和采樣率的影響,響應時間比較慢,因此,儀器運行效率還有待提高。
[1] 林 君,謝宣松.虛擬儀器原理與應用[M]. 北京:科學出版社,2006.
[2] BILSKI P,WINIECKI W. A Low-Cost Real-Time Virtual Spectrum Analyzer[J].Warsaw University of Technology:IEEE Institute of Radioelectronics, 2007,56(6): 2169-2221.
[3] HENGKIETISAK S,TIPYAKANONT S. Laboratory Digital Signal Analysis with Virtual Spectrum Analyzer[J]. IEEE International Conference on Digital Object Identifier, 2005,4(6): 857-860.
[4] 張重雄.虛擬儀器技術分析與設計[M].北京:電子工業出版社,2007.
[5] 李健康.基于虛擬儀器技術的頻譜分析儀的研制[D].長春:吉林大學,2012.
[6] BILSKI P,WINIECKI W. Virtual Spectrum Analyzer Based on Data Acquisition Card[J].IEEE Transactions on Instrumentation and Measurement, 2002,51(1):82-87.
[7] 肖曉萍,石永革.基于LabVIEW的虛擬頻譜分析儀及頻域測量誤差分析[J].計算機工程與設計, 2006,27(18):3472-3474.
XIAO Xiao-ping,SHI Yong-ge.Virtual spectrum analyzer of based on LabVIEW and measure error of frequency domain analysed[J]. computer engineering and design, 2006,27(18):3472-3474.
[8] 韋建榮.可重構測控系統的研究與設計[D].長春:吉林大學,2006.
[9] 汪 虹,李 宏.基于FPGA的等占空比任意整數分頻器的設計[J].現代電子技術, 2005(16):8-9.
WANG Hong,LI Hong. Design of the Equal Duty Ratio Arbitrary In teger Frequency Divider Based on FPGA[J]. modern electronic technology, 2005(16):8-9.
[10] 阮奇楨.我和LabVIEW[M].北京:北京航天航空大學,2009.
[11] MOUMTADI F,MENDOZA F R. Spectrum Analyzer using FFT via LabVIEW[J]. Electronics,Communications and Computer (CONIELECOMP),2010(20):307-310.
[12] 杜偉寧,趙晨光.基于LabVIEW的虛擬頻譜分析儀設計[J].吉林大學學報(理學版). 2009(5):548-552.
DU Wei-ning,ZHAO Chen-guang.Design of Virtual Spectrum Anaiyzer Based on LabVIEW[J].Journal of Jilin University(Science Edition), 2009(5):548-552.
[13] 胡 寧,徐 兵.基于LabVIEW的頻譜分析儀的設計[J].計算機測量與控制, 2013,21(5):1404-1407.
HU Ning,XU Bing.Design of Spectrum Analyzer Based on LabVIEW[J].Computer Measurement & Control, 2013,21(5):1404-1407.
[14] 周福超,汪志勇.基于LabVIEW的虛擬頻譜分析儀[J].儀器儀表學報, 2002,23(3):741-743.
ZHOU Fu-chao,WANG Zhi-yong.The Virtual Spectrum Analysis Instrument Based on LabVIEW[J].Chinese Journal of Scientific instrumrnt, 2002,23(3):741-743.
[15] 劉 鋼,楊華榮.基于LabVIEW的虛擬頻譜分析儀的設計[J].電測與儀表, 2010(6):321-324.
LIU Gang,YANG Rong-hua.A Design of Virtual Specteum Analyzer Based on LabVIEW[J].Electrical Measurement & Instrumentation, 2010(6):321-324.
[16] 梁 璨.虛擬數字頻譜分析儀的設計[D].西安:電子科技大學,2009.