880 likes | 1.6k Views
實習零 MATLAB/Simulink 使用說明. 大綱. 目的 MATLAB/Simulink 簡介 MATLAB 程式撰寫入門 MATLAB/Simulink 環境介紹 Simulink 建構模型 Simulink 編輯建構模型的技巧 建立 Simulink 子系統 建立 Simulink 參數化子系統 實習作業 參考文獻. 目的.
E N D
實習零 MATLAB/Simulink使用說明 通訊系統模擬 實習零
大綱 目的 MATLAB/Simulink簡介 MATLAB 程式撰寫入門 MATLAB/Simulink環境介紹 Simulink建構模型 Simulink編輯建構模型的技巧 建立Simulink子系統 建立Simulink參數化子系統 實習作業 參考文獻 實習零 MATLAB/Simulink使用說明
目的 • 本課程-「通訊系統模擬」將使用MATLAB/Simulink進行模擬,其中基礎篇以Simulink內建模組方塊建構模擬系統平台之方式進行模擬,模擬結果皆以圖解方式說明物理意義;進階篇以MATLAB撰寫程式碼之方式進行模擬,除了以數值或圖表結果驗證解說相關理論,也可以做數據資料之定量分析。 • 本實習主要簡單介紹MATLAB/Simulink軟體與其環境,並說明使用(操作)方式,方便使用者熟悉MATLAB/Simulink軟體/環境/使用方法後進行本課程規劃之實習的模擬與分析。 實習零 MATLAB/Simulink使用說明
MATLAB/ Simulink 簡介 Simulink在MATLAB的分析工具中,就分析的特性而言是個非常方便之工具,不管是線性系統、數位控制、非線性系統、信號處理的分析與驗證、通訊系統、模糊系統以及RF設計皆是非常方便的工具。 採用圖形輸入方式,只要知道訊號流程圖或是系統方塊圖,不管是線性或是非線性系統皆能建立連續時間或離散時間或者兩者混合的系統模型,系統也能夠是多取樣頻率(multirate),即不同的系統能夠以不同的取樣頻率組合起來進行分析模樣。 採用開放式的架構,可方便去發展副程式供MATLAB使用或是轉成C或C++程式碼。 Simulink使用基本上分為:(1)模型的定義(建立);(2)模型的分析。這兩種程序可以交互使用,藉由不斷的修改模型,改變模型方塊圖的參數值,再不斷的模擬以得到所需系統的性能規格。 實習零 MATLAB/Simulink使用說明
MATLAB/Simulink 之間的關係圖 MATLAB 應用發展工具 (Application Development Tools) 獨立支援應用 (Stand-Alone Application) Simulink 工具箱 (Toolboxes) 狀態流程 (Stateflow) 區塊模組 (Blocksets) 資料來源 (Data Sources) 資料存取工具 (Data Access Tools) 碼的產生 (Code Generation) C Code 實習零 MATLAB/Simulink使用說明
大綱 目的 MATLAB/Simulink簡介 MATLAB 程式撰寫入門 MATLAB/Simulink環境介紹 Simulink建構模型 Simulink編輯建構模型的技巧 建立Simulink子系統 建立Simulink參數化子系統 實習作業 參考文獻 6 實習零 MATLAB/Simulink使用說明
MATLAB之工作環境視窗 • 開啟MATLAB套裝軟體後之工作環境視窗 目前的資料夾或目錄(建議加以設定) 開啟新的M-file 開啟Simulink 工作空間 (workspace) 指令視窗 (Command Window) 歷史指令視窗(History) 實習零 MATLAB/Simulink使用說明
MATLAB指令的輸入與執行 • MATLAB 程式碼運算採用逐行指令編譯與執行之方式進行。 • 在「指令視窗」中的提示符號「>>」可以直接輸入指令。例如輸入 9+10,按下Enter鍵,隨即編譯與執行並顯示結果 。 實習零 MATLAB/Simulink使用說明
MATLAB指令的輸入與執行(續) • 指令後面加上一個分號,表示執行指令不顯示結果。 • 指令後無分號,表示執行指令並顯示結果。 有加分號 不加分號 實習零 MATLAB/Simulink使用說明
>> a = [ 1 2 3 4 ] a = 1 2 3 4 >> b = 1 : 4 b = 1 2 3 4 >> c = 6 : -2 : 0 c = 6 4 2 0 向量資料之輸入 • MATLAB提供 Colon (:)運算子,以方便建立列向量與行向量 從1到4,間距為1,建立一個向量。 從6到0,間距為-2,建立一個向量。 實習零 MATLAB/Simulink使用說明
在指令視窗中,建立一個矩陣資料之後,必須以索引值(行與列)取得矩陣中特定之元素。在指令視窗中,建立一個矩陣資料之後,必須以索引值(行與列)取得矩陣中特定之元素。 >> a = [ 1 2 3 ; 4 5 6 ; 7 8 9 ] a = 矩陣資料建立與其元素之操作 若要取出矩陣中第三行元素,有下列三種方式: >> a ( [1 2 3] , 3) >> a ( 1:3 , 3 ) >> a ( : , 3) >> a (1 , 1) ,表示取出矩陣中第一行與第一列之元素。 >>a (2:3 , 1:2) ,表示取出矩陣中第二列至第三列裡,第一行與第二行之元素。 實習零 MATLAB/Simulink使用說明
繪圖函數plot(x, y)會利用所提供的資料製作出一個連線圖。 基本繪圖程式範例 Example: >> Tstep=0.001; >> t=(0:Tstep:1); >> amp=1; >> freq=10; >> y=amp*sin(2*pi*freq*t); >> plot(t,y); 實習零 MATLAB/Simulink使用說明
指定X軸、Y軸以及線的規格 基本繪圖程式範例(續) Example: >> Tstep=0.001; >> t=(0:Tstep:1); >> amp=1; >> freq=10; >> y=amp*sin(2*pi*freq*t); >> plot(t,y); %指定X軸、Y軸繪圖區間及格線 >>axis([0, 1, -2, 2]); >>grid; 實習零 MATLAB/Simulink使用說明
編輯圖形 Step1:點選Edit plot Step2:滑鼠左鍵雙擊圖形外框,即可進入圖形參數設定視窗 Step3:修改圖形背景顏色以及線條 顏色以及修改X軸與Y軸之最大值與最小值 實習零 MATLAB/Simulink使用說明
建立MATLAB程式碼 • 使用編輯器編輯一系列的MATLAB指令,並儲存成MATLAB程式碼之檔案,稱為M檔案(M-File) 。 開啟編輯器 存成一程式碼檔案 example1.m 編輯一系列的MATLAB指令 實習零 MATLAB/Simulink使用說明
執行MATLAB程式碼 • 於指令視窗鍵入檔案名稱即可執行此檔案之程式碼: - 逐一執行底稿裡的每一行指令。 - 變數被存放於目前的工作空間。 檔案名稱 實習零 MATLAB/Simulink使用說明
建立函數(Functions) function y = times2(x) % This function multiplies % the input by 2 y = 2*x ; • MATLAB函數(Functions) • - 第一列是以文字函數(function)開始 • - 接收輸入引數(input arguments)以及傳回輸出引數(return output arguments) • - 變數存放於函數的工作空間 • 一個MATLAB函數通常包括函數定義列、函數說明文字區以及函數之主體。 輸入引數 輸出引數 關鍵字 函數定義列 函數說明文字區 函數之主體 實習零 MATLAB/Simulink使用說明
MATLAB程式底稿(Scripts)與函數(Functions) • MATLAB程式底稿(Scripts)與函數(Functions)編輯方式比較 函數(Functions) 存成wavefunc.m Matlab程式底稿(Scripts)存成example2.m 實習零 MATLAB/Simulink使用說明
執行MATLAB程式example2 執行example2 實習零 MATLAB/Simulink使用說明
函數(Functions)之呼叫 • 編輯MATLAB程式叫用函數。 • example2之程式編輯成叫用函數的方式(example3.m) 。 • 所叫用之函數要放於同一個目錄,若函數放於其他目錄,則要設定路徑 至該目錄。 叫用函數wavefunc Matlab程式存成example3.m 實習零 MATLAB/Simulink使用說明
執行MATLAB程式example3 • example2之程式編輯成叫用函數的方式(example3.m),兩個程式執行結 果相同。 執行example3 實習零 MATLAB/Simulink使用說明
大綱 目的 MATLAB/Simulink簡介 MATLAB 程式撰寫入門 MATLAB/Simulink環境介紹 Simulink建構模型 Simulink編輯建構模型的技巧 建立Simulink子系統 建立Simulink參數化子系統 實習作業 參考文獻 22 實習零 MATLAB/Simulink使用說明
開啟MATLAB/Simulink 點選simulink之圖示 鍵入simulink 之指令 實習零 MATLAB/Simulink使用說明 在MATLAB之指令視窗,鍵入Simulink 之指令或在MATLAB工具列上點選Simulink之圖示 ,可開啟Simulink介面。
Simulink 介面說明 功能表 元件的基本使用說明 工具列 Simulink 函數庫之元件圖示與內容 Simulink函數庫 Simulink 之元件目錄 Simulink下之 工具夾 Simulink 的環境標示說明。 實習零 MATLAB/Simulink使用說明
Simulink 元件庫說明 實習零 MATLAB/Simulink使用說明
Simulink 元件庫說明(續) 實習零 MATLAB/Simulink使用說明
Commlib是通訊模擬常用之元件庫。在MATLAB之指令視窗中輸入commlib或在Simulink library視窗中點選commlib之圖示,都可以打開Communications Blackest 。 Communications Blackest :主要提供 通道 、濾波器、訊號源 、量化、錯誤偵測和更正、交錯編碼、調變、RF訊號衰退、序列運算、訊號源編碼、同步處理等各種通訊上面可能出現的技術之元件。 通訊元件庫(commlib) 實習零 MATLAB/Simulink使用說明
訊號處理元件庫 Signal Processing Blackest:主要提供估算、濾波器設計、一般數學運算程式庫、量化、訊號調度、訊號運算、訊號處理分析、訊號處理源、統計表示、訊號轉換等元件庫。 實習零 MATLAB/Simulink使用說明
大綱 目的 MATLAB/Simulink簡介 MATLAB 程式撰寫入門 MATLAB/Simulink環境介紹 Simulink建構模型 Simulink編輯建構模型的技巧 建立Simulink子系統 建立Simulink參數化子系統 實習作業 參考文獻 29 實習零 MATLAB/Simulink使用說明
Simulink之系統設計流程 設計數學及系統方塊模型 以Simulink方塊建立模擬平台 設定參數 執行模擬 驗證結果(Scope) 實習零 MATLAB/Simulink使用說明
使用通訊元件庫設計數位通訊系統模擬平台 Pulse Shaping Modulation Source Coding Channel Encoding Channel Model Signal Processing Blockset RF Blockset RF Impairments Source Decoding Channel Decoding Receiver Algorithms Demodulation 實習零 MATLAB/Simulink使用說明
開啟Simulink及新檔案 • 開啟MATLAB/Simulink視窗及新檔案 新檔案 (工作視窗) 實習零 MATLAB/Simulink使用說明
開啟工作視窗(新檔案) Simulink工具列 新檔案 (工作視窗) 開啟MATLAB/Simulink視窗後,在File選單內選取New,此時Simulink會開啟一個新的工作視窗(檔名為Untitled),此即為建構模型的工作視窗(或稱目標模型視窗)。 實習零 MATLAB/Simulink使用說明
存檔 接下來再用File 下之Save As存檔,檔名的命名方式為英文或數字命名(但不能以數字作為檔名之開頭),存檔可先做,或是編輯完系統後再存檔均可,儲存完畢後的檔案為“XXX .mdl”。 實習零 MATLAB/Simulink使用說明
選取以及連接方塊圖 藉由拖曳之方式來收集方塊建構模擬系統模型 使用滑鼠左鍵連接方塊 實習零 MATLAB/Simulink使用說明
連接方法 2. 按住Ctrl鍵 1. 選擇來源方塊 3. 選擇目的方塊 4. 完成連線 實習零 MATLAB/Simulink使用說明
複製方塊與插入方塊 點選方塊並按滑鼠右鍵,然後選擇copy 將方塊移至線上即可插入 按滑鼠右鍵,選擇貼上 實習零 MATLAB/Simulink使用說明
設定方塊參數 雙擊方塊即可打開方塊參數設定視窗 選擇Apply 或 OK以更新方塊設定 實習零 MATLAB/Simulink使用說明
元件功能說明查詢 • 其屬性視窗內容的設定參數定義,可先選擇該元件方塊並按滑鼠右鍵 選取help,可得方塊之功能說明,下圖為訊號產生器之說明檔。 實習零 MATLAB/Simulink使用說明
分支訊號線以及轉折訊號線 在線上按住滑鼠右鍵即可將訊號線分支 在線上按住滑鼠左鍵即可將訊號線轉折 實習零 MATLAB/Simulink使用說明
模擬參數Max step size 設定 tstart tstop 振福為1,頻率100 Hz的正弦波,Max step size設定為auto, (3-1)/50=20點資料所顯示出來的結果。 • Simulink以數位(離散)方式計算與模擬類比(連續)系統,其計算 結果之時域解析度與模擬參數 (Max step size)息息相關,Max step size 通常設定為auto,內建公式為 實習零 MATLAB/Simulink使用說明
模擬參數Max step size 設定(續) tstart tstop • Max step size設定為0.001時之正弦波輸出波形(振福為1,頻率100Hz) • (0.2-0)/0.001=200點資料 • 比較下圖與Max step size設定為auto之結果,很明顯地在設計系統 時,了解訊號的特性是必要的,適當選取Max step size,才能模擬出 預期的結果。 實習零 MATLAB/Simulink使用說明
範例1: DSB AM 調變和解調模擬平台建構 開新檔並存成DSB_AM .mdl, 打開Sources元件庫,點選Signal Generator拖曳至編輯區。 實習零 MATLAB/Simulink使用說明
範例1: DSB AM 調變和解調模擬平台建構(續) • 把其餘所需的元件逐一放到編輯區。 • 接下來進行元件連接工作 實習零 MATLAB/Simulink使用說明
範例1:模擬參數設定 設定模擬參數 • 開始進行模擬前,工具列Simulation 下設定模擬參數 Configuration Parameters。 實習零 MATLAB/Simulink使用說明
範例1:模擬環境設定、存檔與執行模擬 • 執行時間設定為10.0秒,此處的時間為模擬的停止時間。 • 可以先存檔。 • 再執行模擬。 1 3 2 實習零 MATLAB/Simulink使用說明
範例1:驗證結果(Scope) 訊號源 DSB AM調變後訊號 雜訊的干擾 解調後訊號 • 以Scope顯示執行模擬結果,此範例是DSB AM 的調變和 解調後的時域波形。 實習零 MATLAB/Simulink使用說明
大綱 目的 MATLAB/Simulink簡介 MATLAB 程式撰寫入門 MATLAB/Simulink環境介紹 Simulink建構模型 Simulink編輯建構模型的技巧 建立Simulink子系統 建立Simulink參數化子系統 實習作業 參考文獻 48 實習零 MATLAB/Simulink使用說明
選取物件 選取多個物件 選取單一物件 • 選取物件(objects):將滑鼠游標移至所選取的物件上單按滑鼠左鍵即可,當物件被選取後,會在物件邊角處出現小正方形黑點,如果此時再選取別的物件,則原被選取的物件便會被釋放還原; • 選取多個物件有兩個方法, • 按下Shift鍵不放,將滑鼠游標移至所欲選取的物件上,單按滑鼠左鍵來選取物件,重複此步驟(shift鍵不可放開) 。 • 使用界限框選取物件,將滑鼠游標移至欲選取的物件群組的邊角處(非物件上),單按滑鼠左鍵不放(此時游標成 “+”字型狀),一直到拖曳到物件組的另一端,涵蓋住物件群組,之後釋放開滑鼠左鍵,所有在界限框內的物件皆會被選取。 實習零 MATLAB/Simulink使用說明
複製、移動、刪除、改變元件(block)放置方向 Rotate Filp • 複製元件:滑鼠移到欲複製的元件上,按右鍵拖曳即可完成複製。 • 移動元件:滑鼠移到欲移動的元件上,按住左鍵不放移到想要的位置上即可完成移動。 • 刪除元件:滑鼠移到欲刪除的元件上,按下Delete鍵即可完成刪除。 • 改變元件的置放方向:元件內信號的流程是由左至右,也就是輸入阜(input)在左邊而輸出阜(output)在右邊,我們可以利用下列任一方法來改變方塊的置放方向: • 使用Format選單內的Rotate Block 選項可將block順時鐘旋轉90度。 • 使用Format選單內的Filp Block 選項,會將block旋轉180度。 實習零 MATLAB/Simulink使用說明