李 斌 尚 超
(91388部隊94分隊 湛江 524022)
在水聲學實驗中,獲得水聲信號源的常用方法是利用信號發生器產生電信號,通過功放將信號放大后送到發射換能器以發射水聲信號。傳統的信號發生器一般只能產生幾種常規的波形,不能生成我們實驗所需的復雜和特殊的信號,即便一些高檔儀器能夠實現,其價格也極其昂貴,功能單一,不具備用戶對儀器定義及編程的功能。一個傳統的實驗室不可能同時擁有各類信號發生器,然而,虛擬儀器技術的發展為解決這一問題提供了可能。
虛擬儀器[1]是應用于通用計算機上的一種軟件與硬件的組合,以通用計算機和配備標準數字接口的測量儀器(GPIB,RS-232VXI等)為基礎,直接利用計算機豐富的硬件(微處理器,存儲器,顯示器等)和軟件(軟面板,圖形界面數據處理,信息交換等)資源,將計算機和測量組件等硬件資源與計算機軟件資源有機地結合起來,把傳統儀器的專業化功能軟件化,使之與計算機融為一體,構成一臺從外觀到功能都完全與傳統硬件儀器相同,同時又充分享用計算機智能資源的全新的儀器系統。本文結合實驗的需要,利用 NI PCI-4461采集卡等硬件,使用 LabVIEW2010[2]虛擬儀器開發環境設計開發了一種水聲信號發生器,該信號發生器能夠為水聲學實驗提供所需的各種信號源,并可以實現任意波形的編輯、輸出顯示、波形分析及數據存儲。
虛擬水聲信號發生器的功能設計參考了常見信號發生器的功能,并結合虛擬儀器基于計算機的特點,在功能上有所擴展,實現的主要功能如下:
1)可產生10Hz~40KHz的正弦波、方波、三角波、鋸齒波、白噪聲以及任意波形;
2)任意波形的發生,任意波可實現公式輸入;
3)信號頻率、幅度、相位、偏移量可調可控;
4)方波占空比可調;
5)噪聲任意可加、創建友好界面、信號波形顯示;
6)采樣頻率和采樣點數可以隨信號頻率在檔位變化時調節。
水聲信號信號發生器的硬件主要由PC機、D/A數據轉換卡及換能器組成。整個程序的軟件就是在PC機上操作,通過修改軟件的參數,就可以輕松實現對信號發生器功能的改變,D/A數據轉換卡將LabVIEW程序生成的信號數據通過BNC口傳送給換能器。換能器將信號發生器生成的電信號轉換成水聲信號發射出去,滿足我們實驗的需要。
D/A數據轉換卡是整個水聲信號發生器的核心,轉換卡的D/A轉換器的分辨率:24位;最高采樣率:204kS/s;兩路24位模擬輸入和輸出;具有同步觸發功能;模擬輸入范圍:±10V。
圖1 虛擬水聲信號發生器硬件構成
軟件設計是虛擬函數信號發生器設計的核心。Lab-VIEW程序由兩部分組成:前面板程序和框圖程序。整個程序基于多線程設計,即前面板和系統程序各占用一個線程。虛擬水聲信號發生器的前面板如圖2所示。前面板是用戶接口,即交互式界面,用戶可以通過修改前面板參數,就可實現對程序的改變。在前面板中,使用了各種仿真圖標,如開關、旋鈕等,并以數字或實時趨勢圖等各種形式輸出測試結果,來模擬真實儀器的面板。在前面板中通過鼠標和鍵盤修改參數,就可以改變儀器的功能,同時,前面板上可以顯示出信號發生器生成的信號波形,便于我們觀察和監測。
圖2 虛擬水聲信號發生器的前面板
程序的編寫是水聲信號發生器設計的重點和難點,本系統利用LabVIEW圖形化編程語言進行程序編寫,程序設計主要包括三大部分:
4.2.1 信號生成和顯示
信號生成和顯示部分是整個軟件的核心部分,在應用程序中產生各種信號,并可以在前面板中顯示出來,信號的生成模塊主要包括以下三個模塊:
1)基本函數波形產生模塊
該模塊是試驗中最常運用的模塊,是應用波形產生子模板中的基本函數發生器(VI)節點來產生正弦波、三角波、方波、鋸齒波等四種常規信號。
圖3 基本函數波形產生模塊程序框圖
2)任意函數波形產生模塊
該模塊后面板框圖程序如圖4所示。為了能夠產生一些非周期信號或其它測試領域的特殊信號在本設計中應用波形產生子模板中的公式波形VI節點來產生任意波形。該節點可使用指定時間函數的公式字符串生成一個函數波形。在formula端子輸入公式,用于生成輸出多頻波形信號的表達式,表達式中包含的參數有:f(輸入頻率)、a(輸入幅度)、n(采樣點數)、t(時間)和fs(采樣頻率)。
圖4 任意函數波形產生模塊程序框圖
3)噪聲信號產生模塊
該模塊可以根據需要對產生的波形信號進行疊加噪聲。通過選擇噪聲的標準差和種子數,可以疊加不同的高斯白噪聲。本設計中噪聲信號發生器的實現主要是應用波形產生子模板中的Tones and Noise Wave form.VI節點來產生疊加在正弦波上的高斯白噪聲信號。
圖5 噪聲信號產生模塊程序框圖
4.2.2 采集卡數據采集生成信號部分
LabVIEW軟件生成的信號并不能直接通過換能器發送出去,必須通過與LabVIEW程序相匹配的NI公司的D/A數據轉換卡才能將軟件生成的數據轉換成電信號,進而通過采集卡的BNC接口將信號送給換能器。
圖6 數據采集生成部分程序框圖
4.2.3 數據存儲和處理部分
數據存儲是整個程序設計的一個重要部分,用于事后對信號做進一步的分析和處理,便于對整個實驗總結,對分析數據起著非常重要的作用。
數據處理部分的作用,就是將才產生出的信號通過不同形式的檢波、計算,得出規定的不同結果。在本設計中需要顯示信號的頻率、峰值和平均值。
圖7 數據存儲模塊
為了驗證虛擬水聲信號發生器的可靠性,實驗室利用虛擬水聲信號發生器發出30KHz的調制信號,周期是1s,脈寬10ms。水聲信號經發射換能器從水中發射出去,利用監測水聽器接收換能器發射的水聲信號,以此來驗證虛擬水聲信號發生器產生的信號的有效性。圖8為監測水聽器采集的部分信號。此系統已經過多次實驗的考驗,在不同的實驗中很好地完成了不同類型,不同功率的信號產生任務。在這些實際使用中已經證明,此基于虛擬儀器技術的水聲信號發生器功能強大,性能穩定,用途多樣,操作使用簡單,可以在大量的水聲學實驗中,作為通用的水聲信號發射平臺使用。
圖8 監測水聽器采集的部分信號
本文介紹了如何利用虛擬儀器技術開發水聲信號發生器,并對信號發生器的每個模塊進行了詳細的論述。該水聲信號發生器具有產生信號精度高、功能強、使用方便、設備費用低、用戶自定義功能及操作方便靈活等優點,而且由于虛擬儀器的功能是由軟件來完成的,軟件即儀器,儀器功能的修改和升級很方便。實踐證明,采用LabVIEW開發平臺開發各種用途的虛擬儀器是儀器領域的一個重要發展方向,隨著計算機技術和測控技術的高速發展,虛擬儀器將逐步取代傳統儀器,而且虛擬儀器必將在更多的領域發揮其重要作用。
[1]張桐,陳國順,王正林.精通LabVIEW 程序設計[M].北京:電子工業出版社,2008.
[2]林正盛.虛擬儀器技術及其應用[J].電子技術應用,1997(3).
[3]王俊峰.基于LabVIEW的信號處理虛擬實驗系統[J].國外電子測量技術,2006(10).
[4]蔡國英,張宏群.基于LabVIEW的信號產生與分析系統[J].國外電子測量技術,2007,26(7):12-14.
[5]連海洲,趙英俊.基于LabVIEW技術的虛擬儀器系統[J].儀器與測控,2001(8):21-23.
[6]佟春明,王天利.基于LabVIEW的信號處理系統開發[J].遼寧工學院學報,2003,23(6):17-20.
[7]張旭,張春梅,王尚錦.虛擬儀器軟件LabVIEW和數據采集[J].微機發展,2004(3):77-79.
[8]劉麗桑.基于LabVIEW的虛擬信號處理系統[J].工業控制計算機,2007(9):53-54.
[9]封金鑫,丁士圻.水下運動目標長基陣定位解算研究[J].聲學學報,1996(5).
[10]李曉峰,張紅民,梅康平.基于LabVIEW的多通道多參數虛擬儀器設計[J].計算機與數字工程,2008,36(3).
[11]趙政春,鄧曙光,譚躍.基于LABVIEW的數據采集與分析系統[J].計算機與數字工程,2010,38(5).
[12]朱春峰,張立民,張兵強.基于仿真信號的虛擬示波器的設計與實現[J].計算機與數字工程,2008,36(12).
[13]于平.兩種水聲導航定位算法的應用與分析[J].靶場試驗與測量,2004(1):21-23.