通信系統(tǒng)仿真(第一次課)課件_第1頁
通信系統(tǒng)仿真(第一次課)課件_第2頁
通信系統(tǒng)仿真(第一次課)課件_第3頁
通信系統(tǒng)仿真(第一次課)課件_第4頁
通信系統(tǒng)仿真(第一次課)課件_第5頁
已閱讀5頁,還剩86頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、通信系統(tǒng)仿真講授人:肖湘Email: 相關書籍Matlab/Simulink通信系統(tǒng)建模與仿真實例分析邵玉斌,清華大學出版社基于Matlab的通信系統(tǒng)仿真趙靜等,北京航空航天大學出版社Matlab及在電子信息類課程中的應用唐向宏等,電子工業(yè)出版社MATLAB基礎教程薛山,清華大學出版社教學目標了解通信系統(tǒng)建模仿真思想與方法掌握Matlab語言的基本操作學會使用Simulink進行建模與仿真對學習者的要求三個重要環(huán)節(jié)課前預習課上認真聽講,思考課后實踐、消化經常進行階段應用掌握知識的竅訣:反復上機實踐其他約定不得遲到、早退、缺課,有事請假上課時請關閉手機或者調靜音遲交的作業(yè)恕不修改,只作記錄最終成

2、績= 期末考試成績+平時成績內容通信系統(tǒng)建模與仿真1Matlab簡介2Matlab語言基礎3內容通信系統(tǒng)建模仿真1分類概念、方法工具1.1 通信仿真的概念在對原有的通信系統(tǒng)做出改進或建立一個新系統(tǒng)之前,通常需要對這個系統(tǒng)進行建模和仿真,通過仿真結果衡量方案的可行性,從中選擇最合理的系統(tǒng)配置和參數設置,然后再應用于實際系統(tǒng)中。這個過程就是通信仿真。 1.1 通信仿真的概念隨著數字通信技術的發(fā)展,特別是與計算機技術的相互融合,通信系統(tǒng)和信號處理技術變得越來越復雜。 強大的計算機輔助分析與設計工具和系統(tǒng)仿真方法作為將新的技術理論成果轉換為實際產品的高效而低成本途徑越來越受到業(yè)界的青睞。1.1 通信仿

3、真的概念建模和仿真的作用和意義: 利用系統(tǒng)建模和軟件仿真技術,我們幾乎可以對所有的設計細節(jié)進行分層次的建模和評估。 通過仿真技術和方法,我們可以有效地將數學分析模型和經驗模型結合起來。 利用系統(tǒng)仿真方法,可以迅速構建一個通信系統(tǒng)模型,提供一個便捷,高效和精確的評估平臺。1.1 通信仿真的概念系統(tǒng)仿真的數學基礎定義:仿真也稱為模擬,在本質上,系統(tǒng)的計算機仿真就是根據物理系統(tǒng)的運行原理建立相應的數學描述并進行計算機數值求解的過程。 建模和仿真過程 建立系統(tǒng)數學模型或仿真模型編寫系統(tǒng)的計算機仿真模型求解分析關鍵問題求解算法 算法的改進 簡化系統(tǒng)模型 1.1 通信仿真的概念計算機仿真的一般過程建立計算

4、機程序(層次化的)執(zhí)行仿真對仿真模型和仿真結果的檢驗仿真驗證包含以下方面內容: 對仿真數學模型有效性的驗證。 對計算機仿真模型(程序)的驗證。 對仿真算法的驗證。 仿真結果置信度分析。1.2 通信仿真的基本方法將給定問題映射為仿真模型。把整個問題分解為一組子問題。選擇合適的建模、仿真和估計方法,并將其用于解決這些子問題。綜合各子問題的解決結果以提供對整個問題的解決方案。1.3 通信系統(tǒng)模型的分類按照系統(tǒng)層次分類按照信號類型分類按照系統(tǒng)特征分類1.3 通信系統(tǒng)模型的分類按照系統(tǒng)層次分類通信系統(tǒng)的最高層次描述是通信網絡層次 在網絡層次之下,是對通信節(jié)點和鏈路以及傳輸信號的具體化,稱為鏈路層次模型。

