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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

通信系統(tǒng)仿真講授人:肖湘Email:xiaoxiang1806@163.com

通信系統(tǒng)仿真講授人:肖湘相關(guān)書籍《Matlab/Simulink通信系統(tǒng)建模與仿真實(shí)例分析》邵玉斌,清華大學(xué)出版社《基于Matlab的通信系統(tǒng)仿真》趙靜等,北京航空航天大學(xué)出版社《Matlab及在電子信息類課程中的應(yīng)用》唐向宏等,電子工業(yè)出版社《MATLAB基礎(chǔ)教程》薛山,清華大學(xué)出版社相關(guān)書籍《Matlab/Simulink通信系統(tǒng)建模與仿真實(shí)教學(xué)目標(biāo)了解通信系統(tǒng)建模仿真思想與方法掌握Matlab語言的基本操作學(xué)會(huì)使用Simulink進(jìn)行建模與仿真教學(xué)目標(biāo)了解通信系統(tǒng)建模仿真思想與方法對(duì)學(xué)習(xí)者的要求三個(gè)重要環(huán)節(jié)課前預(yù)習(xí)課上認(rèn)真聽講,思考課后實(shí)踐、消化經(jīng)常進(jìn)行階段應(yīng)用掌握知識(shí)的竅訣:反復(fù)上機(jī)實(shí)踐對(duì)學(xué)習(xí)者的要求三個(gè)重要環(huán)節(jié)其他約定不得遲到、早退、缺課,有事請(qǐng)假上課時(shí)請(qǐng)關(guān)閉手機(jī)或者調(diào)靜音遲交的作業(yè)恕不修改,只作記錄最終成績(jī)=期末考試成績(jī)+平時(shí)成績(jī)其他約定內(nèi)容通信系統(tǒng)建模與仿真1Matlab簡(jiǎn)介2Matlab語言基礎(chǔ)3內(nèi)容通信系統(tǒng)建模與仿真1Matlab簡(jiǎn)介2Matlab語言基內(nèi)容通信系統(tǒng)建模仿真1分類概念、方法工具內(nèi)容通信系統(tǒng)建模仿真1分類概念、方法工具1.1通信仿真的概念在對(duì)原有的通信系統(tǒng)做出改進(jìn)或建立一個(gè)新系統(tǒng)之前,通常需要對(duì)這個(gè)系統(tǒng)進(jìn)行建模和仿真,通過仿真結(jié)果衡量方案的可行性,從中選擇最合理的系統(tǒng)配置和參數(shù)設(shè)置,然后再應(yīng)用于實(shí)際系統(tǒng)中。這個(gè)過程就是通信仿真。1.1通信仿真的概念在對(duì)原有的通信系統(tǒng)做出改進(jìn)或建立一個(gè)新1.1通信仿真的概念隨著數(shù)字通信技術(shù)的發(fā)展,特別是與計(jì)算機(jī)技術(shù)的相互融合,通信系統(tǒng)和信號(hào)處理技術(shù)變得越來越復(fù)雜。強(qiáng)大的計(jì)算機(jī)輔助分析與設(shè)計(jì)工具和系統(tǒng)仿真方法作為將新的技術(shù)理論成果轉(zhuǎn)換為實(shí)際產(chǎn)品的高效而低成本途徑越來越受到業(yè)界的青睞。1.1通信仿真的概念隨著數(shù)字通信技術(shù)的發(fā)展,特別是與計(jì)算機(jī)1.1通信仿真的概念建模和仿真的作用和意義:利用系統(tǒng)建模和軟件仿真技術(shù),我們幾乎可以對(duì)所有的設(shè)計(jì)細(xì)節(jié)進(jìn)行分層次的建模和評(píng)估。通過仿真技術(shù)和方法,我們可以有效地將數(shù)學(xué)分析模型和經(jīng)驗(yàn)?zāi)P徒Y(jié)合起來。利用系統(tǒng)仿真方法,可以迅速構(gòu)建一個(gè)通信系統(tǒng)模型,提供一個(gè)便捷,高效和精確的評(píng)估平臺(tái)。1.1通信仿真的概念1.1通信仿真的概念系統(tǒng)仿真的數(shù)學(xué)基礎(chǔ)定義:仿真也稱為模擬,在本質(zhì)上,系統(tǒng)的計(jì)算機(jī)仿真就是根據(jù)物理系統(tǒng)的運(yùn)行原理建立相應(yīng)的數(shù)學(xué)描述并進(jìn)行計(jì)算機(jī)數(shù)值求解的過程。建模和仿真過程建立系統(tǒng)數(shù)學(xué)模型或仿真模型編寫系統(tǒng)的計(jì)算機(jī)仿真模型求解分析關(guān)鍵問題求解算法算法的改進(jìn)簡(jiǎn)化系統(tǒng)模型

1.1通信仿真的概念系統(tǒng)仿真的數(shù)學(xué)基礎(chǔ)1.1通信仿真的概念計(jì)算機(jī)仿真的一般過程建立計(jì)算機(jī)程序(層次化的)執(zhí)行仿真對(duì)仿真模型和仿真結(jié)果的檢驗(yàn)仿真驗(yàn)證包含以下方面內(nèi)容:對(duì)仿真數(shù)學(xué)模型有效性的驗(yàn)證。對(duì)計(jì)算機(jī)仿真模型(程序)的驗(yàn)證。對(duì)仿真算法的驗(yàn)證。仿真結(jié)果置信度分析。1.1通信仿真的概念計(jì)算機(jī)仿真的一般過程1.2通信仿真的基本方法將給定問題映射為仿真模型。把整個(gè)問題分解為一組子問題。選擇合適的建模、仿真和估計(jì)方法,并將其用于解決這些子問題。綜合各子問題的解決結(jié)果以提供對(duì)整個(gè)問題的解決方案。1.2通信仿真的基本方法將給定問題映射為仿真模型。1.3通信系統(tǒng)模型的分類按照系統(tǒng)層次分類按照信號(hào)類型分類按照系統(tǒng)特征分類1.3通信系統(tǒng)模型的分類按照系統(tǒng)層次分類1.3通信系統(tǒng)模型的分類按照系統(tǒng)層次分類通信系統(tǒng)的最高層次描述是通信網(wǎng)絡(luò)層次在網(wǎng)絡(luò)層次之下,是對(duì)通信節(jié)點(diǎn)和鏈路以及傳輸信號(hào)的具體化,稱為鏈路層次模型。電路實(shí)現(xiàn)層次的模型。1.3通信系統(tǒng)模型的分類按照系統(tǒng)層次分類1.3通信系統(tǒng)模型的分類按照信號(hào)類型分類根據(jù)函數(shù)類型的不同可以將信號(hào)劃分為模擬信號(hào),數(shù)字信號(hào),時(shí)間連續(xù)信號(hào),時(shí)間離散信號(hào)等。按照鏈路層通信系統(tǒng)仿真模型中流通的信號(hào)類型不同,可以將其劃分為連續(xù)時(shí)間系統(tǒng),離散時(shí)間系統(tǒng),模擬系統(tǒng),數(shù)字系統(tǒng)以及混合系統(tǒng)等。

1.3通信系統(tǒng)模型的分類按照信號(hào)類型分類1.3通信系統(tǒng)模型的分類按照系統(tǒng)特征分類恒參系統(tǒng)變參系統(tǒng)或時(shí)變系統(tǒng)確定系統(tǒng)隨機(jī)系統(tǒng)無記憶系統(tǒng)有記憶系統(tǒng)或動(dòng)態(tài)系統(tǒng)(系統(tǒng)的當(dāng)前輸出與輸入信號(hào)的歷史值有關(guān))1.3通信系統(tǒng)模型的分類按照系統(tǒng)特征分類1.4通信系統(tǒng)仿真的優(yōu)點(diǎn)和局限性優(yōu)點(diǎn):

