劉舒帆,張小虹,石 瓊
(解放軍理工大學理學院,江蘇南京211101)
我國大學在“信號與系統”課程教學中主要使用Matlab軟件。近年來,逐步在教學中嘗試使用LabVIEW虛擬儀器。這兩個軟件是本課程教學中非常有效的輔助分析和設計工具,如何充分發揮這兩種軟件各自的特長,成為本文研究的課題。
我們對比Matlab和LabVIEW兩大軟件的特點,認為Matlab語言具有大量運用矩陣和數組運算,程序編寫簡便,且作圖較為方便的特點。但與LabVIEW相比,編程仍使用文本形式,圖形界面也顯單調,開發程序的時間較長。LabVIEW在五個方面有著更突出的優點:①LabVIEW為用戶提供了大量的圖形控件,可以快速制作面板美觀的各種虛擬儀器;②LabVIEW的程序框圖比Matlab的Simulink框圖功能更豐富,圖形更形象,建立的電路結構也更易理解;③LabVIEW將大量的信號處理功能做成子函數框圖,可以接入電路直接調用;④LabVIEW的MathScript功能可以完成許多類似Matlab的程序運行[1];⑤LabVIEW與其他設備的互連能力強,具有標準化的總線或通信接口,可以方便地與其它電路連接,完成數據的采集與輸入輸出[2]。
LabVIEW在界面開發、硬件連接控制及網絡通信等方面與Matlab相比有著更明顯的優勢。如果能將這兩個軟件密切配合使用,在教學中充分發揮各自的特點,對學生在專業技術上的提高將有很大幫助。為此,我們在“信號與系統”課程教學中,研制開發了基于LabVIEW的信號與系統虛擬儀器和仿真實驗,作為課程教學的輔助工具,同時也為學生提供一種虛擬實驗平臺[3]。
1)使用LabVIEW構成虛擬儀器
通過調用其內置的各類信號發生或者信號波形函數,就可形成綜合的函數信號發生器。
對采集的數據通過波形圖表和調節控件進行定標,并在幅度—時間軸上把對應的數據點顯示出來,就可形成數字示波器。
對采集的數據利用數學公式函數或信號處理函數進行FFT變換,并把各頻率分量用圖形控件顯示出來,則形成頻譜分析儀。
利用LabVIEW中二維圖形和三維圖形控件,可以將各種波形、曲線和動態數據直接顯示出來。通過信號分析與調理功能,可以求取信號的各種特征值,如峰值、有效值、均方值和方差等,構成用途更為廣泛的各種測試儀器。
2)借助LabVIEW完成仿真研究
借助LabVIEW的信號分析處理能力,可以生成連續信號和離散時間信號,生成周期信號及非周期信號,對信號進行頻譜分析,研究信號時域與頻域的關系,研究信號的基本運算(如信號的相加、折疊、相乘、尺度變換、卷積、微分和積分運算等),研究吉布斯效應和采樣定理等重要定理,研究信號相位的影響,研究信號幅度譜、功率譜、自相關和互相關,進行各種濾波系統的設計,研究信號通過系統的響應,研究各種變換及其相互間的關系以及系統零極點的分析等。
至今,我們已經將上述“信號與系統”基本理論的仿真研究,開發集成為一個虛擬仿真實驗系統—“信號與系統虛擬實驗室”,提供給理論與實驗課程教學使用,大大豐富了教學資源。
非周期信號及其頻譜實驗在傳統實驗室是不易進行的。因為,非周期信號難以獲得。而且,實際的頻譜分析儀器價格昂貴,一般不可能做到學生人手一臺。但在虛擬實驗中,卻能輕而易舉地獲得這些虛擬儀器,搭建實驗平臺。
圖1是“非周期信號的卷積運算及其頻譜”實驗項目的前面板圖。該項目可以對沖激信號、單脈沖信號、斜坡信號、三角信號、單周期正弦波、Sa函數和高斯脈沖等七種信號波形進行選擇,并進行兩種信號的卷積運算,觀察其卷積的結果。該項目給出了這兩個信號及其卷積和的幅度頻譜圖。實驗使用的虛擬儀器包括兩臺信號源、三臺示波器以及三臺頻譜分析儀,是一般傳統實驗無法完成的。
作為案例:當點擊按鈕“信號1選擇”為Sa函數,點擊按鈕“信號2選擇”為矩形波時,卷積的結果如圖1左下圖所示。

圖1 Sa函數及其頻譜
在實際操作實驗中,要搭建一個稍微復雜一點的系統,需要準備許多元器件進行電路的連接或者焊接裝配和調試等。這種操作至少要用一天時間,還常常面臨元器件短缺或損壞的問題。而在虛擬實驗室,可以在短時間內利用LabVIEW提供的各種函數、控件和工具建立電路系統,搭建的系統簡潔,一目了然。
例如,圖2為“非周期信號的卷積運算及其頻譜”項目的程序框圖。這個系統如果用實際電路構成,不但需要使用的儀器多,而且卷積運算的功能也難以用簡單的電路完成。