5、 電路實現層次的模型。 1.3 通信系統(tǒng)模型的分類按照信號類型分類根據函數類型的不同可以將信號劃分為模擬信號,數字信號,時間連續(xù)信號,時間離散信號等。按照鏈路層通信系統(tǒng)仿真模型中流通的信號類型不同,可以將其劃分為連續(xù)時間系統(tǒng),離散時間系統(tǒng),模擬系統(tǒng),數字系統(tǒng)以及混合系統(tǒng)等。 1.3 通信系統(tǒng)模型的分類按照系統(tǒng)特征分類恒參系統(tǒng) 變參系統(tǒng)或時變系統(tǒng) 確定系統(tǒng) 隨機系統(tǒng) 無記憶系統(tǒng) 有記憶系統(tǒng)或動態(tài)系統(tǒng)(系統(tǒng)的當前輸出與輸入信號的歷史值有關)1.4 通信系統(tǒng)仿真的優(yōu)點和局限性優(yōu)點: 難以使用解析法求解的情況下系統(tǒng)仿真手段就成為了一個極為有效的工具。 利用仿真技術往往可以繞過艱深的甚至是不可能的數學解

6、析求解,而較為輕易地獲得問題的數值結果。 在對現代通信系統(tǒng)新協議、新算法和新的體系結構的設計和性能評估中,只能通過仿真來檢驗所考察的對象,以驗證有關的假設,評價算法的性能。 仿真技術也是理解原理,驗證理論,進行探索和發(fā)現的有效途徑。 1.4 通信系統(tǒng)仿真的優(yōu)點和局限性缺點模型的建立、驗證和確認比較困難。 對實際系統(tǒng)的建模的原理和方法不當使得與實際系統(tǒng)的差別較大。 建模過程中忽略了部分次要因素,使得模型仿真結果偏離實際系統(tǒng)。 仿真試驗時間太短,給結果分析帶來較大誤差。 隨機變量的概率分布類型或參數選取不當。 仿真輸出結果的統(tǒng)計誤差。 計算機字長、編碼和應用算法也會影響仿真結果。 1.5 系統(tǒng)建模

7、仿真方法與仿真工具系統(tǒng)建模仿真方法與仿真工具的關系仿真工具是實現建模和數值求解過程的軟件和硬件平臺。我們所希望的現代仿真平臺和編程語言環(huán)境具有如下基本特征:簡便高效的仿真描述語言。 層次化和模塊化建模的能力。 可視化的建模方式。 軟件硬件協同仿真的能力。 交互性和圖形環(huán)境。 跨平臺和可移植性。 1.5 系統(tǒng)建模仿真方法與仿真工具仿真環(huán)境的構成和要求模塊庫。 模塊編輯和配置器。 仿真管理器。 后處理部分。 文件和數據庫管理。 幫助文檔。 1.5 系統(tǒng)建模仿真方法與仿真工具常用仿真工具的選擇網絡層次的建模:OPNET, NS鏈路層次的仿真:Matlab/Simulink,Systemview,Sc

8、ilab以及C, C+ 電路實現層次的仿真:Spice,VHDL本課程以Matlab/Simulink作為建模和仿真平臺作業(yè)安裝MATLAB系統(tǒng)內容Matlab 簡介2Matlab窗口環(huán)境Matlab是什么?2.1 Matlab是什么?一、概述 MATLAB的名稱源自Matrix Laboratory,它的首創(chuàng)者是在數值線性代數領域頗有影響的Cleve Moler博士,他也是生產經營MATLAB產品的美國Mathworks公司的創(chuàng)始人之一。 MATLAB是一種科學計算軟件,專門以矩陣的形式處理數據。MATLAB將高性能的數值計算和可視化集成在一起,并提供了大量的內置函數,從而使其被廣泛地應用于

9、科學計算、控制系統(tǒng)、信息處理等領域的分析、仿真和設計工作中。MATLAB產品族可以用來進行如下工作:數值分析;數值和符號計算;工程與科學繪圖;控制系統(tǒng)的設計與仿真;數字圖像處理;數字信號處理;通訊系統(tǒng)設計與仿真;財務與金融工程等。 2.1 MATLAB簡介二、 MATLAB仿真的意義 當在實際電子通信系統(tǒng)中進行試驗研究比較困難或者根本無法實現時,仿真技術就成為必然的選擇。 2.1 MATLAB簡介 MATLAB與其它計算機高級語言如C,C+等相比,MATLAB語言編程要簡潔得多,編程語句更加接近數學描述,可讀性好,其強大的圖形功能和可視化數據處理能力也是其它高級語言望塵莫及的。對于具有任何一門

