信號與系統課程仿真實驗平臺設計分析

時間:2022-09-21 14:32:44

導語:信號與系統課程仿真實驗平臺設計分析一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

信號與系統課程仿真實驗平臺設計分析

摘要:基于MATLABGUI的《信號系統課程仿真平臺實驗設計,主要是利用MATLAB的強大功能,繪制出《信號與系統》中不同沖激函數的響應,方便對比學習不同的波形。在該仿真平臺中,分別設計一個主界面和八個子界面:主界面是設計平臺的總入口,通過GUIDE工具箱中的各個控件,實現對子界面的跳轉,使得子界面與主界面相互聯系,方便用戶使用;子界面中包括《信號與系統》一書中八個章節的內容。在該平臺中,用戶可以反復多次地輸入不同信號的不同參數,使得平臺產生不同的波形,這對于研究信號的響應十分便利。

關鍵詞:MATLAB;信號與系統;仿真平臺;可視化;交互式;實驗系統

隨著計算機技術的不斷更新發展,開發和設計可視化和交互式的《信號與系統》課程的虛擬實驗平臺成為必然[1-2]。通過設計仿真平臺,可以讓學生和老師以及其他用戶直接地觀看到仿真波形,使得大家對于較為晦澀難懂的原理有更好的理解和掌握,為教學和研究提供了諸多便利[3-6]。為此,具有強大的數學功能以及波形顯示功能的MATLABGUI工具便成了最好的選擇。利用MATLAB設計和開發的虛擬仿真實驗平臺可以為用戶提供形象的仿真波形,顯示不同信號在不同激勵下的響應。與此同時,GUIDE工具中還含有各種控件,方便人們依據自己的需要創建具有不同功能的虛擬操作平臺[7-10]。

1系統設計

系統總體設計如圖1所示。

1.1系統設計原理

MATLAB是MathWork公司出品的數學軟件,可以用于數據分析、信號處理、圖像處理等諸多方面,該軟件的交互式程序設計的環境,為本文的平臺設計提供了諸多便利。其中的大量庫函數也極大地便利了編程過程。在MATLAB的命令行窗口輸入GUIDE即可打開GUI界面,利用里面的各個控件,可以設計出自己需要的虛擬圖像,而且系統會自動生成.m文件,里面有各個控件的相關代碼和回調函數,只需要在相關控件的.m文件位置輸入相關代碼即可,極大地便利了用戶。在本平臺設計過程中,首先根據《信號與系統》一書的章節內容,設計了主界面;然后通過close和run函數實現了子界面和主界面之間的跳轉。對于子界面的設計,依據《信號與系統》這本書,以每個章節為單位共設計了八個子界面;在每個子界面中都有相關按鈕的回調函數,使其與主界面實現跳轉,這八個子界面的內容有信號與系統、傅里葉變換和系統的頻域分析、連續系統的S域分析、系統的狀態變量分析等諸多方面,不同的子界面對當前章的內容進行了詳細的分析,對不同激勵下的不同響應進行了仿真;在子界面中還可以輸入不同的參數,觀察波形的變化,對不同信號有更透徹的理解。系統流程如圖2所示。

1.2系統設計步驟

對于主界面的設計,在MATLAB命令行窗口中,輸入命令GUIDE,點擊enter鍵打開GUI界面;然后選擇靜態文本的控件,雙擊左鍵對該控件進行詳細的設置,其中包括背景顏色(BackgroundColor)、字符串(String)、字形大小(FontSize)等;最后拖拽該空間大小,使仿真平臺界面更加美觀。對于子界面的設計,首先,像設計主界面一樣,對子界面進行設置,對于相關控件,利用回調函數使得系統可以對相關代碼進行波形仿真;然后,利用run函數實現子界面和主界面之間的跳轉,利用close函數關閉完成信號分析的子界面。

1.3系統模塊設計

對于主界面的設計,是為了方便對子界面的鏈接和跳轉,其中主要利用的是close函數和run函數。通過主界面可以更加方便地查找不同內容,對系統起到了統領作用,也為仿真平臺的設計提供了系統的思路。對于子界面的設計,是基于對整本書的理解和概括總結,其中有更為詳細的函數舉例,通過這些具體的函數以及相關參數和不同的輸入信號,分析波形及其規律,能夠使學生更加具體直觀地掌握《信號與系統》中的內容。

2系統測試

2.1子界面1的測試

《信號與系統》的第一章是信號與系統,主要體現信號波形與系統之間的關系。利用MATLAB對函數進行波形分析,本文選取了正弦信號、隨機信號、單位沖擊信號、符號信號、指數信號和三角信號這六個信號,展示了該平臺對信號的仿真效果。其中,除了各個函數的代碼外,主要使用了MATLAB中的plot函數,該函數的調用格式是plot(x,y),它的功能十分強大,不僅可以在調用格式的時候定義線條的顏色、粗細等,還可以同時輸出多條曲線。仿真效果如圖3所示。

2.2子界面2的測試

