李 斌 尚 超
(91388部隊94分隊 湛江 524022)
在水聲學(xué)實驗中,獲得水聲信號源的常用方法是利用信號發(fā)生器產(chǎn)生電信號,通過功放將信號放大后送到發(fā)射換能器以發(fā)射水聲信號。傳統(tǒng)的信號發(fā)生器一般只能產(chǎn)生幾種常規(guī)的波形,不能生成我們實驗所需的復(fù)雜和特殊的信號,即便一些高檔儀器能夠?qū)崿F(xiàn),其價格也極其昂貴,功能單一,不具備用戶對儀器定義及編程的功能。一個傳統(tǒng)的實驗室不可能同時擁有各類信號發(fā)生器,然而,虛擬儀器技術(shù)的發(fā)展為解決這一問題提供了可能。
虛擬儀器[1]是應(yīng)用于通用計算機上的一種軟件與硬件的組合,以通用計算機和配備標準數(shù)字接口的測量儀器(GPIB,RS-232VXI等)為基礎(chǔ),直接利用計算機豐富的硬件(微處理器,存儲器,顯示器等)和軟件(軟面板,圖形界面數(shù)據(jù)處理,信息交換等)資源,將計算機和測量組件等硬件資源與計算機軟件資源有機地結(jié)合起來,把傳統(tǒng)儀器的專業(yè)化功能軟件化,使之與計算機融為一體,構(gòu)成一臺從外觀到功能都完全與傳統(tǒng)硬件儀器相同,同時又充分享用計算機智能資源的全新的儀器系統(tǒng)。本文結(jié)合實驗的需要,利用 NI PCI-4461采集卡等硬件,使用 LabVIEW2010[2]虛擬儀器開發(fā)環(huán)境設(shè)計開發(fā)了一種水聲信號發(fā)生器,該信號發(fā)生器能夠為水聲學(xué)實驗提供所需的各種信號源,并可以實現(xiàn)任意波形的編輯、輸出顯示、波形分析及數(shù)據(jù)存儲。
虛擬水聲信號發(fā)生器的功能設(shè)計參考了常見信號發(fā)生器的功能,并結(jié)合虛擬儀器基于計算機的特點,在功能上有所擴展,實現(xiàn)的主要功能如下:
1)可產(chǎn)生10Hz~40KHz的正弦波、方波、三角波、鋸齒波、白噪聲以及任意波形;
2)任意波形的發(fā)生,任意波可實現(xiàn)公式輸入;
3)信號頻率、幅度、相位、偏移量可調(diào)可控;
4)方波占空比可調(diào);
5)噪聲任意可加、創(chuàng)建友好界面、信號波形顯示;
6)采樣頻率和采樣點數(shù)可以隨信號頻率在檔位變化時調(diào)節(jié)。
水聲信號信號發(fā)生器的硬件主要由PC機、D/A數(shù)據(jù)轉(zhuǎn)換卡及換能器組成。整個程序的軟件就是在PC機上操作,通過修改軟件的參數(shù),就可以輕松實現(xiàn)對信號發(fā)生器功能的改變,D/A數(shù)據(jù)轉(zhuǎn)換卡將LabVIEW程序生成的信號數(shù)據(jù)通過BNC口傳送給換能器。換能器將信號發(fā)生器生成的電信號轉(zhuǎn)換成水聲信號發(fā)射出去,滿足我們實驗的需要。
D/A數(shù)據(jù)轉(zhuǎn)換卡是整個水聲信號發(fā)生器的核心,轉(zhuǎn)換卡的D/A轉(zhuǎn)換器的分辨率:24位;最高采樣率:204kS/s;兩路24位模擬輸入和輸出;具有同步觸發(fā)功能;模擬輸入范圍:±10V。