10、高級語言基礎的學生來說,學習MATLAB十分容易。 2.1 MATLAB簡介 MATLAB使得人們擺脫了常規(guī)計算機編程的繁瑣,讓人們能夠將大部分精力投入到研究問題的數學建模上。可以說,應用MATLAB這一數學計算和系統(tǒng)仿真的強大工具,可以使科學研究的效率得以成百倍的提高。 2.1 MATLAB簡介二、MATLAB特點跨平臺的數學語言超高級語言語法簡單,編程風格接近數學風格強大的繪圖功能計算精度很高擁有學科眾多,領域廣泛的工具箱可移植 2.2 MATLAB特點三、MATLAB入門操作 命令窗口 Command Window 歷史命令窗口 Command History 當前目錄窗口 Curren

11、t Directory 工作空間窗口 Workspace 2.3 MATLAB界面1. Command Window 可顯示除圖像以外的所有結果最簡單的計算器使用法準備階段 2.3 MATLAB界面MATLAB語句形式 變量表達式;通過等號將表達式的值賦予變量。當鍵入回車鍵時,該語句被執(zhí)行。語句執(zhí)行之后,窗口自動顯示出語句執(zhí)行的結果。如果不希望結果回顯,只需在語句后加分號即可。 2.3 MATLAB界面命令行編輯器方向鍵和控制鍵可以編輯修改已輸入的命令 :回調上一行命令 :回調下一行命令多行命令() : 如果命令語句超過一行或者太長希望分行輸入,可以使用多行命令繼續(xù)輸入 2.3 MATLAB界

12、面例如:S=1-12+13+4+ 9-4-18;復數和復數矩陣 MATLAB把復數作為一個整體處理。虛數單位用預定義變量i或j表示; 復數z=a+bi= 直角坐標是和極坐標系之間轉換的MATLAB指令: real(z) imag(z) abs(z) angle(z)MATLAB的矩陣元素允許是復數、復變量和由它們組成的表達式 2.3 MATLAB界面指令窗的常用控制指令 clc 清除指令窗中顯示內容 clear 清除工作空間中保存的變量 exit 關閉/退出MATLAB quit 關閉/退出MATLAB 2.3 MATLAB界面2. Command History Window 記錄著用戶在指

13、令窗中所輸入過的所有指令行。 2.3 MATLAB界面3. Current Directory Window 組織、管理和使用所有matlab文件和非matlab文件。 2.3 MATLAB界面4. Workspace Window 內存變量的查閱、保存和編輯。(who,whos) 2.3 MATLAB界面內容Matlab 語言基礎3基本運算符變量繪圖常用函數 基本語句3.1 Matlab語言基礎: 變量變量的命名變量無需定義即可使用變量的名字必須以字母開頭,之后可以是任意字母、數字或下劃線(不能超過31個字符)變量名稱區(qū)分字母的大小寫不能包含空格、標點變量操作在命令窗口中,同時存儲著輸入的命

14、令和創(chuàng)建的所有變量值,它們可以在任何需要的時候被調用采用clear將清除內存內的所有變量采用“clear 變量名”清除指定變量3.1.1 矩 陣矩陣的賦值要求整個矩陣的值必須放在方括號中;同一行中各元素之間以逗號“,”或者空格分開;不同行的元素以分號“;”隔開。3.1.1 矩 陣操作結果?a=1,2,3,4,5,6b=1,2,3; 4,5,6c=1,2,3;4,5,6;1,2,3;4,5,63.1.2變量元素的標注變量的元素用圓括號“()”中的數字來注明a=1,2,3;4,5,6;7,8,9; a(2,2)a(4,4)=5.6size(a)3.1.3 賦值技巧在MATLAB中,為變量的賦值提供