圖2 “非周期信號的卷積運算”的程序框圖
從圖中可以看出,虛擬儀器的編程采用了全新的G語言,與傳統的編程語言(如C語言)有著極大地區別。從文本編程轉變為圖形編程,與此時正在學習的電路系統方框圖非常類似,程序關系非常清晰,便于程序的修改和其他閱讀者理解。但編程的基本思想是共同的:同樣需要按照邏輯關系,進行輸入輸出、條件循環控制和定時控制等程序編制,注意正確選用合適的數據類型。對于較大型的項目開發,還要考慮多個子項目的管理、鏈接以及運行程序時的內存優化等問題。對學生來說,有利于從中逐步建立系統概念。
“信號與系統”課程理論涉及到許多復雜的數學公式。例如,當一個周期連續時間信號波形f(t)滿足狄利赫萊條件,我們可以通過傅里葉級數求得其頻譜[4]:

反之,已知信號的頻譜F(nω1),可以用逆變換求得連續時間信號:

如果從這兩個公式來理解一個信號時域和頻譜曲線的關系,理解起來有一定的難度。
圖3用LabVIEW來演示“信號時域與頻域曲線的關系”。其中信號可以選擇正弦波、矩形波、鋸齒波或三角波。在界面的兩邊分別用二維圖形和三維曲面表示信號的時域波形和頻域波形,同時在界面的中間位置用幅度—時間—頻率構成的三維曲面圖,表現信號時域與頻域的關系。

圖3 信號時域與頻域曲線的關系
該項目在技術處理上采用了MathScript節點和三維曲面控件相結合的方法,使得程序結構簡單明了,運行和調節靈活可靠。特別是通過調整矩形波信號或鋸齒波信號的占空比,觀察生動形象的二維和三維圖形變化,色彩鮮艷,層次分明。動態地演示出信號時域和頻域特性曲線之間的關系,使得原先抽象的數學公式與形象的物理圖形聯系起來。有效地配合了教師的課堂講授,利于學生對理論知識的理解。
在傳統操作實驗中,人們一般習慣了使用開關和旋鈕等控件。LabVIEW中為我們提供了許多類似的控件,構建儀器十分便利,使用時調整非常方便,就像使用真實的儀表一樣。大部分虛擬實驗可以仿真傳統儀器,使用開關和旋鈕類控件。不過,有些項目有著特殊的要求,使用鼠標直接在圖上點擊,或拖拽曲線和游標更顯方便。
例如,在“S平面極點與時域特性關系”、“S平面零極點與頻響特性關系”(見圖4)以及“S平面與Z平面的映射關系”等子項目中,設計上均采用了鼠標和游標綜合使用的方法。實驗中,用鼠標直接拖拽移動圖中有關的游標符號,改變曲線的長度和方向,相關的其它圖形就隨之變化。
再如我們研究“S平面上零極點與頻響特性的關系”時,從教材上靜態的S平面矢量圖和頻率特性曲線,很難理解幅頻特性和相頻特性是如何隨矢量變化而變化的。使用LabVIEW的屬性節點,可以方便地構成用鼠標和游標配合控制的實驗系統。如圖4所示,目前選定研究一個具有一對共軛極點和一個零點的二階系統,用鼠標拖動其S平面上的合成矢量(游標控制點)進行變化,對應的幅頻特性和相頻特性也將隨之動態地變化。每一點微小的變化關系都將立即響應,使用非常靈活便捷。

圖4 “S平面零極點與頻響特性”子項目前面板
我們開發的基于LabVIEW的“信號與系統虛擬實驗室”目前已完成信號的時域頻域分析、系統的域分析、信號的處理和系統的輔助設計等五大部分,共計25個子項目。在開發仿真實驗的過程中,我們進行了如下嘗試。
1)與理論課教學緊密配合,不斷加大使用力度,逐步完善教學手段。
2)將虛擬仿真部分編入實驗教材,拓展學生設計性與綜合性實驗的內容。
3)開展科技創新小課題活動,吸收優秀學生參與虛擬實驗項目的研究。
學生通過學習后初步掌握LabVIEW,完成方框圖的連接和虛擬器件的使用,增強了對“信號與系統”課程理論的理解記憶與融會貫通,教學效果有明顯的提高。特別是接觸了一門先進的虛擬儀器開發技術,啟迪了學生的創新思維,鍛煉了實際動手的能力。參加本課題研究的兩屆本科學生分別在“2010年畢業設計競賽”和2011年“全國虛擬儀器設計大賽”中獲得鼓勵獎。目前進行的“信號與系統”仿真實驗研究,還只是完成了整個規劃的一部分,還有許多有關內容需要進一步研究和擴展。比如,系統綜合與分析部分的內容需進一步充實,仿真實驗內容與理論教材的需進一步配合等,都是我們下一步研究的方向。
[1] 李江全,劉恩博等編著.LabVIEW虛擬儀器數據采集與串口通信測控應用實戰[M] ,北京:人民郵電出版社,2010.6:P1-15
[2] 白云,高育鵬,胡小江編著.基于LabVIE的數據采集與處理技術[M] ,西安:西安電子科技大學出版社,2009.3:P1-7
[3] 劉舒帆等編著.信號與系統操作、仿真與綜合設計實驗[M] ,北京:機械工業出版社,2010.10:P163-196
[4] 鄭君里,應啟珩,楊為理.信號與系統(第二版)[M] .北京:高等教育出版社,2001.12:P109-113