難以使用解析法求解的情況下系統(tǒng)仿真手段就成為了一個(gè)極為有效的工具。利用仿真技術(shù)往往可以繞過艱深的甚至是不可能的數(shù)學(xué)解析求解,而較為輕易地獲得問題的數(shù)值結(jié)果。在對(duì)現(xiàn)代通信系統(tǒng)新協(xié)議、新算法和新的體系結(jié)構(gòu)的設(shè)計(jì)和性能評(píng)估中,只能通過仿真來檢驗(yàn)所考察的對(duì)象,以驗(yàn)證有關(guān)的假設(shè),評(píng)價(jià)算法的性能。仿真技術(shù)也是理解原理,驗(yàn)證理論,進(jìn)行探索和發(fā)現(xiàn)的有效途徑。1.4通信系統(tǒng)仿真的優(yōu)點(diǎn)和局限性優(yōu)點(diǎn):1.4通信系統(tǒng)仿真的優(yōu)點(diǎn)和局限性缺點(diǎn)模型的建立、驗(yàn)證和確認(rèn)比較困難。對(duì)實(shí)際系統(tǒng)的建模的原理和方法不當(dāng)使得與實(shí)際系統(tǒng)的差別較大。建模過程中忽略了部分次要因素,使得模型仿真結(jié)果偏離實(shí)際系統(tǒng)。仿真試驗(yàn)時(shí)間太短,給結(jié)果分析帶來較大誤差。隨機(jī)變量的概率分布類型或參數(shù)選取不當(dāng)。仿真輸出結(jié)果的統(tǒng)計(jì)誤差。計(jì)算機(jī)字長(zhǎng)、編碼和應(yīng)用算法也會(huì)影響仿真結(jié)果。1.4通信系統(tǒng)仿真的優(yōu)點(diǎn)和局限性缺點(diǎn)1.5系統(tǒng)建模仿真方法與仿真工具系統(tǒng)建模仿真方法與仿真工具的關(guān)系仿真工具是實(shí)現(xiàn)建模和數(shù)值求解過程的軟件和硬件平臺(tái)。我們所希望的現(xiàn)代仿真平臺(tái)和編程語言環(huán)境具有如下基本特征:簡(jiǎn)便高效的仿真描述語言。層次化和模塊化建模的能力??梢暬慕7绞健\浖布f(xié)同仿真的能力。交互性和圖形環(huán)境??缙脚_(tái)和可移植性。1.5系統(tǒng)建模仿真方法與仿真工具系統(tǒng)建模仿真方法與仿真工具1.5系統(tǒng)建模仿真方法與仿真工具仿真環(huán)境的構(gòu)成和要求模塊庫(kù)。模塊編輯和配置器。仿真管理器。后處理部分。文件和數(shù)據(jù)庫(kù)管理。幫助文檔。1.5系統(tǒng)建模仿真方法與仿真工具仿真環(huán)境的構(gòu)成和要求1.5系統(tǒng)建模仿真方法與仿真工具常用仿真工具的選擇網(wǎng)絡(luò)層次的建模:OPNET,NS鏈路層次的仿真:Matlab/Simulink,Systemview,Scilab以及C,C++電路實(shí)現(xiàn)層次的仿真:Spice,VHDL本課程以Matlab/Simulink作為建模和仿真平臺(tái)1.5系統(tǒng)建模仿真方法與仿真工具常用仿真工具的選擇作業(yè)安裝MATLAB系統(tǒng)作業(yè)安裝MATLAB系統(tǒng)內(nèi)容Matlab簡(jiǎn)介2Matlab窗口環(huán)境Matlab是什么??jī)?nèi)容Matlab簡(jiǎn)介2Matlab窗口環(huán)境Matlab是什2.1Matlab是什么?一、概述

MATLAB的名稱源自MatrixLaboratory,它的首創(chuàng)者是在數(shù)值線性代數(shù)領(lǐng)域頗有影響的CleveMoler博士,他也是生產(chǎn)經(jīng)營(yíng)MATLAB產(chǎn)品的美國(guó)Mathworks公司的創(chuàng)始人之一。

MATLAB是一種科學(xué)計(jì)算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而使其被廣泛地應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作中。2.1Matlab是什么?一、概述MATLAB產(chǎn)品族可以用來進(jìn)行如下工作:數(shù)值分析;數(shù)值和符號(hào)計(jì)算;工程與科學(xué)繪圖;控制系統(tǒng)的設(shè)計(jì)與仿真;數(shù)字圖像處理;數(shù)字信號(hào)處理;通訊系統(tǒng)設(shè)計(jì)與仿真;財(cái)務(wù)與金融工程等。2.1MATLAB簡(jiǎn)介MATLAB產(chǎn)品族可以用來進(jìn)行如下工作:2.1MATL二、MATLAB仿真的意義

當(dāng)在實(shí)際電子通信系統(tǒng)中進(jìn)行試驗(yàn)研究比較困難或者根本無法實(shí)現(xiàn)時(shí),仿真技術(shù)就成為必然的選擇。2.1MATLAB簡(jiǎn)介二、MATLAB仿真的意義2.1MATLAB簡(jiǎn)介MATLAB與其它計(jì)算機(jī)高級(jí)語言如C,C++等相比,MATLAB語言編程要簡(jiǎn)潔得多,編程語句更加接近數(shù)學(xué)描述,可讀性好,其強(qiáng)大的圖形功能和可視化數(shù)據(jù)處理能力也是其它高級(jí)語言望塵莫及的。對(duì)于具有任何一門高級(jí)語言基礎(chǔ)的學(xué)生來說,學(xué)習(xí)MATLAB十分容易。2.1MATLAB簡(jiǎn)介MATLAB與其它計(jì)算機(jī)高級(jí)語言如MATLAB使得人們擺脫了常規(guī)計(jì)算機(jī)編程的繁瑣,讓人們能夠?qū)⒋蟛糠志ν度氲窖芯繂栴}的數(shù)學(xué)建模上??梢哉f,應(yīng)用MATLAB這一數(shù)學(xué)計(jì)算和系統(tǒng)仿真的強(qiáng)大工具,可以使科學(xué)研究的效率得以成百倍的提高。2.1MATLAB簡(jiǎn)介MATLAB使得人們擺脫了常規(guī)計(jì)算二、MATLAB特點(diǎn)跨平臺(tái)的數(shù)學(xué)語言超高級(jí)語言語法簡(jiǎn)單,編程風(fēng)格接近數(shù)學(xué)風(fēng)格強(qiáng)大的繪圖功能計(jì)算精度很高擁有學(xué)科眾多,領(lǐng)域廣泛的工具箱可移植2.2MATLAB特點(diǎn)二、MATLAB特點(diǎn)2.2MATLAB特點(diǎn)三、MATLAB入門操作命令窗口CommandWindow

歷史命令窗口CommandHistory

當(dāng)前目錄窗口CurrentDirectory

工作空間窗口Workspace2.3MATLAB界面三、MATLAB入門操作2.3MATLAB界面通信系統(tǒng)仿真(第一次課)資料課件通信系統(tǒng)仿真(第一次課)資料課件1.CommandWindow

可顯示除圖像以外的所有結(jié)果最簡(jiǎn)單的計(jì)算器使用法準(zhǔn)備階段2.3MATLAB界面1.CommandWindow2.3MATLABMATLAB語句形式變量=表達(dá)式;通過等號(hào)將表達(dá)式的值賦予變量。當(dāng)鍵入回車鍵時(shí),該語句被執(zhí)行。語句執(zhí)行之后,窗口自動(dòng)顯示出語句執(zhí)行的結(jié)果。如果不希望結(jié)果回顯,只需在語句后加分號(hào)即可。2.3MATLAB界面MATLAB語句形式2.3MATLAB界面命令行編輯器方向鍵和控制鍵可以編輯修改已輸入的命令↑:回調(diào)上一行命令↓:回調(diào)下一行命令多行命令(…):如果命令語句超過一行或者太長(zhǎng)希望分行輸入,可以使用多行命令繼續(xù)輸入

2.3MATLAB界面例如:S=1-12+13+4+…9-4-18;命令行編輯器2.3MATLAB界面例如:復(fù)數(shù)和復(fù)數(shù)矩陣

MATLAB把復(fù)數(shù)作為一個(gè)整體處理。虛數(shù)單位用預(yù)定義變量i或j表示;復(fù)數(shù)z=a+bi=直角坐標(biāo)是和極坐標(biāo)系之間轉(zhuǎn)換的MATLAB指令:

real(z)imag(z)abs(z)angle(z)MATLAB的矩陣元素允許是復(fù)數(shù)、復(fù)變量和由它們組成的表達(dá)式2.3MATLAB界面復(fù)數(shù)和復(fù)數(shù)矩陣2.3MATLAB界面指令窗的常用控制指令