圖1 虛擬水聲信號發(fā)生器硬件構(gòu)成
軟件設(shè)計是虛擬函數(shù)信號發(fā)生器設(shè)計的核心。Lab-VIEW程序由兩部分組成:前面板程序和框圖程序。整個程序基于多線程設(shè)計,即前面板和系統(tǒng)程序各占用一個線程。虛擬水聲信號發(fā)生器的前面板如圖2所示。前面板是用戶接口,即交互式界面,用戶可以通過修改前面板參數(shù),就可實現(xiàn)對程序的改變。在前面板中,使用了各種仿真圖標,如開關(guān)、旋鈕等,并以數(shù)字或?qū)崟r趨勢圖等各種形式輸出測試結(jié)果,來模擬真實儀器的面板。在前面板中通過鼠標和鍵盤修改參數(shù),就可以改變儀器的功能,同時,前面板上可以顯示出信號發(fā)生器生成的信號波形,便于我們觀察和監(jiān)測。

圖2 虛擬水聲信號發(fā)生器的前面板
程序的編寫是水聲信號發(fā)生器設(shè)計的重點和難點,本系統(tǒng)利用LabVIEW圖形化編程語言進行程序編寫,程序設(shè)計主要包括三大部分:
4.2.1 信號生成和顯示
信號生成和顯示部分是整個軟件的核心部分,在應(yīng)用程序中產(chǎn)生各種信號,并可以在前面板中顯示出來,信號的生成模塊主要包括以下三個模塊:
1)基本函數(shù)波形產(chǎn)生模塊
該模塊是試驗中最常運用的模塊,是應(yīng)用波形產(chǎn)生子模板中的基本函數(shù)發(fā)生器(VI)節(jié)點來產(chǎn)生正弦波、三角波、方波、鋸齒波等四種常規(guī)信號。

圖3 基本函數(shù)波形產(chǎn)生模塊程序框圖
2)任意函數(shù)波形產(chǎn)生模塊
該模塊后面板框圖程序如圖4所示。為了能夠產(chǎn)生一些非周期信號或其它測試領(lǐng)域的特殊信號在本設(shè)計中應(yīng)用波形產(chǎn)生子模板中的公式波形VI節(jié)點來產(chǎn)生任意波形。該節(jié)點可使用指定時間函數(shù)的公式字符串生成一個函數(shù)波形。在formula端子輸入公式,用于生成輸出多頻波形信號的表達式,表達式中包含的參數(shù)有:f(輸入頻率)、a(輸入幅度)、n(采樣點數(shù))、t(時間)和fs(采樣頻率)。

圖4 任意函數(shù)波形產(chǎn)生模塊程序框圖
3)噪聲信號產(chǎn)生模塊
該模塊可以根據(jù)需要對產(chǎn)生的波形信號進行疊加噪聲。通過選擇噪聲的標準差和種子數(shù),可以疊加不同的高斯白噪聲。本設(shè)計中噪聲信號發(fā)生器的實現(xiàn)主要是應(yīng)用波形產(chǎn)生子模板中的Tones and Noise Wave form.VI節(jié)點來產(chǎn)生疊加在正弦波上的高斯白噪聲信號。

圖5 噪聲信號產(chǎn)生模塊程序框圖
4.2.2 采集卡數(shù)據(jù)采集生成信號部分
LabVIEW軟件生成的信號并不能直接通過換能器發(fā)送出去,必須通過與LabVIEW程序相匹配的NI公司的D/A數(shù)據(jù)轉(zhuǎn)換卡才能將軟件生成的數(shù)據(jù)轉(zhuǎn)換成電信號,進而通過采集卡的BNC接口將信號送給換能器。

圖6 數(shù)據(jù)采集生成部分程序框圖
4.2.3 數(shù)據(jù)存儲和處理部分
數(shù)據(jù)存儲是整個程序設(shè)計的一個重要部分,用于事后對信號做進一步的分析和處理,便于對整個實驗總結(jié),對分析數(shù)據(jù)起著非常重要的作用。
數(shù)據(jù)處理部分的作用,就是將才產(chǎn)生出的信號通過不同形式的檢波、計算,得出規(guī)定的不同結(jié)果。在本設(shè)計中需要顯示信號的頻率、峰值和平均值。