《信號與系統》的第二章是連續系統的時域分析。對于該子界面的設計,首先選取了函數y''(t)+2y'(t)+100y(t)=2x(t),分別對其求沖擊響應和零狀態響應。求沖擊響應時,用到了impulse函數,其作用是計算并畫出系統的沖擊響應;求其零狀態響應時,用到了lsim()函數,其主要作用是求系統的零狀態響應。在本章中,利用lsim函數對波形進行仿真的同時,也對其線條的顏色以及粗細等進行個性化設置。其次,又選取了y''(t)+2y'(t)+y(t)=f'(t)+2f'(t)函數進行仿真。仿真效果如圖4所示,在系統中設置不同顏色的仿真波形分別表示不同p值下的仿真效果,p=0.5時仿真波形為藍線,p=0.2時仿真波形為綠線,p=0.01時仿真波形為紅線。根據仿真波形可以很容易地觀察到,函數lsim()對系統響應的仿真效果與時間間隔的密集程度有很大關系,抽樣時間間隔越小其仿真效果越好。

2.3子界面3的測試

《信號與系統》的第三章是離散系統的時域分析。對于該章的子界面的設計,首先選取了函數y(k)+2.3452y(k-1)+2.75y(k-2)+1.889y(k-3)+0.6488y(k-4)=0.6488x(k-4),k>0。對于該函數,分別求其脈沖響應和零狀態響應。需要注意的是,對于該函數,本文設計了輸入信號,不同的輸入信號對應不同的波形,如圖5所示。對于第二個函數y(n)+0.75y(n-1)+0.125y(n-2)=x(n)-x(n-1),直接設定參數,使其出現波形。

2.4子界面4的測試

《信號與系統》的第四章是傅里葉變換和系統的頻域分析。根據書中的內容,對此模塊主要分為兩部分進行設計。第一部分是對于傅里葉變換,將其分為方波傅里葉變換和快速傅里葉變換進行仿真。為了更加方便地研究傅里葉變化,將該界面設計成為可輸入幅度的形式,便于學習和研究不同幅度下的不同波形,以便學生對于傅里葉變換有更加清楚的認識。第二部分是對系統的頻域分析,選取函數H(s)=50/[(s+1)(s+5)(s-2)]進行仿真。根據仿真效果可以觀察到沖擊響應系統不穩定;由相位裕量可以看出,當幅值為0時,頻率響應的相位大于180,所以系統不穩定。仿真效果如圖6所示。

2.5子界面5的測試

《信號與系統》的第五章是連續系統的S域分析。以H(s)=1/(s3+2s2+2s+1)函數為例,分別用impulse()函數和freqs()函數求該系統的單位沖擊響應和頻率響應;最后觀察該函數的仿真零極點分布圖(圖7),可以看到該仿真圖的三個極點均位于S平面的左開平面上,所以該系統是穩定系統,故影響沖擊響應的幅度和相位的是零點。子界面6是離散系統的Z域分析,對于其仿真平臺的設計,與子界面5具有諸多相似之處,此處不再贅述。

2.6子界面7的測試

《信號與系統》第七章的主要內容是系統函數。對這一章也同樣是分為兩部分進行仿真,首先是以函數H(w)=(jw)2/[(jw)2+10jw+50]為例,求其幅度響應和相位響應,仿真結果如圖8所示;然后求取RC系統電路的幅度響應。從仿真結果可以觀察到,RC電路具有帶通特性,隨著RC值的減小,帶通頻率增加。

2.7子界面8的測試

《信號與系統》第八章的主要內容是系統的狀態變量分析。首先需要求出離散時間系統狀態方程q(k+1)=Aq(k)+Bx(k)·y(k)=Cq(k)+Dx(k)的y1(k)-12和y1(k)-6的仿真波形圖;然后觀察其特性;最后計算連續系統dy(t)/dt+10y(t)=2x(t),其中x(t)=u(t),初始狀態y(0ˉ)=1。利用該仿真平臺,可以清晰地觀察到仿真效果波形圖,表明該算法的系統響應在終值附近有很高的契合度,而在初值附近有較大誤差。仿真效果如圖9所示。

3結語

《信號與系統》課程內容繁多,又有許多抽象的概念,同時涉及的內容十分廣泛,包括時域頻域以及系統的分析方法。學生在學習時常常會感到枯燥,并且伴有難以理解和掌握的情況。因此要熟練地掌握這門課程,對于輔助教學手段提出了更高的要求。因此,本文設計了基于MATLABGUI的《信號與系統》課程仿真實驗平臺,主要是為了讓學生和老師以及其他用戶對于信號等抽象、晦澀難懂的概念有更加具體、形象生動的認知,能夠更加清楚直觀地觀察各不同激勵下的不同響應以及不同參數下的響應。該仿真平臺作為《信號與系統》課程教學的輔助手段,可以使得學生對抽象知識的理解更加透徹,還可以提高學生的學習興趣。但在仿真平臺的應用上還有待進一步改進,在后續工作中需要繼續完善、細化平臺的功能。

作者:宋玲玲 劉立群 司財勇 王維云 顧任遠 單位:甘肅農業大學 信息科學技術學院