clc清除指令窗中顯示內(nèi)容

clear清除工作空間中保存的變量

exit關(guān)閉/退出MATLABquit關(guān)閉/退出MATLAB2.3MATLAB界面指令窗的常用控制指令2.3MATLAB界面2.CommandHistoryWindow

記錄著用戶在指令窗中所輸入過的所有指令行。

2.3MATLAB界面2.CommandHistoryWindow23.CurrentDirectoryWindow

組織、管理和使用所有matlab文件和非matlab文件。2.3MATLAB界面3.CurrentDirectoryWindow4.WorkspaceWindow

內(nèi)存變量的查閱、保存和編輯。(who,whos)2.3MATLAB界面4.WorkspaceWindow2.3MAT內(nèi)容Matlab語言基礎(chǔ)3基本運(yùn)算符變量繪圖常用函數(shù)基本語句內(nèi)容Matlab語言基礎(chǔ)3基本運(yùn)算符變量繪圖常用函數(shù)3.1Matlab語言基礎(chǔ):變量變量的命名變量無需定義即可使用變量的名字必須以字母開頭,之后可以是任意字母、數(shù)字或下劃線(不能超過31個(gè)字符)變量名稱區(qū)分字母的大小寫不能包含空格、標(biāo)點(diǎn)變量操作在命令窗口中,同時(shí)存儲(chǔ)著輸入的命令和創(chuàng)建的所有變量值,它們可以在任何需要的時(shí)候被調(diào)用采用clear將清除內(nèi)存內(nèi)的所有變量采用“clear變量名”清除指定變量3.1Matlab語言基礎(chǔ):變量變量的命名變量操作3.1.1矩陣矩陣的賦值要求整個(gè)矩陣的值必須放在方括號(hào)中;同一行中各元素之間以逗號(hào)“,”或者空格分開;不同行的元素以分號(hào)“;”隔開。3.1.1矩陣矩陣的賦值要求3.1.1矩陣操作結(jié)果?a=[1,2,3,4,5,6]b=[1,2,3;4,5,6]c=[1,2,3;4,5,6];[1,2,3;4,5,6]3.1.1矩陣操作結(jié)果?3.1.2變量元素的標(biāo)注變量的元素用圓括號(hào)“()”中的數(shù)字來注明a=[1,2,3;4,5,6;7,8,9];a(2,2)a(4,4)=5.6size(a)3.1.2變量元素的標(biāo)注變量的元素用圓括號(hào)“()”中的數(shù)字來3.1.3賦值技巧在MATLAB中,為變量的賦值提供一些簡(jiǎn)便快捷的方法冒號(hào):產(chǎn)生遞進(jìn)向量t=i:j:k(t=1:2:10t=1:10)利用冒號(hào)給全行賦值a(5,:)=[5,4,3,2]利用行,列標(biāo)注構(gòu)成新的矩陣b=a([2,4],[1,3])a([2,4,5],:)=[]3.1.3賦值技巧在MATLAB中,為變量的賦值提供一些簡(jiǎn)3.1.4特殊的矩陣和數(shù)組除了采用直接輸入方法對(duì)變量賦值外,也可利用MATLAB的內(nèi)部函數(shù)來對(duì)變量賦值,利用這些函數(shù)來創(chuàng)建和生成特殊矩陣或數(shù)組。在MATLAB中提供了許多生成矩陣的函數(shù)命令,這些函數(shù)命令存放在“matlab/elmat”目錄下。3.1.4特殊的矩陣和數(shù)組除了采用直接輸入方法對(duì)變量賦值外,3.1.4特殊矩陣和數(shù)組1單位矩陣函數(shù)

產(chǎn)生在對(duì)角線元素為1,其他元素為0的單位矩陣。a=eye(n)a=eye(m,n)a=eye(size(b))3.1.4特殊矩陣和數(shù)組1單位矩陣函數(shù)3.1.4特殊矩陣和數(shù)組2zero函數(shù)a=zero(n)a=zero(m,n)a=zero(size(b))ones函數(shù)a=ones(n)a=ones(m,n)a=ones(size(b))3.1.4特殊矩陣和數(shù)組2zero函數(shù)ones函數(shù)3.1.4特殊矩陣和數(shù)組3rand及randn函數(shù)X=rand(m,n)產(chǎn)生在(0,1)之間均勻分布的隨機(jī)一維數(shù)組或行矢量X=randn(m,n)產(chǎn)生均值為0,方差為1的正態(tài)分布的隨機(jī)一維數(shù)組或行矢量

3.1.4特殊矩陣和數(shù)組3rand及randn函數(shù)3.1.5內(nèi)部特殊變量和常數(shù)ans:臨時(shí)變量realmax:最大正浮點(diǎn)數(shù),任何大于該值的運(yùn)算都會(huì)溢出。realmin:最小正浮點(diǎn)數(shù),任何小于該值的運(yùn)算都會(huì)溢出。pi:常數(shù),表示圓周率。Inf:常數(shù),表示正無窮大。i/j:虛數(shù)單位,表示復(fù)數(shù)虛部單位。NaN:表示非數(shù)值,如Inf-Inf,0/0

3.1.5內(nèi)部特殊變量和常數(shù)ans:臨時(shí)變量3.1.6復(fù)數(shù)的賦值方法可將矩陣元逐個(gè)賦予復(fù)數(shù)z=[1+2i,3+4i,5+6i,7+8i]將矩陣的實(shí)部和虛部分別賦值z(mì)=[1,3,5,7]+[2,4,6,8]*i3.1.6復(fù)數(shù)的賦值方法可將矩陣元逐個(gè)賦予復(fù)數(shù)將矩陣的實(shí)部和常用的數(shù)學(xué)運(yùn)算符運(yùn)算式中,通常不需要考慮空格多條命令可以放在一行中同行中各條命令可用分號(hào)隔開,表示禁止結(jié)果顯示同行中各條命令也可用逗號(hào)隔開,表示需要顯示結(jié)果+----加-----減*----乘

/----左除

\----右除

^----冪3.2Matlab語言基礎(chǔ):基本運(yùn)算符常用的數(shù)學(xué)運(yùn)算符+----加常用的關(guān)系運(yùn)算符

>----大于

>=----大于等于

<----小于

<=

----小于等于

==----等于