圖7 數(shù)據(jù)存儲模塊
為了驗證虛擬水聲信號發(fā)生器的可靠性,實驗室利用虛擬水聲信號發(fā)生器發(fā)出30KHz的調(diào)制信號,周期是1s,脈寬10ms。水聲信號經(jīng)發(fā)射換能器從水中發(fā)射出去,利用監(jiān)測水聽器接收換能器發(fā)射的水聲信號,以此來驗證虛擬水聲信號發(fā)生器產(chǎn)生的信號的有效性。圖8為監(jiān)測水聽器采集的部分信號。此系統(tǒng)已經(jīng)過多次實驗的考驗,在不同的實驗中很好地完成了不同類型,不同功率的信號產(chǎn)生任務(wù)。在這些實際使用中已經(jīng)證明,此基于虛擬儀器技術(shù)的水聲信號發(fā)生器功能強大,性能穩(wěn)定,用途多樣,操作使用簡單,可以在大量的水聲學(xué)實驗中,作為通用的水聲信號發(fā)射平臺使用。

圖8 監(jiān)測水聽器采集的部分信號
本文介紹了如何利用虛擬儀器技術(shù)開發(fā)水聲信號發(fā)生器,并對信號發(fā)生器的每個模塊進行了詳細的論述。該水聲信號發(fā)生器具有產(chǎn)生信號精度高、功能強、使用方便、設(shè)備費用低、用戶自定義功能及操作方便靈活等優(yōu)點,而且由于虛擬儀器的功能是由軟件來完成的,軟件即儀器,儀器功能的修改和升級很方便。實踐證明,采用LabVIEW開發(fā)平臺開發(fā)各種用途的虛擬儀器是儀器領(lǐng)域的一個重要發(fā)展方向,隨著計算機技術(shù)和測控技術(shù)的高速發(fā)展,虛擬儀器將逐步取代傳統(tǒng)儀器,而且虛擬儀器必將在更多的領(lǐng)域發(fā)揮其重要作用。
[1]張桐,陳國順,王正林.精通LabVIEW 程序設(shè)計[M].北京:電子工業(yè)出版社,2008.
[2]林正盛.虛擬儀器技術(shù)及其應(yīng)用[J].電子技術(shù)應(yīng)用,1997(3).
[3]王俊峰.基于LabVIEW的信號處理虛擬實驗系統(tǒng)[J].國外電子測量技術(shù),2006(10).
[4]蔡國英,張宏群.基于LabVIEW的信號產(chǎn)生與分析系統(tǒng)[J].國外電子測量技術(shù),2007,26(7):12-14.
[5]連海洲,趙英俊.基于LabVIEW技術(shù)的虛擬儀器系統(tǒng)[J].儀器與測控,2001(8):21-23.
[6]佟春明,王天利.基于LabVIEW的信號處理系統(tǒng)開發(fā)[J].遼寧工學(xué)院學(xué)報,2003,23(6):17-20.
[7]張旭,張春梅,王尚錦.虛擬儀器軟件LabVIEW和數(shù)據(jù)采集[J].微機發(fā)展,2004(3):77-79.
[8]劉麗桑.基于LabVIEW的虛擬信號處理系統(tǒng)[J].工業(yè)控制計算機,2007(9):53-54.
[9]封金鑫,丁士圻.水下運動目標長基陣定位解算研究[J].聲學(xué)學(xué)報,1996(5).
[10]李曉峰,張紅民,梅康平.基于LabVIEW的多通道多參數(shù)虛擬儀器設(shè)計[J].計算機與數(shù)字工程,2008,36(3).
[11]趙政春,鄧曙光,譚躍.基于LABVIEW的數(shù)據(jù)采集與分析系統(tǒng)[J].計算機與數(shù)字工程,2010,38(5).
[12]朱春峰,張立民,張兵強.基于仿真信號的虛擬示波器的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2008,36(12).
[13]于平.兩種水聲導(dǎo)航定位算法的應(yīng)用與分析[J].靶場試驗與測量,2004(1):21-23.