15、一些簡便快捷的方法冒號:產生遞進向量 t=i:j:k (t=1:2:10 t=1:10)利用冒號給全行賦值 a(5,:)=5,4,3,2利用行,列標注構成新的矩陣 b=a(2,4,1,3) a(2,4,5,:)=3.1.4特殊的矩陣和數組除了采用直接輸入方法對變量賦值外,也可利用MATLAB的內部函數來對變量賦值,利用這些函數來創(chuàng)建和生成特殊矩陣或數組。 在MATLAB中提供了許多生成矩陣的函數命令,這些函數命令存放在“matlab/elmat”目錄下。3.1.4特殊矩陣和數組1單位矩陣函數 產生在對角線元素為1,其他元素為0 的單位矩陣。a=eye(n)a=eye(m,n)a=eye(siz

16、e(b)3.1.4特殊矩陣和數組2zero函數a= zero(n)a= zero(m,n)a= zero(size(b)ones函數a= ones(n)a= ones(m,n)a= ones(size(b)3.1.4特殊矩陣和數組3rand及randn函數X=rand(m,n) 產生在(0,1)之間均勻分布的隨機一維數組或行矢量X=randn(m,n)產生均值為0,方差為1的正態(tài)分布的隨機一維數組或行矢量 3.1.5內部特殊變量和常數ans:臨時變量realmax:最大正浮點數,任何大于該值的運算都會溢出。realmin:最小正浮點數,任何小于該值的運算都會溢出。pi:常數,表示圓周率。Inf

17、:常數 ,表示正無窮大。i/j:虛數單位,表示復數虛部單位。NaN:表示非數值,如Inf-Inf, 0/0 3.1.6復數的賦值方法可將矩陣元逐個賦予復數z= 1+2i,3+4i,5+6i,7+8i將矩陣的實部和虛部分別賦值z= 1,3,5,7+ 2,4,6,8*i常用的數學運算符運算式中,通常不需要考慮空格多條命令可以放在一行中同行中各條命令可用分號隔開,表示禁止結果顯示同行中各條命令也可用逗號隔開,表示需要顯示結果 - 加 - 減 * - 乘 / - 左除 - 右除 - 冪3.2 Matlab語言基礎: 基本運算符常用的關系運算符 - 大于 = - 大于等于 - 小于 = - 小于等于 =

18、 - 等于 = - 不等于運算法則 若關系式成立,結果為1 若關系式不成立,結果為03.2 Matlab語言基礎: 基本運算符計算a=1,2,3;4,5,6 b=2,1;3,4;5,6 a*ba=1,2,3;4,5,6 b=1+1i,2+2i,3+3i;4+4i,5+5i,6+6i a.*b常用的邏輯運算符 & - 與 | - 或 ! - 非運算法則 若邏輯真,結果為1 若邏輯假,結果為03.2 Matlab語言基礎: 基本運算符其他常見符號3.2 Matlab語言基礎: 基本運算符 = - 變量賦值 % - 注釋符 - 共軛轉置符 . - 轉置符 : - 冒號運算符舉例: n:s:m 產生n

19、m、步長為s的序列循環(huán)語句for-end循環(huán) :循環(huán)次數事先確定時使用while-end 循環(huán):循環(huán)次數不能事先確定時使用3.3 Matlab語言基礎: 基本語句for i=n:s:m 語句體end s 為步長可以為正數,負數或小數while 表達式 語句體end表達式為真,執(zhí)行語句體表達式為假,終止該循環(huán)分支語句if-elseif-else-end: 具有優(yōu)先級switch-case-otherwise-end:無優(yōu)先級3.3 Matlab語言基礎: 基本語句if 表達式1 語句體1elseif 表達式2 語句體2.else 語句體elseend switch 變量 case 變量值1 語句

20、體1 case 變量值2 語句體2 otherwise 語句體otherwiseend常用的數學函數abs - 求絕對值sin - 正弦cos - 余弦tan - 正切asin - 反正弦acos - 反余弦atan - 反正切sqrt - 求平方根exp - eximag - 求虛部real - 求實部sign - 求符號log - 求自然對數log10 - 以10為底的對數conj - 共軛復數Matlab語言基礎: 常用函數Matlab語言基礎: 矩陣矩陣的生成例如:創(chuàng)建一個33矩陣輸入 :a=1 2 3;4 5 6;7 8 9 或者a=1 2 3 4 5 6 7 8 9 屏幕輸出: a

21、 = 1 2 3 4 5 6 7 8 9 矩陣的元素直接排列在方括號內 行與行之間用分號隔開每行內的元素使用空格或逗號隔開大的矩陣可以用分行輸入,回車鍵代表分號矩陣的生成舉例:輸入 a=1:2:10屏幕輸出: a= 1 3 5 7 9輸入 a=10:-2:1屏幕輸出: a= 10 8 6 4 2用線性等間距生成向量矩陣 start : step : end start:起始值 step: 步長(默認為1,可為負值) end: 終止值Matlab語言基礎: 矩陣一些常用的特殊矩陣eye(2,3)ans= 1 0 0 0 1 0eye(2)ans= 1 0 0 1V=5 7 2; A=diag(V

22、)A= 5 0 0 0 7 0 0 0 2Matlab語言基礎: 矩陣單位矩陣:eye(m,n); eye(m)零矩陣: zeros(m,n); zeros(m)一矩陣: ones(m,n); ones(m)對角矩陣:對角元素向量 V=a1,a2,an A=diag(V)隨機矩陣:rand(m,n)產生一個mn的均勻分布的隨機矩陣zeros(2,3)ans= 0 0 0 0 0 0zeros(2)ans= 0 0 0 0ones(2,3)ans= 1 1 1 1 1 1ones(2)ans= 1 1 1 1rand(2,2)ans = 0.4154 0.8744 0.0150 0.9708矩陣

23、元素的訪問通過確認矩陣下標,可以對矩陣的子塊進行插入、提取和重排 注意:MATLAB中矩陣下標從1開始,而不是從0開始Matlab語言基礎: 矩陣 A(m,n):提取第m行,第n列元素 A(:,n) :提取第n列元素 A(m,:) :提取第m行元素 A(m1:m2,n1:n2):提取m1m2行和n1 n2列的所有元素 A(:) :得到一個長列矢量,其元素按矩陣的列進行排列A= 1 2 3 4 5 6;A(2,1)ans=4A(2,:)ans= 4 5 6 A(:,2)ans= 2 5A(1:2,2:3)ans= 2 3 5 6A(:)ans= 1 4 2 5 3 6矩陣的擴展與消除矩陣擴展:如

24、果在原矩陣中一個不存在的地址位置上設定一個數(賦值),則該矩陣會自動擴展行列數,并在該位置上添加這個數,而且在其他沒有指定的位置補零。消除子塊:如果將矩陣的子塊賦值為空矩陣 ,則相當于消除了相應的矩陣子塊。Matlab語言基礎: 矩陣A= 1 2 3 4 5 6;A(3,2)=7A=1 2 3 4 5 6 0 7 0A(2,:)= A=1 2 3矩陣的大小Matlab語言基礎: 矩陣m,n=size(A,x):返回矩陣的行列數m與n 當x=1,則只返回行數m 當x=2,則只返回列數nlength(A)=max(size(A):返回行數或列數的最大值A= 1 2 3 4 5 6;size(A)a

25、ns= 2 3size(A,1)ans= 2 size(A,2)ans= 3矩陣的運算舉例A=1+i 2-2i; -3+3i -4-4i A= 1+ i 2-2i -3+3i -4-4iB=AB= 1- i -3-3i 2+2i -4+4iC=A.C= 1+ i -3+3i 2-2i -4-4iMatlab語言基礎: 矩陣 轉置:轉置符號有兩種形式 A - 共軛轉置 A. - 普通轉置 求逆 :inv(A) 求行列式:det(A)矩陣的四則運算與冪運算 .* - 點乘 . - 點右除 ./ - 點左除 . - 點冪點運算是兩個維數相同矩陣對應元素間的運算Matlab語言基礎: 矩陣 - 矩陣加

26、 - 矩陣減 * - 矩陣乘 / - 矩陣左除 - 矩陣右除 - 矩陣冪內容Matlab繪圖基礎3Matlab繪圖基礎MATLAB提供了豐富的繪圖功能help graph2d可得到所有畫二維圖形的命令help graph3d可得到所有畫三維圖形的命令 plot(x,y,屬性)或者stem():繪圖 figure:選擇圖像 figure(1);figure(2);figure(n) 打開不同的圖形窗口,以便繪制不同的圖形 grid on:在所畫出的圖形坐標中加入柵格 grid off:除去圖形坐標中的柵格 hold on: 當前圖形保持不變,同時允許在這個坐標內繪制另外一個圖形 hold off

27、:使新圖覆蓋舊的圖形Matlab繪圖基礎舉例: t=0:pi/20:9*pi; f=sin(t); figure(1) plot(t,f,r:*) grid onMatlab繪圖基礎設定對數坐標Matlab繪圖基礎semilogx:x軸為對數坐標,y軸為線性坐標semilogy:y軸為對數坐標,x軸為線性坐標 設定軸的范圍axis(xmin xmax ymin ymax)axis(equal):將x坐標軸和y坐標軸的單位刻度調整為一樣文字標示Matlab繪圖基礎text(x,y,字符串) 在圖形的指定坐標位置(x,y)處,標示單引號括起來的字符串gtext(字符串) 利用鼠標在圖形的某一位置標示字符串title(字符串) 在所畫圖形的最上端顯示說明該圖形標題的字符串xlabel(字符串),ylabel(字符串) 設置x,y坐標軸的名稱。legend(字符串1,字符串,字符串n) 在屏幕上開啟一個小視窗,然后依據繪圖命令的先后用對應的字符串區(qū)分圖形上的線t=0:pi/20:5*pi;f=sin(t)f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論