~=----不等于運(yùn)算法則若關(guān)系式成立,結(jié)果為1若關(guān)系式不成立,結(jié)果為03.2Matlab語言基礎(chǔ):基本運(yùn)算符常用的關(guān)系運(yùn)算符>----大計(jì)算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計(jì)算a=[1,2,3;4,5,6]b=[2,1常用的邏輯運(yùn)算符

&----與

|----或

!----非運(yùn)算法則若邏輯真,結(jié)果為1若邏輯假,結(jié)果為03.2Matlab語言基礎(chǔ):基本運(yùn)算符常用的邏輯運(yùn)算符&----與其他常見符號(hào)3.2Matlab語言基礎(chǔ):基本運(yùn)算符

=

----變量賦值%----注釋符

‘----共軛轉(zhuǎn)置符

.’----轉(zhuǎn)置符:----冒號(hào)運(yùn)算符舉例:

n:s:m產(chǎn)生n~m、步長(zhǎng)為s的序列其他常見符號(hào)3.2Matlab語言基礎(chǔ):基本運(yùn)算符循環(huán)語句for-end循環(huán):循環(huán)次數(shù)事先確定時(shí)使用while-end循環(huán):循環(huán)次數(shù)不能事先確定時(shí)使用3.3Matlab語言基礎(chǔ):基本語句fori=n:s:m

語句體ends為步長(zhǎng)可以為正數(shù),負(fù)數(shù)或小數(shù)while表達(dá)式語句體end表達(dá)式為真,執(zhí)行語句體表達(dá)式為假,終止該循環(huán)循環(huán)語句3.3Matlab語言基礎(chǔ):基本語句fori=分支語句if-elseif-else-end:具有優(yōu)先級(jí)switch-case-otherwise-end:無優(yōu)先級(jí)3.3Matlab語言基礎(chǔ):基本語句if表達(dá)式1

語句體1elseif表達(dá)式2

語句體2………..else

語句體elseendswitch變量

case變量值1語句體1case變量值2語句體2……otherwise

語句體otherwiseend分支語句3.3Matlab語言基礎(chǔ):基本語句if表達(dá)常用的數(shù)學(xué)函數(shù)abs----求絕對(duì)值sin----正弦cos----余弦tan----正切asin----反正弦acos----反余弦atan----反正切sqrt----求平方根exp----eximag----求虛部real----求實(shí)部sign----求符號(hào)log----求自然對(duì)數(shù)log10----以10為底的對(duì)數(shù)conj----共軛復(fù)數(shù)Matlab語言基礎(chǔ):常用函數(shù)常用的數(shù)學(xué)函數(shù)abs----求絕對(duì)值eMatlab語言基礎(chǔ):矩陣矩陣的生成例如:創(chuàng)建一個(gè)3×3矩陣輸入:a=[123;456;789]

或者a=[123456789]

屏幕輸出:a=123456789矩陣的元素直接排列在方括號(hào)內(nèi)行與行之間用分號(hào)隔開每行內(nèi)的元素使用空格或逗號(hào)隔開大的矩陣可以用分行輸入,回車鍵代表分號(hào)Matlab語言基礎(chǔ):矩陣矩陣的生成例如:創(chuàng)建一個(gè)3×3矩矩陣的生成舉例:輸入a=[1:2:10]屏幕輸出:a=13579輸入a=[10:-2:1]屏幕輸出:a=108642用線性等間距生成向量矩陣start:step:end

start:起始值

step:步長(zhǎng)(默認(rèn)為1,可為負(fù)值)

end:終止值Matlab語言基礎(chǔ):矩陣矩陣的生成舉例:用線性等間距生成向量矩陣sta一些常用的特殊矩陣eye(2,3)ans=100010eye(2)ans=1001V=[572];A=diag(V)A=500070002Matlab語言基礎(chǔ):矩陣單位矩陣:eye(m,n);eye(m)零矩陣:zeros(m,n);zeros(m)一矩陣:ones(m,n);ones(m)對(duì)角矩陣:對(duì)角元素向量V=[a1,a2,…,an]A=diag(V)隨機(jī)矩陣:rand(m,n)產(chǎn)生一個(gè)m×n的均勻分布的隨機(jī)矩陣zeros(2,3)ans=000000zeros(2)ans=0000ones(2,3)ans=111111ones(2)ans=1111rand(2,2)ans=0.41540.87440.01500.9708一些常用的特殊矩陣eye(2,3)eye(2)V=[57矩陣元素的訪問通過確認(rèn)矩陣下標(biāo),可以對(duì)矩陣的子塊進(jìn)行插入、提取和重排注意:MATLAB中矩陣下標(biāo)從1開始,而不是從0開始Matlab語言基礎(chǔ):矩陣

A(m,n):提取第m行,第n列元素A(:,n):提取第n列元素A(m,:):提取第m行元素A(m1:m2,n1:n2):提取m1~m2行和n1~n2列的所有元素A(:):得到一個(gè)長(zhǎng)列矢量,其元素按矩陣的列進(jìn)行排列A=[123456];A(2,1)ans=4A(2,:)ans=456A(:,2)ans=25A(1:2,2:3)ans=2356A(:)ans=142536矩陣元素的訪問Matlab語言基礎(chǔ):矩陣A(矩陣的擴(kuò)展與消除矩陣擴(kuò)展:如果在原矩陣中一個(gè)不存在的地址位置上設(shè)定一個(gè)數(shù)(賦值),則該矩陣會(huì)自動(dòng)擴(kuò)展行列數(shù),并在該位置上添加這個(gè)數(shù),而且在其他沒有指定的位置補(bǔ)零。消除子塊:如果將矩陣的子塊賦值為空矩陣[],則相當(dāng)于消除了相應(yīng)的矩陣子塊。Matlab語言基礎(chǔ):矩陣A=[123456];A(3,2)=7A=[123456070]A(2,:)=[]A=[123]矩陣的擴(kuò)展與消除Matlab語言基礎(chǔ):矩陣A=[12矩陣的大小Matlab語言基礎(chǔ):矩陣[m,n]=size(A,x):返回矩陣的行列數(shù)m與n當(dāng)x=1,則只返回行數(shù)m當(dāng)x=2,則只返回列數(shù)nlength(A)=max(size(A)):返回行數(shù)或列數(shù)的最大值A(chǔ)=[123456];size(A)ans=23size(A,1)ans=2size(A,2)ans=3矩陣的大小Matlab語言基礎(chǔ):矩陣[m,n]=size(矩陣的運(yùn)算舉例A=[1+i2-2i;-3+3i-4-4i]A=1+i2-2i-3+3i-4-4iB=A’B=1-i-3-3i2+2i-4+4iC=A.’C=1+i-3+3i2-2i-4-4iMatlab語言基礎(chǔ):矩陣轉(zhuǎn)置:轉(zhuǎn)置符號(hào)有兩種形式

A’----共軛轉(zhuǎn)置A.’----普通轉(zhuǎn)置求逆:inv(A)

求行列式:det(A)矩陣的運(yùn)算舉例B=A’C=A.’Matlab語言基礎(chǔ):矩陣矩陣的四則運(yùn)算與冪運(yùn)算

.*----點(diǎn)乘

.\----點(diǎn)右除

./----點(diǎn)左除

.^----點(diǎn)冪點(diǎn)運(yùn)算是兩個(gè)維數(shù)相同矩陣對(duì)應(yīng)元素間的運(yùn)算Matlab語言基礎(chǔ):矩陣+----矩陣加-----矩陣減*----矩陣乘

/----矩陣左除

\----矩陣右除

^----矩陣冪矩陣的四則運(yùn)算與冪運(yùn)算.*----內(nèi)容Matlab繪圖基礎(chǔ)3內(nèi)容Matlab繪圖基礎(chǔ)3Matlab繪圖基礎(chǔ)MATLAB提供了豐富的繪圖功能helpgraph2d可得到所有畫二維圖形的命令helpgraph3d可得到所有畫三維圖形的命令Matlab繪圖基礎(chǔ)MATLAB提供了豐富的繪圖功能helpplot(x,y,’屬性’)或者stem():繪圖figure:選擇圖像

figure(1);figure(2);…;figure(n)打開不同的圖形窗口,以便繪制不同的圖形gridon:在所畫出的圖形坐標(biāo)中加入柵格

gridoff:除去圖形坐標(biāo)中的柵格

holdon:當(dāng)前圖形保持不變,同時(shí)允許在這個(gè)坐標(biāo)內(nèi)繪制另外一個(gè)圖形holdoff:使新圖覆蓋舊的圖形Matlab繪圖基礎(chǔ)plot(x,y,’屬性’)或者stem():繪圖Matl舉例:

t=[0:pi/20:9*pi];

f=sin(t);

figure(1)

plot(t,f,'r:*')

gridonMatlab繪圖基礎(chǔ)舉例:Matlab繪圖基礎(chǔ)設(shè)定對(duì)數(shù)坐標(biāo)Matlab繪圖基礎(chǔ)semilogx:x軸為對(duì)數(shù)坐標(biāo),y軸為線性坐標(biāo)semilogy:y軸為對(duì)數(shù)坐標(biāo),x軸為線性坐標(biāo)設(shè)定軸的范圍axis([xminxmaxyminymax])axis(‘equal’):將x坐標(biāo)軸和y坐標(biāo)軸的單位刻度調(diào)整為一樣設(shè)定對(duì)數(shù)坐標(biāo)Matlab繪圖基礎(chǔ)semilogx:x軸為對(duì)數(shù)文字標(biāo)示Matlab繪圖基礎(chǔ)text(x,y,’字符串’)在圖形的指定坐標(biāo)位置(x,y)處,標(biāo)示單引號(hào)括起來的字符串gtext(‘字符串’)利用鼠標(biāo)在圖形的某一位置標(biāo)示字符串title(‘字符串’)在所畫圖形的最上端顯示說明該圖形標(biāo)題的字符串xlabel(‘字符串’),ylabel(‘字符串’)設(shè)置x,y坐標(biāo)軸的名稱。legend(‘字符串1’,‘字符串’,…,‘字符串n’)在屏幕上開啟一個(gè)小視窗,然后依據(jù)繪圖命令的先后用對(duì)應(yīng)的字符串區(qū)分圖形上的線文字標(biāo)示Matlab繪圖基礎(chǔ)text(x,y,’字符串’)t=[0:pi/20:5*pi];f=sin(t)figure(1)subplot(121)plot(t,f)gridonsubplot(122)plot(t,-f)gridonMatlab繪圖基礎(chǔ)subplot(mnk):分割圖形顯示窗口m:上下分割個(gè)數(shù),n:左右分割個(gè)數(shù),k:子圖編號(hào)t=[0:pi/20:5*pi];Matlab繪圖基礎(chǔ)sub內(nèi)容Matlab與數(shù)字通信仿真4內(nèi)容Matlab與數(shù)字通信仿真4Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真產(chǎn)生隨機(jī)數(shù)randsrc:產(chǎn)生給定符號(hào)集合的隨機(jī)數(shù)randn:產(chǎn)生正態(tài)分布的隨機(jī)數(shù)randint:產(chǎn)生均勻分布的隨機(jī)整數(shù)

舉例:產(chǎn)生0、1分布的隨機(jī)序列

randsrc(1,N,[0,1;0.5,0.5])randint(1,N)Matlab與數(shù)字通信仿真產(chǎn)生隨機(jī)數(shù)randsrc:產(chǎn)生給定Matlab與數(shù)字通信仿真產(chǎn)生隨機(jī)數(shù)Matlab與數(shù)字通信仿真產(chǎn)生隨機(jī)數(shù)Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真數(shù)字調(diào)制qammodqamdemodgenqammodgenqamdemodpammod,pamdemod建議自己編寫!

舉例:進(jìn)行QPSK調(diào)制

輸入2比特符號(hào)I路Q路00011011-11113-1-11021-1const=[1+j,-1+j,1-j,-1-j];y=genqammod(x,const);Matlab與數(shù)字通信仿真數(shù)字調(diào)制qammod舉例:進(jìn)行Q數(shù)字調(diào)制Matlab與數(shù)字通信仿真數(shù)字調(diào)制Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真插值upsample建議自己編寫!

舉例:進(jìn)行8倍上采樣

N=8;y=upsample(x,N);

Matlab與數(shù)字通信仿真插值upsample舉例:進(jìn)行8Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真Matlab與數(shù)字通信仿真波形成型y=rcosflt(x,Fd,Fs,type_flag,r,delay)filter=rcosine(Fd,Fs,type_flag,r,delay)y=conv(x,filter)建議自己編寫!Matlab與數(shù)字通信仿真波形成型y=rcosflt(xMatlab與數(shù)字通信仿真波形成型Matlab與數(shù)字通信仿真波形成型給大家的建議自己去編寫課程相關(guān)的函數(shù):養(yǎng)成好的習(xí)慣:變量、函數(shù)的命名有意義,加入注釋(%),增強(qiáng)可讀性.m文件(主程序)開頭先把環(huán)境打掃干凈(clc;clear)!注意在子程序中不要用clear盡量使用矩陣運(yùn)算程序盡量模塊化,即采用主程序調(diào)用子程序參數(shù)值最好集中放在程序的開始部分,以便維護(hù)給大家的建議自己去編寫課程相關(guān)的函數(shù):ThankYouforyourattention!ThankYouforyourattention!通信系統(tǒng)仿真講授人:肖湘Email:xiaoxiang1806@163.com

通信系統(tǒng)仿真講授人:肖湘相關(guān)書籍《Matlab/Simulink通信系統(tǒng)建模與仿真實(shí)例分析》邵玉斌,清華大學(xué)出版社《基于Matlab的通信系統(tǒng)仿真》趙靜等,北京航空航天大學(xué)出版社《Matlab及在電子信息類課程中的應(yīng)用》唐向宏等,電子工業(yè)出版社《MATLAB基礎(chǔ)教程》薛山,清華大學(xué)出版社相關(guān)書籍《Matlab/Simulink通信系統(tǒng)建模與仿真實(shí)教學(xué)目標(biāo)了解通信系統(tǒng)建模仿真思想與方法掌握Matlab語言的基本操作學(xué)會(huì)使用Simulink進(jìn)行建模與仿真教學(xué)目標(biāo)了解通信系統(tǒng)建模仿真思想與方法對(duì)學(xué)習(xí)者的要求三個(gè)重要環(huán)節(jié)課前預(yù)習(xí)課上認(rèn)真聽講,思考課后實(shí)踐、消化經(jīng)常進(jìn)行階段應(yīng)用掌握知識(shí)的竅訣:反復(fù)上機(jī)實(shí)踐對(duì)學(xué)習(xí)者的要求三個(gè)重要環(huán)節(jié)其他約定不得遲到、早退、缺課,有事請(qǐng)假上課時(shí)請(qǐng)關(guān)閉手機(jī)或者調(diào)靜音遲交的作業(yè)恕不修改,只作記錄最終成績(jī)=期末考試成績(jī)+平時(shí)成績(jī)其他約定內(nèi)容通信系統(tǒng)建模與仿真1Matlab簡(jiǎn)介2Matlab語言基礎(chǔ)3內(nèi)容通信系統(tǒng)建模與仿真1Matlab簡(jiǎn)介2Matlab語言基內(nèi)容通信系統(tǒng)建模仿真1分類概念、方法工具內(nèi)容通信系統(tǒng)建模仿真1分類概念、方法工具1.1通信仿真的概念在對(duì)原有的通信系統(tǒng)做出改進(jìn)或建立一個(gè)新系統(tǒng)之前,通常需要對(duì)這個(gè)系統(tǒng)進(jìn)行建模和仿真,通過仿真結(jié)果衡量方案的可行性,從中選擇最合理的系統(tǒng)配置和參數(shù)設(shè)置,然后再應(yīng)用于實(shí)際系統(tǒng)中。這個(gè)過程就是通信仿真。1.1通信仿真的概念在對(duì)原有的通信系統(tǒng)做出改進(jìn)或建立一個(gè)新1.1通信仿真的概念隨著數(shù)字通信技術(shù)的發(fā)展,特別是與計(jì)算機(jī)技術(shù)的相互融合,通信系統(tǒng)和信號(hào)處理技術(shù)變得越來越復(fù)雜。強(qiáng)大的計(jì)算機(jī)輔助分析與設(shè)計(jì)工具和系統(tǒng)仿真方法作為將新的技術(shù)理論成果轉(zhuǎn)換為實(shí)際產(chǎn)品的高效而低成本途徑越來越受到業(yè)界的青睞。1.1通信仿真的概念隨著數(shù)字通信技術(shù)的發(fā)展,特別是與計(jì)算機(jī)1.1通信仿真的概念建模和仿真的作用和意義:利用系統(tǒng)建模和軟件仿真技術(shù),我們幾乎可以對(duì)所有的設(shè)計(jì)細(xì)節(jié)進(jìn)行分層次的建模和評(píng)估。通過仿真技術(shù)和方法,我們可以有效地將數(shù)學(xué)分析模型和經(jīng)驗(yàn)?zāi)P徒Y(jié)合起來。利用系統(tǒng)仿真方法,可以迅速構(gòu)建一個(gè)通信系統(tǒng)模型,提供一個(gè)便捷,高效和精確的評(píng)估平臺(tái)。1.1通信仿真的概念1.1通信仿真的概念系統(tǒng)仿真的數(shù)學(xué)基礎(chǔ)定義:仿真也稱為模擬,在本質(zhì)上,系統(tǒng)的計(jì)算機(jī)仿真就是根據(jù)物理系統(tǒng)的運(yùn)行原理建立相應(yīng)的數(shù)學(xué)描述并進(jìn)行計(jì)算機(jī)數(shù)值求解的過程。建模和仿真過程建立系統(tǒng)數(shù)學(xué)模型或仿真模型編寫系統(tǒng)的計(jì)算機(jī)仿真模型求解分析關(guān)鍵問題求解算法算法的改進(jìn)簡(jiǎn)化系統(tǒng)模型

1.1通信仿真的概念系統(tǒng)仿真的數(shù)學(xué)基礎(chǔ)1.1通信仿真的概念計(jì)算機(jī)仿真的一般過程建立計(jì)算機(jī)程序(層次化的)執(zhí)行仿真對(duì)仿真模型和仿真結(jié)果的檢驗(yàn)仿真驗(yàn)證包含以下方面內(nèi)容:對(duì)仿真數(shù)學(xué)模型有效性的驗(yàn)證。對(duì)計(jì)算機(jī)仿真模型(程序)的驗(yàn)證。對(duì)仿真算法的驗(yàn)證。仿真結(jié)果置信度分析。1.1通信仿真的概念計(jì)算機(jī)仿真的一般過程1.2通信仿真的基本方法將給定問題映射為仿真模型。把整個(gè)問題分解為一組子問題。選擇合適的建模、仿真和估計(jì)方法,并將其用于解決這些子問題。綜合各子問題的解決結(jié)果以提供對(duì)整個(gè)問題的解決方案。1.2通信仿真的基本方法將給定問題映射為仿真模型。1.3通信系統(tǒng)模型的分類按照系統(tǒng)層次分類按照信號(hào)類型分類按照系統(tǒng)特征分類1.3通信系統(tǒng)模型的分類按照系統(tǒng)層次分類1.3通信系統(tǒng)模型的分類按照系統(tǒng)層次分類通信系統(tǒng)的最高層次描述是通信網(wǎng)絡(luò)層次在網(wǎng)絡(luò)層次之下,是對(duì)通信節(jié)點(diǎn)和鏈路以及傳輸信號(hào)的具體化,稱為鏈路層次模型。電路實(shí)現(xiàn)層次的模型。1.3通信系統(tǒng)模型的分類按照系統(tǒng)層次分類1.3通信系統(tǒng)模型的分類按照信號(hào)類型分類根據(jù)函數(shù)類型的不同可以將信號(hào)劃分為模擬信號(hào),數(shù)字信號(hào),時(shí)間連續(xù)信號(hào),時(shí)間離散信號(hào)等。按照鏈路層通信系統(tǒng)仿真模型中流通的信號(hào)類型不同,可以將其劃分為連續(xù)時(shí)間系統(tǒng),離散時(shí)間系統(tǒng),模擬系統(tǒng),數(shù)字系統(tǒng)以及混合系統(tǒng)等。

1.3通信系統(tǒng)模型的分類按照信號(hào)類型分類1.3通信系統(tǒng)模型的分類按照系統(tǒng)特征分類恒參系統(tǒng)變參系統(tǒng)或時(shí)變系統(tǒng)確定系統(tǒng)隨機(jī)系統(tǒng)無記憶系統(tǒng)有記憶系統(tǒng)或動(dòng)態(tài)系統(tǒng)(系統(tǒng)的當(dāng)前輸出與輸入信號(hào)的歷史值有關(guān))1.3通信系統(tǒng)模型的分類按照系統(tǒng)特征分類1.4通信系統(tǒng)仿真的優(yōu)點(diǎn)和局限性優(yōu)點(diǎn):

難以使用解析法求解的情況下系統(tǒng)仿真手段就成為了一個(gè)極為有效的工具。利用仿真技術(shù)往往可以繞過艱深的甚至是不可能的數(shù)學(xué)解析求解,而較為輕易地獲得問題的數(shù)值結(jié)果。在對(duì)現(xiàn)代通信系統(tǒng)新協(xié)議、新算法和新的體系結(jié)構(gòu)的設(shè)計(jì)和性能評(píng)估中,只能通過仿真來檢驗(yàn)所考察的對(duì)象,以驗(yàn)證有關(guān)的假設(shè),評(píng)價(jià)算法的性能。仿真技術(shù)也是理解原理,驗(yàn)證理論,進(jìn)行探索和發(fā)現(xiàn)的有效途徑。1.4通信系統(tǒng)仿真的優(yōu)點(diǎn)和局限性優(yōu)點(diǎn):1.4通信系統(tǒng)仿真的優(yōu)點(diǎn)和局限性缺點(diǎn)模型的建立、驗(yàn)證和確認(rèn)比較困難。對(duì)實(shí)際系統(tǒng)的建模的原理和方法不當(dāng)使得與實(shí)際系統(tǒng)的差別較大。建模過程中忽略了部分次要因素,使得模型仿真結(jié)果偏離實(shí)際系統(tǒng)。仿真試驗(yàn)時(shí)間太短,給結(jié)果分析帶來較大誤差。隨機(jī)變量的概率分布類型或參數(shù)選取不當(dāng)。仿真輸出結(jié)果的統(tǒng)計(jì)誤差。計(jì)算機(jī)字長(zhǎng)、編碼和應(yīng)用算法也會(huì)影響仿真結(jié)果。1.4通信系統(tǒng)仿真的優(yōu)點(diǎn)和局限性缺點(diǎn)1.5系統(tǒng)建模仿真方法與仿真工具系統(tǒng)建模仿真方法與仿真工具的關(guān)系仿真工具是實(shí)現(xiàn)建模和數(shù)值求解過程的軟件和硬件平臺(tái)。我們所希望的現(xiàn)代仿真平臺(tái)和編程語言環(huán)境具有如下基本特征:簡(jiǎn)便高效的仿真描述語言。層次化和模塊化建模的能力??梢暬慕7绞?。軟件硬件協(xié)同仿真的能力。交互性和圖形環(huán)境??缙脚_(tái)和可移植性。1.5系統(tǒng)建模仿真方法與仿真工具系統(tǒng)建模仿真方法與仿真工具1.5系統(tǒng)建模仿真方法與仿真工具仿真環(huán)境的構(gòu)成和要求模塊庫(kù)。模塊編輯和配置器。仿真管理器。后處理部分。文件和數(shù)據(jù)庫(kù)管理。幫助文檔。1.5系統(tǒng)建模仿真方法與仿真工具仿真環(huán)境的構(gòu)成和要求1.5系統(tǒng)建模仿真方法與仿真工具常用仿真工具的選擇網(wǎng)絡(luò)層次的建模:OPNET,NS鏈路層次的仿真:Matlab/Simulink,Systemview,Scilab以及C,C++電路實(shí)現(xiàn)層次的仿真:Spice,VHDL本課程以Matlab/Simulink作為建模和仿真平臺(tái)1.5系統(tǒng)建模仿真方法與仿真工具常用仿真工具的選擇作業(yè)安裝MATLAB系統(tǒng)作業(yè)安裝MATLAB系統(tǒng)內(nèi)容Matlab簡(jiǎn)介2Matlab窗口環(huán)境Matlab是什么??jī)?nèi)容Matlab簡(jiǎn)介2Matlab窗口環(huán)境Matlab是什2.1Matlab是什么?一、概述

MATLAB的名稱源自MatrixLaboratory,它的首創(chuàng)者是在數(shù)值線性代數(shù)領(lǐng)域頗有影響的CleveMoler博士,他也是生產(chǎn)經(jīng)營(yíng)MATLAB產(chǎn)品的美國(guó)Mathworks公司的創(chuàng)始人之一。

MATLAB是一種科學(xué)計(jì)算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而使其被廣泛地應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作中。2.1Matlab是什么?一、概述MATLAB產(chǎn)品族可以用來進(jìn)行如下工作:數(shù)值分析;數(shù)值和符號(hào)計(jì)算;工程與科學(xué)繪圖;控制系統(tǒng)的設(shè)計(jì)與仿真;數(shù)字圖像處理;數(shù)字信號(hào)處理;通訊系統(tǒng)設(shè)計(jì)與仿真;財(cái)務(wù)與金融工程等。2.1MATLAB簡(jiǎn)介MATLAB產(chǎn)品族可以用來進(jìn)行如下工作:2.1MATL二、MATLAB仿真的意義

當(dāng)在實(shí)際電子通信系統(tǒng)中進(jìn)行試驗(yàn)研究比較困難或者根本無法實(shí)現(xiàn)時(shí),仿真技術(shù)就成為必然的選擇。2.1MATLAB簡(jiǎn)介二、MATLAB仿真的意義2.1MATLAB簡(jiǎn)介MATLAB與其它計(jì)算機(jī)高級(jí)語言如C,C++等相比,MATLAB語言編程要簡(jiǎn)潔得多,編程語句更加接近數(shù)學(xué)描述,可讀性好,其強(qiáng)大的圖形功能和可視化數(shù)據(jù)處理能力也是其它高級(jí)語言望塵莫及的。對(duì)于具有任何一門高級(jí)語言基礎(chǔ)的學(xué)生來說,學(xué)習(xí)MATLAB十分容易。2.1MATLAB簡(jiǎn)介MATLAB與其它計(jì)算機(jī)高級(jí)語言如MATLAB使得人們擺脫了常規(guī)計(jì)算機(jī)編程的繁瑣,讓人們能夠?qū)⒋蟛糠志ν度氲窖芯繂栴}的數(shù)學(xué)建模上??梢哉f,應(yīng)用MATLAB這一數(shù)學(xué)計(jì)算和系統(tǒng)仿真的強(qiáng)大工具,可以使科學(xué)研究的效率得以成百倍的提高。2.1MATLAB簡(jiǎn)介MATLAB使得人們擺脫了常規(guī)計(jì)算二、MATLAB特點(diǎn)跨平臺(tái)的數(shù)學(xué)語言超高級(jí)語言語法簡(jiǎn)單,編程風(fēng)格接近數(shù)學(xué)風(fēng)格強(qiáng)大的繪圖功能計(jì)算精度很高擁有學(xué)科眾多,領(lǐng)域廣泛的工具箱可移植2.2MATLAB特點(diǎn)二、MATLAB特點(diǎn)2.2MATLAB特點(diǎn)三、MATLAB入門操作命令窗口CommandWindow

歷史命令窗口CommandHistory

當(dāng)前目錄窗口CurrentDirectory

工作空間窗口Workspace2.3MATLAB界面三、MATLAB入門操作2.3MATLAB界面通信系統(tǒng)仿真(第一次課)資料課件通信系統(tǒng)仿真(第一次課)資料課件1.CommandWindow

可顯示除圖像以外的所有結(jié)果最簡(jiǎn)單的計(jì)算器使用法準(zhǔn)備階段2.3MATLAB界面1.CommandWindow2.3MATLABMATLAB語句形式變量=表達(dá)式;通過等號(hào)將表達(dá)式的值賦予變量。當(dāng)鍵入回車鍵時(shí),該語句被執(zhí)行。語句執(zhí)行之后,窗口自動(dòng)顯示出語句執(zhí)行的結(jié)果。如果不希望結(jié)果回顯,只需在語句后加分號(hào)即可。2.3MATLAB界面MATLAB語句形式2.3MATLAB界面命令行編輯器方向鍵和控制鍵可以編輯修改已輸入的命令↑:回調(diào)上一行命令↓:回調(diào)下一行命令多行命令(…):如果命令語句超過一行或者太長(zhǎng)希望分行輸入,可以使用多行命令繼續(xù)輸入

2.3MATLAB界面例如:S=1-12+13+4+…9-4-18;命令行編輯器2.3MATLAB界面例如:復(fù)數(shù)和復(fù)數(shù)矩陣

MATLAB把復(fù)數(shù)作為一個(gè)整體處理。虛數(shù)單位用預(yù)定義變量i或j表示;復(fù)數(shù)z=a+bi=直角坐標(biāo)是和極坐標(biāo)系之間轉(zhuǎn)換的MATLAB指令:

real(z)imag(z)abs(z)angle(z)MATLAB的矩陣元素允許是復(fù)數(shù)、復(fù)變量和由它們組成的表達(dá)式2.3MATLAB界面復(fù)數(shù)和復(fù)數(shù)矩陣2.3MATLAB界面指令窗的常用控制指令

clc清除指令窗中顯示內(nèi)容

clear清除工作空間中保存的變量

exit關(guān)閉/退出MATLABquit關(guān)閉/退出MATLAB2.3MATLAB界面指令窗的常用控制指令2.3MATLAB界面2.CommandHistoryWindow

記錄著用戶在指令窗中所輸入過的所有指令行。

2.3MATLAB界面2.CommandHistoryWindow23.CurrentDirectoryWindow

組織、管理和使用所有matlab文件和非matlab文件。2.3MATLAB界面3.CurrentDirectoryWindow4.WorkspaceWindow

內(nèi)存變量的查閱、保存和編輯。(who,whos)2.3MATLAB界面4.WorkspaceWindow2.3MAT內(nèi)容Matlab語言基礎(chǔ)3基本運(yùn)算符變量繪圖常用函數(shù)基本語句內(nèi)容Matlab語言基礎(chǔ)3基本運(yùn)算符變量繪圖常用函數(shù)3.1Matlab語言基礎(chǔ):變量變量的命名變量無需定義即可使用變量的名字必須以字母開頭,之后可以是任意字母、數(shù)字或下劃線(不能超過31個(gè)字符)變量名稱區(qū)分字母的大小寫不能包含空格、標(biāo)點(diǎn)變量操作在命令窗口中,同時(shí)存儲(chǔ)著輸入的命令和創(chuàng)建的所有變量值,它們可以在任何需要的時(shí)候被調(diào)用采用clear將清除內(nèi)存內(nèi)的所有變量采用“clear變量名”清除指定變量3.1Matlab語言基礎(chǔ):變量變量的命名變量操作3.1.1矩陣矩陣的賦值要求整個(gè)矩陣的值必須放在方括號(hào)中;同一行中各元素之間以逗號(hào)“,”或者空格分開;不同行的元素以分號(hào)“;”隔開。3.1.1矩陣矩陣的賦值要求3.1.1矩陣操作結(jié)果?a=[1,2,3,4,5,6]b=[1,2,3;4,5,6]c=[1,2,3;4,5,6];[1,2,3;4,5,6]3.1.1矩陣操作結(jié)果?3.1.2變量元素的標(biāo)注變量的元素用圓括號(hào)“()”中的數(shù)字來注明a=[1,2,3;4,5,6;7,8,9];a(2,2)a(4,4)=5.6size(a)3.1.2變量元素的標(biāo)注變量的元素用圓括號(hào)“()”中的數(shù)字來3.1.3賦值技巧在MATLAB中,為變量的賦值提供一些簡(jiǎn)便快捷的方法冒號(hào):產(chǎn)生遞進(jìn)向量t=i:j:k(t=1:2:10t=1:10)利用冒號(hào)給全行賦值a(5,:)=[5,4,3,2]利用行,列標(biāo)注構(gòu)成新的矩陣b=a([2,4],[1,3])a([2,4,5],:)=[]3.1.3賦值技巧在MATLAB中,為變量的賦值提供一些簡(jiǎn)3.1.4特殊的矩陣和數(shù)組除了采用直接輸入方法對(duì)變量賦值外,也可利用MATLAB的內(nèi)部函數(shù)來對(duì)變量賦值,利用這些函數(shù)來創(chuàng)建和生成特殊矩陣或數(shù)組。在MATLAB中提供了許多生成矩陣的函數(shù)命令,這些函數(shù)命令存放在“matlab/elmat”目錄下。3.1.4特殊的矩陣和數(shù)組除了采用直接輸入方法對(duì)變量賦值外,3.1.4特殊矩陣和數(shù)組1單位矩陣函數(shù)

產(chǎn)生在對(duì)角線元素為1,其他元素為0的單位矩陣。a=eye(n)a=eye(m,n)a=eye(size(b))3.1.4特殊矩陣和數(shù)組1單位矩陣函數(shù)3.1.4特殊矩陣和數(shù)組2zero函數(shù)a=zero(n)a=zero(m,n)a=zero(size(b))ones函數(shù)a=ones(n)a=ones(m,n)a=ones(size(b))3.1.4特殊矩陣和數(shù)組2zero函數(shù)ones函數(shù)3.1.4特殊矩陣和數(shù)組3rand及randn函數(shù)X=rand(m,n)產(chǎn)生在(0,1)之間均勻分布的隨機(jī)一維數(shù)組或行矢量X=randn(m,n)產(chǎn)生均值為0,方差為1的正態(tài)分布的隨機(jī)一維數(shù)組或行矢量

3.1.4特殊矩陣和數(shù)組3rand及randn函數(shù)3.1.5內(nèi)部特殊變量和常數(shù)ans:臨時(shí)變量realmax:最大正浮點(diǎn)數(shù),任何大于該值的運(yùn)算都會(huì)溢出。realmin:最小正浮點(diǎn)數(shù),任何小于該值的運(yùn)算都會(huì)溢出。pi:常數(shù),表示圓周率。Inf:常數(shù),表示正無窮大。i/j:虛數(shù)單位,表示復(fù)數(shù)虛部單位。NaN:表示非數(shù)值,如Inf-Inf,0/0

3.1.5內(nèi)部特殊變量和常數(shù)ans:臨時(shí)變量3.1.6復(fù)數(shù)的賦值方法可將矩陣元逐個(gè)賦予復(fù)數(shù)z=[1+2i,3+4i,5+6i,7+8i]將矩陣的實(shí)部和虛部分別賦值z(mì)=[1,3,5,7]+[2,4,6,8]*i3.1.6復(fù)數(shù)的賦值方法可將矩陣元逐個(gè)賦予復(fù)數(shù)將矩陣的實(shí)部和常用的數(shù)學(xué)運(yùn)算符運(yùn)算式中,通常不需要考慮空格多條命令可以放在一行中同行中各條命令可用分號(hào)隔開,表示禁止結(jié)果顯示同行中各條命令也可用逗號(hào)隔開,表示需要顯示結(jié)果+----加-----減*----乘

/----左除

\----右除

^----冪3.2Matlab語言基礎(chǔ):基本運(yùn)算符常用的數(shù)學(xué)運(yùn)算符+----加常用的關(guān)系運(yùn)算符

>----大于

>=----大于等于

<----小于

<=

----小于等于

==----等于

~=----不等于運(yùn)算法則若關(guān)系式成立,結(jié)果為1若關(guān)系式不成立,結(jié)果為03.2Matlab語言基礎(chǔ):基本運(yùn)算符常用的關(guān)系運(yùn)算符>----大計(jì)算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計(jì)算a=[1,2,3;4,5,6]b=[2,1常用的邏輯運(yùn)算符

&----與

|----或

!----非運(yùn)算法則若邏輯真,結(jié)果為1若邏輯假,結(jié)果為03.2Matlab語言基礎(chǔ):基本運(yùn)算符常用的邏輯運(yùn)算符&----與其他常見符號(hào)3.2Matlab語言基礎(chǔ):基本運(yùn)算符

=

----變量賦值%----注釋符

‘----共軛轉(zhuǎn)置符

.’----轉(zhuǎn)置符:----冒號(hào)運(yùn)算符舉例:

n:s:m產(chǎn)生n~m、步長(zhǎng)為s的序列其他常見符號(hào)3.2Matlab語言基礎(chǔ):基本運(yùn)算符循環(huán)語句for-end循環(huán):循環(huán)次數(shù)事先確定時(shí)使用while-end循環(huán):循環(huán)次數(shù)不能事先確定時(shí)使用3.3Matlab語言基礎(chǔ):基本語句fori=n:s:m

語句體ends為步長(zhǎng)可以為正數(shù),負(fù)數(shù)或小數(shù)while表達(dá)式語句體end表達(dá)式為真,執(zhí)行語句體表達(dá)式為假,終止該循環(huán)循環(huán)語句3.3Matlab語言基礎(chǔ):基本語句fori=分支語句if-elseif-else-end:具有優(yōu)先級(jí)switch-case-otherwise-end:無優(yōu)先級(jí)3.3Matlab語言基礎(chǔ):基本語句if表達(dá)式1

語句體1elseif表達(dá)式2

語句體2………..else

語句體elseendswitch變量

case變量值1語句體1case變量值2語句體2……otherwise

語句體otherwiseend分支語句3.3Matlab語言基礎(chǔ):基本語句if表達(dá)常用的數(shù)學(xué)函數(shù)abs----求絕對(duì)值sin----正弦cos----余弦tan----正切asin----反正弦acos----反余弦atan----反正切sqrt----求平方根exp----eximag----求虛部real----求實(shí)部sign----求符號(hào)log----求自然對(duì)數(shù)log10----以10為底的對(duì)數(shù)conj----共軛復(fù)數(shù)Matlab語言基礎(chǔ):常用函數(shù)常用的數(shù)學(xué)函數(shù)abs----求絕對(duì)值eMatlab語言基礎(chǔ):矩陣矩陣的生成例如:創(chuàng)建一個(gè)3×3矩陣輸入:a=[123;456;789]

或者a=[123456789]

屏幕輸出:a=123456789矩陣的元素直接排列在方括號(hào)內(nèi)行與行之間用分號(hào)隔開每行內(nèi)的元素使用空格或逗號(hào)隔開大的矩陣可以用分行輸入,回車鍵代表分號(hào)Matlab語言基礎(chǔ):矩陣矩陣的生成例如:創(chuàng)建一個(gè)3×3矩矩陣的生成舉例:輸入a=[1:2:10]屏幕輸出:a=13579輸入a=[10:-2:1]屏幕輸出:a=108642用線性等間距生成向量矩陣start:step:end

start:起始值

step:步長(zhǎng)(默認(rèn)為1,可為負(fù)值)

end:終止值Matlab語言基礎(chǔ):矩陣矩陣的生成舉例:用線性等間距生成向量矩陣sta一些常用的特殊矩陣eye(2,3)ans=100010eye(2)ans=1001V=[572];A=diag(V)A=500070002Matlab語言基礎(chǔ):矩陣單位矩陣:eye(m,n);eye(m)零矩陣:zeros(m,n);zeros(m)一矩陣:ones(m,n);ones(m)對(duì)角矩陣:對(duì)角元素向量V=[a1,a2,…,an]A=diag(V)隨機(jī)矩陣:rand(m,n)產(chǎn)生一個(gè)m×n的均勻分布的隨機(jī)矩陣zeros(2,3)ans=000000zeros(2)ans=0000ones(2,3)ans=111111ones(2)ans=1111rand(2,2)ans=0.41540.87440.01500.9708一些常用的特殊矩陣eye(2,3)eye(2)V=[57矩陣元素的訪問通過確認(rèn)矩陣下標(biāo),可以對(duì)矩陣的子塊進(jìn)行插入、提取和重排注意:MATLAB中矩陣下標(biāo)從1開始,而不是從0開始Matlab語言基礎(chǔ):矩陣

A(m,n):提取第m行,第n列元素A(:,n):提取第n列元素A(m,:):提取第m行元素A(m1:m2,n1:n2):提取m1~m2行和n1~n2列的所有元素A(:):得到一個(gè)長(zhǎng)列矢量,其元素按矩陣的列進(jìn)行排列A=[123456];A(2,1)ans=4A(2,:)ans=456A(:,2)ans=25A(1:2,2:3)ans=2356A(:)ans=142536矩陣元素的訪問Matlab語言基礎(chǔ):矩陣A(矩陣的擴(kuò)展與消除矩陣擴(kuò)展:如果在原矩陣中一個(gè)不存在的地址位置上設(shè)定一個(gè)數(shù)(賦值),則該矩陣會(huì)自動(dòng)擴(kuò)展行列數(shù),并在該位置上添加這個(gè)數(shù),而且在其他沒有指定的位置補(bǔ)零。消除子塊:如果將矩陣的子塊賦值為空矩陣[],則相當(dāng)于消除了相應(yīng)的矩陣子塊。Matlab語言基礎(chǔ):矩陣A=[123456];A(3,2)=7A=[123456070]A(2,:)=[]A=[123]矩陣的擴(kuò)展與消除Matlab語言基礎(chǔ):矩陣A=[12矩陣的大小Matlab語言基礎(chǔ):矩陣[m,n]=size(A,x):返回矩陣的行列數(shù)m與n當(dāng)x=1,則只返回行數(shù)m當(dāng)x=2,則只返回列數(shù)nlength(A)=max(size(A)):返回行數(shù)或列數(shù)的最大值A(chǔ)=[123456];size(A)ans=23size(A,1)ans=2size(A,2)ans=3矩陣的大小Matlab語言基礎(chǔ):矩陣[m,n]=size(矩陣的運(yùn)算舉例A=[1+i2-2i;-3+3i-4-4i]A=1+i2-2i-3+3i-4-4iB=A’B=1-i-3-3i2+2i-4+4iC=A.’C=1+i-3+3i2-2i-4-4iMatlab語言基礎(chǔ):矩陣轉(zhuǎn)置:轉(zhuǎn)置符號(hào)有兩種形式

A’----共軛轉(zhuǎn)置A.’----普通轉(zhuǎn)置求逆:inv(A)

求行列式:det(A)矩陣的運(yùn)算舉例B=A’C=A.’M

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論