關(guān)于MATLAB通信仿真在《通信原理》課程教學(xué)中的應用
李玲 2011-11-11
[摘要]本文介紹了MATLAB軟件中通信工具箱的兩種仿真方法,并重點(diǎn)闡述了在MATLAB/SIMULINK環(huán)境下對通信系統進(jìn)行可視化動(dòng)態(tài)仿真的一般步驟和實(shí)現方法。最后通過(guò)教學(xué)范例和實(shí)驗結果說(shuō)明,MATLAB通信系統仿真模型能夠反映通信系統的動(dòng)態(tài)工作情況,具有較強的演示性、可視性和實(shí)用性,是《通信原理》課程教學(xué)中強有力的輔助工具。 [關(guān)鍵詞]MATLAB SIMULINK 仿真 通信系統 一、引言 《通信原理》是通信及相關(guān)專(zhuān)業(yè)的專(zhuān)業(yè)基礎課,是許多后續專(zhuān)業(yè)課程的基礎。其中很多基本概念、重要原理將貫穿整個(gè)通信專(zhuān)業(yè)的各門(mén)課程之中。然而,對于剛剛接觸通信專(zhuān)業(yè)的學(xué)生來(lái)說(shuō),類(lèi)似于調制、解調、抽樣、量化、復用等概念及原理往往過(guò)于抽象,傳統的教學(xué)方法很難高效的使學(xué)生從根本上理解這些概念、原理及過(guò)程。將MATLAB通信系統的計算機仿真演示應用到《通信原理》的教學(xué)中,能夠較好的解決這個(gè)問(wèn)題。采用MATLAB對基本原理和方法進(jìn)行計算機仿真演示,能夠使復雜的計算簡(jiǎn)單化,抽象的理論具體化、直觀(guān)化,從而提高學(xué)習效率,增強學(xué)習興趣,在一定程度還上培養學(xué)生進(jìn)行通信系統工程設計的能力。 MATLAB最初是Mathworks公司推出的一種數學(xué)應用軟件,經(jīng)過(guò)多年的發(fā)展,開(kāi)發(fā)了包括通信系統在內的多個(gè)工具箱,從而成為目前科學(xué)研究和工程應用最流行的軟件包之一。MATLAB的動(dòng)態(tài)仿真軟件SIMLINK提供了可視化的系統仿真環(huán)境和多個(gè)模型庫,在模型庫中提供了豐富的功能模塊,采用模塊化設計,可以方便、靈活地建立通用性較強的通信仿真模型。 MATLAB通信工具箱是一套用于通信領(lǐng)域進(jìn)行理論研究、系統開(kāi)發(fā)、分析設計和仿真的專(zhuān)業(yè)化工具軟件包,主要由兩部分組成:通信系統功能函數庫和SIMULINK通信系統仿真模型庫。下面分別從兩個(gè)方面介紹MATLAB通信系統仿真方法。 二、使用通信系統函數庫實(shí)現通信系統仿真 MATLAB通信系統功能函數庫[1]由70多個(gè)函數組成,每個(gè)函數又有多種選擇參數,函數功能覆蓋了現代通信系統的各個(gè)方面。這些函數包括:信號源產(chǎn)生函數、信源編碼/解碼函數、調制/解調函數、濾波器函數、TDMA、FDMA、CDMA函數等。 現舉例說(shuō)明使用MATLAB函數庫實(shí)現仿真。 例1、計算平均信息量[2] (1)分析: 消息x中所包含的信息量I是消息發(fā)生的概率P(x)的函數,即: (1) 信息量I的單位與對數的底數有關(guān): a=2 單位為比特(bit,簡(jiǎn)寫(xiě)為b) a=e 單位為奈特(nat,簡(jiǎn)寫(xiě)為n) a=10 單位為笛特(Det) 由n個(gè)符號組成的信息源的平均信息量H(x)為: (2) 公式(1)、(2)本身較簡(jiǎn)單,學(xué)生要記憶也不困難,但是由于牽涉到對數運算,而且對數的底數是可以變化的,因此增加了計算的難度。在此我們可以建立一個(gè)MATLAB的M文件,把復雜的計算過(guò)程交給計算機來(lái)完成。 (2)參考代碼: 建立一個(gè)M文件保存為message.m function r=message(x,n) r=0; for i=1:n r=r-x(i)*log(x(i))/log(2); end disp('此離散信源的平均信息量為'); (3)運行MATLAB的M文件求解平均信息量 當需要求解一組符號的平均信息量時(shí),只需要在MATLAB的命令窗口輸入該組符號出現的概率和符號個(gè)數就可方便快速的得出平均信息量。 例如,由4個(gè)符號組成的信息源,相應的概率為 ,求平均信息量,只需要在MATLAB的命令窗口輸入: message([ ],4) 然后敲回車(chē)即可在窗口中顯示出計算結果: “此離散信源的平均信息量為1.75” 在需要的地方靈活使用該M文件可以求出不同信號源的平均信息量,當需要求解的符號數特別多、數字比較復雜時(shí)更能體現其優(yōu)越性。 三、基于MATLAB/SIMULINK的可視化動(dòng)態(tài)仿真 SIMULINK是MATLAB提供的圖形界面仿真工具,由一系列模型庫組成,包括Sources(信源模塊)、Sinks(顯示模塊)、Linear(線(xiàn)性環(huán)節)、Connections(連接)、Blocksets&Toolboxes(其他環(huán)節)等。 在這里,整個(gè)通信系統的流程被慨括為:信號的產(chǎn)生與輸出、編碼與解碼、調制與解調 多址接入方式、濾波器以及傳輸介質(zhì)的模型。在每個(gè)設計模塊中還包含有大量的子模塊,它們基本上覆蓋了目前通信系統中所應用到的各種模塊型。根據所要仿真的通信系統的數學(xué)模型(或數學(xué)表達式),用戶(hù)只要從上述各個(gè)模型庫中找出所需的模塊,用鼠標器拖到模型窗口中組合在一起,并設定好各個(gè)模塊參數,就可方便地進(jìn)行動(dòng)態(tài)仿真。從輸出模塊可實(shí)時(shí)看到仿真結果,如時(shí)域波形圖、頻譜圖等。每次仿真結束后還可以更改各參數,以便觀(guān)察仿真結果的變化情況。另外,對SIMULINK中沒(méi)有的模塊,可根據自己掌握的技術(shù)生成所需的子模塊,并且可以封裝和自定義模塊庫,以便隨時(shí)調用。 1、可視化動(dòng)態(tài)仿真的步驟[3] 1)建立數學(xué)模型:根據通信系統的基本原理,將整個(gè)系統簡(jiǎn)化,確定總的系統功能,并將各部分功能模塊化,找出各部分之間的關(guān)系,畫(huà)出系統流程框圖模型。 2)仿真系統:根據建立的模型,從SIMULINK 通信模型庫中,將所需要的單元功能模塊拷貝到Untitled窗口,按系統流程框圖模型連接,組建要仿真的通信系統模型。 3)設置、調整參數:參數設置包括運行系統參數設置(如系統運行時(shí)間、采樣速率等)和功能模塊運行參數設置(正弦信號的頻率、幅度、初相;低通濾波器的截至頻率、通帶增益、阻帶衰減等)。 4)設置觀(guān)察窗口,分析仿真數據和波形:在系統模型的關(guān)鍵點(diǎn)處設置觀(guān)測輸出模塊,用于觀(guān)測仿真系統的運行情況,以便及時(shí)調整參數,分析結果。 5)生成新的模塊:對于Communication Toolbox中沒(méi)有的功能模塊,可以根據已掌握的技術(shù)生成所需新的子模塊,例如由C或Fortran編寫(xiě)MEX 文件,編譯成DLL后利用SIMULINK提供的封裝(Masking)功能封裝或自定義模塊庫,以便隨時(shí)調用。 2、可視化動(dòng)態(tài)仿真實(shí)現范例 例2、抽樣定理的仿真實(shí)現 抽樣定理的數學(xué)模型如圖1所示,可建立相應SIMULINK仿真模型如圖2所示,在設定的參數下對正弦信號仿真結果如圖3所示。 號源參數設置: Sine wave參數設置 Pulse Generator參數設置: 改變信號源的參數設置可以得到鋸齒波的抽樣波形如圖4。
通過(guò)圖3和圖4的觀(guān)察,我們可以很方便的看到抽樣前后的波形變化,同時(shí)可以通過(guò)參數的設置看到失真的抽樣波形,使同學(xué)們對于抽樣定理的內容和適用條件有了更為直觀(guān)的認識。 四、總結 將MATLAB/SIMULINK可視化動(dòng)態(tài)仿真應用到通信原理課程的教學(xué)中,使一些抽象的概念和原理可視化,有助于同學(xué)們理解和接受,既提高了教學(xué)質(zhì)量和效率,又可為學(xué)生提供良好的通信系統開(kāi)發(fā)、設計、模擬、調試和分析平臺,鍛煉其分析和解決問(wèn)題的能力。 [