數(shù)字通信系統(tǒng)的MATLAB設計與仿真本科畢業(yè)設計

上傳人:仙*** 文檔編號:29757957 上傳時間:2021-10-08 格式:DOC 頁數(shù):70 大?。?38KB
收藏 版權申訴 舉報 下載
數(shù)字通信系統(tǒng)的MATLAB設計與仿真本科畢業(yè)設計_第1頁
第1頁 / 共70頁
數(shù)字通信系統(tǒng)的MATLAB設計與仿真本科畢業(yè)設計_第2頁
第2頁 / 共70頁
數(shù)字通信系統(tǒng)的MATLAB設計與仿真本科畢業(yè)設計_第3頁
第3頁 / 共70頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)字通信系統(tǒng)的MATLAB設計與仿真本科畢業(yè)設計》由會員分享,可在線閱讀,更多相關《數(shù)字通信系統(tǒng)的MATLAB設計與仿真本科畢業(yè)設計(70頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、湖南工程學院畢業(yè)設計(論文) 畢 業(yè) 設 計 題 目: 數(shù)字通信系統(tǒng)的MATLAB設計與仿真 畢業(yè)設計(論文)任務書 題目: 數(shù)字通信系統(tǒng)的MATLAB設計與仿真 姓名 系 計算科學與技術 專業(yè) 通信工程 班級 040

2、2 學號 200403040204 指導老師 職稱 講師 教研室主任 一、 基本任務及要求: 實際的通信系統(tǒng)是一個功能結構相當復雜的系統(tǒng),對通信系統(tǒng)作出的任何改變都可能影響到整個系統(tǒng)的性能和工作效率。因此,在構建一個新的通信系統(tǒng)或改進原有通信系統(tǒng)前,必須要對通信系統(tǒng)進行建模和仿真,從仿真結果衡量設計方案的可行性,選擇最合理和高效的系統(tǒng)配置與參數(shù)設置,在應用到實際系統(tǒng)中??梢?,通信系統(tǒng)仿真在整個通信系統(tǒng)的構建中處于先導、驗證、重要的地位。通信系統(tǒng)仿真在一般分為3個步驟,即仿真建模、仿真

3、實驗、仿真分析。 基本任務: 1.熟悉并掌握數(shù)字通信系統(tǒng)結構; 2.搭建起數(shù)字通信的基帶、頻帶傳輸系統(tǒng),采用合適的信源編碼、信道編碼和數(shù)字調(diào)制技術,實現(xiàn)有效、正確的信息傳輸; 3

4、. 仿真分析,學會觀察仿真結果,并以此來調(diào)整系統(tǒng)參數(shù)或改變2中的所使用的各種通信技術。 基本要求:掌握數(shù)字通信系統(tǒng)結構及常用技術;熟悉仿真語言。 二、 進度安排及完成時間: 第1周: 老師講解課題,明確課題任務與要求,學習資料收集檢索方法并搜索收集所需中文資料。 第2周: 閱讀資料、書籍,學習所需知識,撰寫文獻綜述。 第3~5周

5、:畢業(yè)實習。 第6周: 完成畢業(yè)實習報告撰寫;建立畢業(yè)設計實驗環(huán)境;初步擬訂設計方案;準備開題報告。 第7周: 撰寫開題報告。 第8~13周:具體設計、調(diào)試、修改、實現(xiàn)。 第14~15周:撰寫畢業(yè)論文(說明書),完成畢業(yè)答辯資格審查。 第16周: 畢業(yè)答辯準備、畢業(yè)答辯。 61 目 錄 摘要 1 Abstract 2 前 言 3 第一章 MATLAB與通信仿真 4 1.1 MATLAB簡介 4 1.2 通信仿真 6 1.2.1 通信仿真的概念 6 1.2.2 通信仿真的基本步驟 7 1.2.3 通信系統(tǒng)仿真的重要作用 10 1.3 通信系統(tǒng)仿真問

6、題的提出、研究價值及研究現(xiàn)狀 10 1.3.1 通信系統(tǒng)仿真問題的提出 10 1.3.2 通信系統(tǒng)仿真問題的研究價值 10 1.3.3 通信系統(tǒng)仿真問題的研究現(xiàn)狀 11 1.4 本論文的主要研究內(nèi)容 11 第二章 simulink入門 13 2.1 simulink簡介 13 2.2 simulink的工作環(huán)境 14 2.2.1 simulink的模型庫 14 2.2.2 設計仿真模型 15 2.2.3 運行仿真 16 2.2.4 建立子系統(tǒng) 16 2.2.5 封裝子系統(tǒng) 18 2.3 S函數(shù)及其簡介 18 2.3.1 S函數(shù)工作原理 19 2.3.2 S函數(shù)基

7、本概念 20 第三章 通信系統(tǒng)信道和噪聲研究及其仿真 22 3.1 通信系統(tǒng)信道模型及其分類 22 3.1.1 恒參信道 22 3.1.2 隨參信道 23 3.2 通信系統(tǒng)中噪聲概述及高斯白噪聲 24 3.2.1 噪聲概述 24 3.2.2 高斯白噪聲 24 3.3 仿真系統(tǒng)設計――BFSK在三種傳輸信道中的傳輸性能分析 24 第四章 模擬信號的數(shù)字傳輸研究及其仿真 29 4.1 模擬信號的數(shù)字傳輸模型及抽樣定理 29 4.1.1 模擬信號的數(shù)字傳輸模型 29 4.1.2 抽樣定理 29 4.2 模擬信號的量化 30 4.2.1 均勻量化 30 4.2.2 非

8、均勻量化 30 4.3 脈沖編碼調(diào)制及差分脈沖編碼調(diào)制原理 31 4.3.1 脈沖編碼調(diào)制(PCM)原理 31 4.3.2 差分脈沖編碼調(diào)制(DPCM)原理 32 4.4 仿真系統(tǒng)設計 32 4.4.1 A律十三折與u律十五折量化誤差分析 32 第五章 通信系統(tǒng)信道編碼研究及其仿真 35 5.1 信道編碼概念 35 5.2 信道編碼分類 35 5.2.1 分組編碼 35 5.2.2 循環(huán)冗余碼 36 5.2.3 卷積編碼 36 5.3 仿真系統(tǒng)設計 37 5.3.1 RS編碼糾錯性能分析 37 5.3.2 CRC-16編碼檢錯性能分析 38 第六章 通信系統(tǒng)信號

9、調(diào)制研究及其仿真 41 6.1 信號調(diào)制的概念 41 6.2 信號調(diào)制 41 6.2.1 脈沖振幅調(diào)制(PAM) 41 6.2.2 正交振幅調(diào)制(QAM) 42 6.2.3 數(shù)字頻率調(diào)制 42 6.2.4 數(shù)字相位調(diào)制 43 6.3 仿真系統(tǒng)設計 44 6.3.1 PAM和QAM抗噪聲性能分析 44 6.3.2 QPSK在IS-95前向信道中的應用 46 6.3.3 DQPSK在USDC中的應用 47 6.3.4 OQPSK在IS-95反向信道中的應用 49 6.3.5 GMSK在GSM中的應用 50 小 結 53 參 考 文 獻 54 致 謝 55 附錄A

10、 56 數(shù)字通信系統(tǒng)的MATLAB設計與仿真 摘 要:現(xiàn)代社會發(fā)展要求通信功能越來越強,性能越來越高,構成越來越復雜;另一方面,要求通信系統(tǒng)技術研究和產(chǎn)品開發(fā)縮短周期,降低成本,提高水平。這樣尖銳對立的兩方面的要求,只有通過使用強大的計算機輔助分析設計技術和工具才能實現(xiàn)?,F(xiàn)代計算機科學技術快速發(fā)展,已經(jīng)研發(fā)出新一代的可視化仿真軟件。這些功能強大的仿真軟件,使得通信系統(tǒng)仿真的設計和分析過程變得相對直觀和便捷,由此也使得通信系統(tǒng)仿真技術得到了更快的發(fā)展。 本文首先介紹了通信系統(tǒng)仿真的基本內(nèi)容,包括通信系統(tǒng)仿真的一般步驟MATLAB中的一種可視化仿真工具Simulink以及S-函數(shù)的相關

11、概念。 從理論上對通信系統(tǒng)進行深入細致的研究是非常必要的。本文對通信系統(tǒng)中的一些重要環(huán)節(jié),包括信道、噪聲、模擬信號的數(shù)字化傳輸、信道編碼以及信號調(diào)制的原理、方法和過程進行了詳細的闡述。 理論知識是用來指導具體實踐的。本文在深刻理解通信系統(tǒng)理論的基礎上利用MATLAB強大的仿真功能,設計了許多具體的通信系統(tǒng)仿真模型。在仿真模型設計過程中,本文對模型設計的目的、具體的結構組成、仿真流程以及仿真結果都給出了具體詳實的分析和說明。 最后,本文對所做的研究工作進行了總結,并且提出了今后的工作和研究方向。 關鍵詞:MATLAB;數(shù)字通信;系統(tǒng)設計。

12、 Digital Communication System Design and Simulation MATLAB Abstract: The development of modern society requires communications system has more powerful function, higher performance and complicated structure. On the other hand,the research of technology and development of product shoul

13、d truncate cycle, cut costs and increase production levels. We can resolve the conflict by using the computer aided design technology and tools. The rapid development of computer science causes the successful research and development of new generation visual simulation software. The simulation softw

14、are is powerful which makes the process of design and analysis of communications system simulation more intuitional and convenient. Today, the communications system simulation is rapid developing. The paper firstly introduces the basic content of communications system simulation, which include

15、common steps of simulation, visual simulation tool called Simulink and the concept of S-function. It is necessary to research the theory of communications system intensively. The paper expands some important links of the communications system which include channel, noise, digital transmission o

16、f analog signal, channel encode and signal modulation. Theory aims to guide practice. On the base of deep comprehension of communications system theory, the paper designs many concrete simulation models In the process of models design, the paper analyses the intention, configuration, simulation

17、 links and simulation results. In the end, the paper summarizes main content of the research and some following study and research objects are suggested. Key Words: MATLAB, Digital Communication, System Design 前 言 在過去的幾十年里,通信和信號處理系統(tǒng)的復雜程度顯著地提高了。與此同時出現(xiàn)了一系列新的技術,如:用于數(shù)字信號處理的價格不高但速度很快的硬件、

18、光纖光學器件、集成光學設備和單片微波集成電路,這些對通信系統(tǒng)的實現(xiàn)均有重要影響。通信系統(tǒng)復雜度的提高使得用來分析和設計系統(tǒng)的時間和精力也相應提高了,然而在商用產(chǎn)品中引入新技術要求設計能做到短時、高效、省力,而這些要求只有通過使用強大的計算機輔助分析和設計工具才能實現(xiàn)。所以,通信系統(tǒng)仿真在通信系統(tǒng)工程設計中起著舉足輕重的作用。 雖然軟件實驗不像硬件實驗那樣讓人感到“真實”,但對于許多通信問題的研究來說的確非常有效。與硬件實驗相比,軟件實驗具有如下一些優(yōu)點: (1) 軟件實驗具有廣泛的適應性和極好的靈活性。在硬件實驗中改變系統(tǒng)參數(shù)也許意味著要重做硬件,而在軟件實驗中則是改一、兩個數(shù)據(jù),甚至只是

19、在屏幕上按幾下鼠標。 (2) 軟件實驗更有助于我們較為全面地研究通信系統(tǒng)。有許多問題,通過硬件實驗來研究可能非常困難,但在軟件實驗中卻易于解決。 (3)硬件實驗的精確度取決于元器件及工藝水平,軟件實驗的精度取決于CPU的運算速度或者說是程序的運算量。 (4) 軟件實驗建設開發(fā)周期短,成本低。 而且近年來,隨著計算機硬件性能的不斷提升和計算機軟件技術的飛速發(fā)展,利用計算機進行實驗系統(tǒng)仿真成為一種國際潮流。國內(nèi)也逐步開始了這一方面的工作,并正取得積極的成果。 第一章 MATLAB與通信仿真 1.1 MATLAB簡介 Matlab軟

20、件系列產(chǎn)品是一套高效強大的工程技術數(shù)值運算和系統(tǒng)仿真軟件,廣泛應用于當今的航空航天、汽車制造、半導體創(chuàng)造、電子通信、醫(yī)學研究、財經(jīng)研究和高等教育答領域,被譽為“巨人肩膀上的工具”,研發(fā)人員借助Matlab軟件能迅速測試設計構想,綜合評測系統(tǒng)性能,快速設計出更好的方案來確保更高技術的要求。同時,Matlab也是國家教委重點提倡的一種計算工具。綜合起來,Matlab有以下幾個特點: (1)友好的工作平臺和編程環(huán)境 Matlab由一系列工具組成。這些工具方便用戶使用Matlab的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括Matlab桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和

21、用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著Matlab的商業(yè)化以及軟件本身的不斷升級,Matlab的用戶界面也越來越精致,更加接近Windows的標準界面,人機交互性更強,操作更簡單。而且新版本的Matlab提供了完整的聯(lián)機查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過編譯就可以直接運行,而且能夠及時地報告出現(xiàn)的錯誤及進行出錯原因分析。 (2)簡單易用的程序語言 Matlab一個高級的距陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結構、輸入和輸出和面向對象編程特點。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個較大的復雜的應用

22、程序(M文件)后再一起運行。新版本的MATLAB語言是基于最為流行的C++語言基礎上的,因此語法特征與C++語言極為相似,而且更加簡單,更加符合科技人員對數(shù)學表達式的書寫格式。使之更利于非計算機專業(yè)的科技人員使用。而且這種語言可移植性好、可拓展性極強,這也是Matlab能夠深入到科學研究及工程計算各個領域的重要原因。 (3)強大的科學計算機數(shù)據(jù)處理能力 Matlab是一個包含大量計算算法的集合。其擁有600多個工程中要用到的數(shù)學運算函數(shù),可以方便的實現(xiàn)用戶所需的各種計算功能。函數(shù)中所使用的算法都是科研和工程計算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和容錯處理。在通常情況下,可以用它來代替底層

23、編程語言,如C和C++ 。在計算要求相同的情況下,使用Matlab的編程工作量會大大減少。MATLAB的這些函數(shù)集合包括從最簡單最基本的函數(shù)到諸如距陣,特征向量、快速傅立葉變換的復雜函數(shù)。函數(shù)所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉變換和數(shù)據(jù)的統(tǒng)計分析、工程中的優(yōu)化問題、稀疏矩陣運算、復數(shù)的各種運算、三角函數(shù)和其他初等數(shù)學運算、多維數(shù)組操作以及建模動態(tài)仿真等。 (4)出色的圖形處理功能 Matlab自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和距陣用圖形表現(xiàn)出來,并且可以對圖形進行標注和打印。高層次的作圖包括二維和三維的可視化

24、、圖象處理、動畫和表達式作圖??捎糜诳茖W計算和工程繪圖。新版本的Matlab對整個圖形處理功能作了很大的改進和完善,使他不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),Matlab同樣表現(xiàn)了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等,Matlab也有相應的功能函數(shù),保證了用戶不同層次的要求。另外新版本的Matlab還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。 (5)應用廣泛的模塊集合工具箱 Matl

25、ab對許多專門的領域都開發(fā)了功能強大的模塊集和工具箱。一般來說,他們都是由特定領域的專家開發(fā)的,用戶可以直接使用工具箱學習、應用和評估不同的方法而不需要自己編寫代碼。目前,Matlab已經(jīng)把工具箱延伸到了科學研究和工程應用的諸多領域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫接口、概率統(tǒng)計、樣條擬合、優(yōu)化算法、偏微分方程求解、神經(jīng)網(wǎng)絡、小波分析、信號處理、圖像處理、系統(tǒng)辨識、控制系統(tǒng)設計、LMI控制、魯棒控制、模型預測、模糊邏輯、金融分析、地圖工具、非線性控制設計、實時快速原型及半物理仿真、嵌入式系統(tǒng)開發(fā)、定點仿真、DSP與通訊、電力系統(tǒng)仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。 (6)實用的

26、程序接口和發(fā)布平臺 新版本的Matlab可以利用Matlab編譯器和C/C++數(shù)學庫和圖形庫,將自己的Matlab程序自動轉換為獨立于Matlab運行的C和C++代碼。允許用戶編寫可以和Matlab進行交互的C或C++語言程序。另外,Matlab網(wǎng)頁服務程序還容許在Web應用中使用自己的Matlab數(shù)學和圖形程序。Matlab的一個重要特色就是他有一套程序擴展系統(tǒng)和一組稱之為工具箱的特殊應用子程序。工具箱是Matlab函數(shù)的子程序庫,每一個工具箱都是為某一類學科專業(yè)和應用而定制的,主要包括信號處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡、模糊邏輯、小波分析和系統(tǒng)仿真等方面的應用。 (7)應用軟件開發(fā)(包括用戶

27、界面) 在開發(fā)環(huán)境中,使用戶更方便地控制多個文件和圖形窗口;在編程方面支持了函數(shù)嵌套,有條件中斷等;在圖形化方面,有了更強大的圖形標注和處理功能,包括對性對起連接注釋等;在輸入輸出方面,可以直接向Excel和HDF5。 1.2 通信仿真 仿真是衡量系統(tǒng)性能的工具,它通過仿真模型的仿真結果來推斷原系統(tǒng)的性能,從而為新系統(tǒng)的建立或原系統(tǒng)的改造提供可靠的參考。通過仿真,可以降低新系統(tǒng)失敗的可能性,消除系統(tǒng)中潛在的瓶頸,防止對系統(tǒng)中某些功能部件造成過量的負載,優(yōu)化系統(tǒng)的整體性能,因此,仿真是科學研究和工程建設中不可缺少的方法。 實際的通信系統(tǒng)是一個功能結構相當復雜的系統(tǒng),對這個系統(tǒng)做出的任何改

28、變(如改變某個參數(shù)的設置、改變系統(tǒng)的結構等)都可能影響到整個系統(tǒng)的性能和穩(wěn)定。因此,在對原有的通信系統(tǒng)做出改進或建立一個新系統(tǒng)之前,通常需要對這個系統(tǒng)進行建模和仿真,通仿真結果衡量方案的可行性,從中選擇最合理的系統(tǒng)配置和參數(shù)設置,然后再應用于實際系統(tǒng)中。這個過程就是通信仿真。 1.2.1 通信仿真的概念 通信仿真是衡量通信系統(tǒng)性能的工具。通信仿真可以分成離散事件仿真和連續(xù)仿真。在離散事件仿真中,仿真系統(tǒng)只對離散事件做出響應,而在連續(xù)仿真中,仿真系統(tǒng)對輸入信號產(chǎn)生連續(xù)的輸出信號。離散事件仿真是對實際通信系統(tǒng)的一種簡化,它的仿真建模比較簡單,整個仿真過程需要花費的時間也比連續(xù)仿真少。雖然

29、離散事件仿真舍棄了一些仿真細節(jié),在有些場合顯得不夠具體,但仍然是通信仿真的主要形式。 與一般的仿真過程類似,在對通信系統(tǒng)實施仿真之前,首先需要研究通信系統(tǒng)的特性,通過歸納和抽象建立通信系統(tǒng)的仿真模型。圖1—1所示是關于通信系統(tǒng)仿真流程的一個示意圖。從圖中可以看到,通信系統(tǒng)仿真是一個循環(huán)往復的過程,它從當前系統(tǒng)出發(fā),通過分祈建立起一個能夠在一定程度上描述原通信系統(tǒng)的仿真模型,然后通過仿真實驗得到相關的數(shù)據(jù)。通過對仿真數(shù)據(jù)的分析可以得到相應的結論,然后把這個結論應用到對當前通信系統(tǒng)的改造中。如果改造后通信系統(tǒng)的性能并不像仿真結果那樣令人滿意,還需要重新實施通信系統(tǒng)仿真,這時候改造后的通信系統(tǒng)就成

30、了當前系統(tǒng),并且開始新一輪的通信系統(tǒng)仿真過程。 當前系統(tǒng) 仿真建模 仿真實驗 仿真分析 結論分析 改造后的系統(tǒng) 實際系統(tǒng) 仿真系統(tǒng) 圖1.1通信系統(tǒng)仿真流程圖 1.2.2 通信仿真的基本步驟 通信仿真系統(tǒng)一般分為3個步驟,即:仿真建模、仿真實驗和仿真分析。應該注意的是,通信仿真是一個螺旋式發(fā)展的過程,因此這3個步驟可能需要循環(huán)執(zhí)行多次之后才能夠獲得令人滿意的仿真結果。 1、仿真建模 仿真建模是根據(jù)實際通信系統(tǒng)建立仿真模型的過程,它是整個通信仿真過程中的—個關鍵步驟,因為仿真模型的好壞直接影響者仿真的結果以及仿真結果的真實

31、性和可靠性。 仿真模型是對實際文件系統(tǒng)的一種模擬和抽象,但又不是完全的復制。簡單的仿真模型容易被理解和操作,但是由于它忽略了很多關于實際系統(tǒng)的細節(jié),因而在一定程度上影響了仿真的可靠性。如果仿真模型比較復雜,雖然它是對實際系統(tǒng)的—種忠實反映,但是其中包含了過多的相互作用因素,這些因素不僅需要消耗過多的仿真時間,而且使仿真結果的分析過程變的相當復雜。因此,仿真模型的建立需要綜合考慮其可行性和簡單性。在仿真建模過程中,我們可以先建立一個相對簡單的仿真模型,然后再根據(jù)仿真結果和仿真過程的需要逐步增加仿真模型的復雜度。 仿真模型一般是一個數(shù)學模型。數(shù)學模型有多種分類方式,包括確定性模型和隨機

32、模型,靜態(tài)模型和動態(tài)模型。確定性模型的輸入變量和輸出變量都有固定數(shù)值,而在隨機模型中,至少有—個輸入變量是隨機的。靜態(tài)模型個需要考慮時間變化因素,動態(tài)模型的輸入輸出變量則需要考慮時間變化因素。一般情況下通信仿真模型是一個隨機動態(tài)系統(tǒng)。 在仿真建模過程中,首先需要分析實際系統(tǒng)存在的問題或設立系統(tǒng)改造的目標,并且把這些問題和目標轉化成數(shù)學變量和公式。例如,我們可以設定改造后系統(tǒng)或新系統(tǒng)在達到系統(tǒng)最大容量時的誤碼率,或者是通信系統(tǒng)的最大呼損率,等等。 有了這些具體的仿真目標之后,下一步是獲取實際通信系統(tǒng)的各種運行參數(shù),如通信系統(tǒng)占用的帶寬及其頻率分布,系統(tǒng)對于特定的輸入信號產(chǎn)生的輸出等。同時,對

33、于通信系統(tǒng)中的各個隨機變量,可以采集這些變量的數(shù)據(jù),然后通過數(shù)學工具來確定隨機變量的分布特性。 有了上面的準備工作,下一步就可以通過仿真軟件來建造仿真模型了。最簡單的工具是采用c語言等編程工具直接編寫仿真程序,這種方法的優(yōu)點是效率高,缺點則是不夠靈活,沒有一個易于實現(xiàn)的人機交互界面,不便于對仿真結果進行分析。除此之外,還可以采用專門的仿真軟件建造仿真模型,比較常用的仿真軟件包括Matlab、0PNET、NS2等,這些軟件具有各自不同的特點,適用于不同層次的通信仿真。例如,物理層仿真通常采用Matlab,而網(wǎng)絡層仿真則適用采用0PNET。 在完成仿真模型的軟件實現(xiàn)之后,還需要對這個仿真模型的

34、有效性進行初步的驗證。一種簡便的驗證方法是采用特定的已知輸入信號,這個輸入信號分別通過仿真模型和實際系統(tǒng),產(chǎn)生兩種輸出信號。如果仿真模型的輸出信號與實際系統(tǒng)的輸出信號比較吻合,說明這個仿真模型與原系統(tǒng)具有較好的相似性。當這兩種輸出信號差別很大時,最好先檢查一下仿真模型的內(nèi)部連接和設置,找出造成這種差異的原因。 仿真建模的最后一步是做好仿真模型的文檔工作,這是最容易被大家忽略的。很多情況下,我們在完成系統(tǒng)的設計之后就迫不及待地運行仿真程序,待發(fā)現(xiàn)仿真結果與預期目標相差甚遠時才回過頭來焦頭爛額地檢查仿真模型的內(nèi)部結構。這時候,往往原先的很多參數(shù)設置和條件假設都變得不可理解,這非常不利于修改多數(shù)和

35、結構,不利于找錯和排錯。 2、仿真實驗 仿真實驗是一個或一系列針對仿真模型的測試。在仿真實驗過程中,通常需要多次改變仿真模型輸入信號的數(shù)值,以觀察和分析仿真模型對這些輸入信號的反應,以及仿真系統(tǒng)在這個過程中表現(xiàn)出來的性能。需要強調(diào)的一點是,仿真過程中使用的輸入數(shù)據(jù)必須具有一定的代表性,即能夠從各個角度顯著地改變仿真輸出信號的數(shù)值。 實施仿真之前需要確定的另外一個因素是性能尺度。性能尺度指的是能夠衡量仿真過程中系統(tǒng)性能的輸出信號的數(shù)值(或根據(jù)輸出信號計算得到的數(shù)值),因此,在實施仿真之前,首先需要確定仿真過程中應該收集哪些仿真數(shù)據(jù),這些數(shù)據(jù)以什么樣的格式存在,以及收集多少數(shù)據(jù)。

36、 在明確了仿真系統(tǒng)對輸入信號和輸出信號的要求之后,最好把這些設置整理成一份簡單的文檔。編寫文檔是一個好習慣,它能夠幫助我們回億起仿真設計過程的一些細節(jié)。當然,文檔的編寫不一定要求很規(guī)范,并且文檔大小應該視仿真設計的規(guī)模而定。 最后,還應該明確各個輸入信號的初始設置以及仿真系統(tǒng)內(nèi)部各個狀態(tài)的初姑值。仿真的運行實際上是計算機的計算過程,這個過程一般不需要人工干預,花費的時間由仿真的復雜度確定。如果需要比較仿真系統(tǒng)在不同參數(shù)設置下的性能,應該使仿真系統(tǒng)在取不同參數(shù)值時具有相同的輸入信號(或相同的隨機輸入信號),這樣才能夠保證分析和比較的客觀性和可靠性。 對于需要較長時間的仿真,應該

37、盡可能地使用批處理方式,使得仿真過程在完成—種參數(shù)配置的仿真之后能夠自動啟動針對下—個參數(shù)配置下—個仿真。這種方式減少了仿真過程中的人工下頸,提高了系統(tǒng)利用率利仿真效率。 3、仿真分析 仿真分析是—個通信仿真流程中的最后—個步驟。在仿真分析過程個,用戶已經(jīng)從仿真過程中獲得了足夠多的關于系統(tǒng)件能的信息,這是這些信息只是一些原始數(shù)據(jù),一般還需要經(jīng)過數(shù)值分析和處理才能夠獲得衡量系統(tǒng)性能的尺度,從而獲得對仿真系統(tǒng)件能的一個總體評價。常用的系統(tǒng)性能尺度包括平均值、方差、標準差、最大值和最小值等,它們從不同的角度描繪了仿真系統(tǒng)的性能。 如果仿真過程需要一定的時間才能夠達到平衡狀態(tài),在

38、對輸出數(shù)據(jù)進行分析和處理時一般要忽略最初的若干個數(shù)據(jù),而只考慮平衡之后的輸出。對于仿真尺度不隨時間變化的平衡系統(tǒng)(Stationary System),還可能涉及到對輸出變量穩(wěn)定狀態(tài)的求解。 另外一個需要注意的地方是,即使仿真過程中收集的數(shù)據(jù)正確無誤,由此得到的仿真結果并不一定就是難確的。造成這種結果的原因可能是輸入信號恰好與仿真系統(tǒng)的內(nèi)部特性相吻合,或者輸入的隨機信號不具有足夠的代表性。 圖表是最簡潔的說明工具,它具有很強的直觀性,便于分析和比較,因此仿真結果一般繪制成圖表形式。我們使用的仿真工具—股都具有很強的繪圖功能,能夠便捷的繪制各種類型的圖表。 以上就是通信仿真的一個循

39、環(huán)。應該強調(diào)的是,仿真分析并不—定意味著通信仿真過程的完全結束。如果仿真分析得到的結果達不到預期的目標,用戶還需要重新修改通信仿真模型,這時候仿真分析就成為了另外一個循環(huán)的開始。 1.2.3 通信系統(tǒng)仿真的重要作用 在過去的幾十年里,通信和信號處理系統(tǒng)的復雜程度顯著地提高了。與此同時出現(xiàn)了一系列新的技術,如用于數(shù)字信號處理的價格不高但速度很快的硬件、光纖光學器件、集成光學設備和單片微波集成電路,這些對通信系統(tǒng)的實現(xiàn)均有重要影響。通信系統(tǒng)復雜度的提高使得用來分析和設計系統(tǒng)的時間和精力也相應提高了,然而在商用產(chǎn)品中引入新技術要求設計能做到短時、高效、省力,而這些要求只有通過使用強大的計算機輔助

40、分析和設計工具才能實現(xiàn)。所以,通信系統(tǒng)仿真在通信系統(tǒng)工程設計中起著舉足輕重的作用。 1.3 通信系統(tǒng)仿真問題的提出、研究價值及研究現(xiàn)狀 1.3.1 通信系統(tǒng)仿真問題的提出 通信系統(tǒng)的性能可以用基于公式的計算方法、波形級仿真或通過硬件樣機研究和測量來估計得到。以簡化模型為基礎的公式法只能應用于一些理想化和過于簡單的例子,要想估計出復雜通信系統(tǒng)的性能是非常困難的?;跍y量的性能估計方法通常代價很高,并且很不靈活。用基于仿真的方法來估計性能時,系統(tǒng)可以用任何所期待的細節(jié)(主觀的,當然有一定局限)來模擬。 與公式法或測量法相比較,仿真的方法能更好的利用設計空間,很容易將數(shù)字和經(jīng)驗模型結合起來,

41、并結合設備和真實信號的特點進行分析和設計。 1.3.2 通信系統(tǒng)仿真問題的研究價值 通信系統(tǒng)仿真實質(zhì)上就是把硬件實驗搬進了計算機,可以把它看成是一種軟件實驗。在硬件實驗系統(tǒng)中,用各種電子元器件制作出通信系統(tǒng)中的理論模型所規(guī)定的各個模塊,再把它們通過導線或電纜等接在一起,然后再用示波器、頻譜議、誤碼儀等通信儀表做各種測量,最后分析測量結果。在軟件實驗中我們也是這樣做,只不過所有通信模塊及通信儀表的功能都是用程序來實現(xiàn)的,通信系統(tǒng)的全過程在計算機中仿真運行。 雖然軟件實驗不像硬件實驗那樣讓人感到“真實”,但對于許多通信問題的研究來說的確非常有效。與硬件實驗相比,軟件實驗具有如下一些優(yōu)點:

42、(1) 軟件實驗具有廣泛的適應性和極好的靈活性。在硬件實驗中改變系統(tǒng)參數(shù)也許意味著要重做硬件,而在軟件實驗中則是改一、兩個數(shù)據(jù),甚至只是在屏幕上按幾下鼠標。 (2) 軟件實驗更有助于我們較為全面地研究通信系統(tǒng)。有許多問題,通過硬件實驗來研究可能非常困難,但在軟件實驗中卻易于解決。 (3)硬件實驗的精確度取決于元器件及工藝水平,軟件實驗的精度取決于CPU的運算速度或者說是程序的運算量。 (4) 軟件實驗建設開發(fā)周期短,成本低。 1.3.3 通信系統(tǒng)仿真問題的研究現(xiàn)狀 計算機輔助分析和設計技術發(fā)展十分迅速,出現(xiàn)了大量實用仿真軟件與工具,并應用于通信系統(tǒng)建模,分析和設計,使得通信系統(tǒng)仿真發(fā)

43、展很快。計算機輔助技術基本上有兩大類,一是基于公式的方法,用計算機計算復雜的公式:二是用計算機仿真系統(tǒng)的信號波形,即波形級仿真。 通信系統(tǒng)仿真應用到了通信系統(tǒng)工程設計的各個階段,無論是從早期的概念設計,還是實現(xiàn)、測試、使用等各個階段。在概念定義階段,通信系統(tǒng)仿真獲得頂層指標;在接下來的設計和研發(fā)中,通信系統(tǒng)仿真確定硬件研發(fā)的指標,檢驗已完成子系統(tǒng)對整個系統(tǒng)性能的影響;在運行階段,通信系統(tǒng)仿真可以用來確定解決問題的方法;通信系統(tǒng)仿真還可以預測系統(tǒng)的使用壽命。 現(xiàn)代計算機軟硬件技術的快速發(fā)展,新一代的可視化的仿真軟件的使用使得通信系統(tǒng)仿真的設計和分析過程變得相對直觀和便捷,推動了通信系統(tǒng)仿真的

44、快速發(fā)展。 1.4 本論文的主要研究內(nèi)容 現(xiàn)代社會發(fā)展要求通信系統(tǒng)功能越來越強,性能越來越高,構成越來越復雜;另一方面,要求通信系統(tǒng)技術研究和產(chǎn)品開發(fā)縮短周期,降低成本,提高水平。這樣尖銳對立的兩個方面的要求,只有通過使用強大的計算機輔助分析設計技術和工具才能實現(xiàn)。通信系統(tǒng)仿真貫穿通信系統(tǒng)工程設計的全過程,對通信系統(tǒng)的發(fā)展起著舉足輕重的作用。 本論文針對通信系統(tǒng)仿真的研究主要做了以下的工作: (1) 介紹了通信系統(tǒng)仿真的相關內(nèi)容,包括通信系統(tǒng)仿真的一般步驟、Matlab中的一種可視化仿真工具Simulink以及S-函數(shù)的相關概念。 (2) 對通信系統(tǒng)中的主要環(huán)節(jié),包括通信系統(tǒng)信道、噪

45、聲、模擬信號的數(shù)字傳輸系統(tǒng)、信道編碼以及信號調(diào)制的原理、方法和過程進行了詳細的闡述。 (3) 在理解通信系統(tǒng)理論的基礎上,利用Matlab強大的仿真功能,設計了具體的通信系統(tǒng)模型。在模型的設計過程,對模型設計的目的、具體的結構組成、仿真流程以及仿真結果都給出了具體詳實的說明和分析。 第二章 simulink入門 simulink是Matlab中的一種可視化仿真工具,廣泛應用于線性系統(tǒng)、數(shù)字控制、非線性系統(tǒng)以及數(shù)字信號處理的建模和仿真中。simulink采用模塊化方式,每個模塊都有自己的輸入/輸出端口,實現(xiàn)一

46、定的功能。在simulink中,仿真模型表現(xiàn)為若干個仿真模塊的集合以及這些模塊之間的連接關系,這就使得仿真的設計和分析過程變得相對直觀和便捷,同時有利于仿真模型的擴充。 2.1 simulink簡介 動態(tài)系統(tǒng)是輸出信號隨時間變化的系統(tǒng)。要描述這種系統(tǒng)的特性,傳統(tǒng)的建模方法是先對系統(tǒng)的輸入信號和輸出信號進行分析,得到它們的系統(tǒng)方程,然后編寫程序進行仿真。這種仿真方法有兩個缺點:首先是不夠直觀,缺乏足夠的人機交互。由于所有的輸入信號和輸出信號都被抽象成數(shù)值之間的關系,仿真表現(xiàn)為一種計算過程,因此難以對仿真的過程進行控制,也難以對仿真的輸出數(shù)據(jù)進行直觀的描述和分析。另外,這種方法缺乏系統(tǒng)性,尤其

47、是在對復雜系統(tǒng)的處理過程中,難以采用模塊化方法,從而降低了仿真程序的可讀性和可擴展性。 simulink是Matlab提供的用于對動態(tài)系統(tǒng)進行建模、仿真和分析的工具包。simulink提供了專門用于顯示輸出信號的模塊,可以在仿真過程中隨時觀察仿真結果。同時,通過simulink的存儲模塊,仿真數(shù)據(jù)可以方便地以各種形式保存到工作區(qū)或文件中,供用戶在仿真結束之后對數(shù)據(jù)進行分析和處理。另外,simulink把具有特定功能的代碼組織成模塊的方式,并且這些模塊可以組織成具有等級結構的子系統(tǒng),因此具有內(nèi)在的模塊化設計要求?;谏鲜鰞?yōu)點,simulink稱為一種通用的仿真建模工具,廣泛應用于通信仿真、數(shù)字

48、信號處理、模糊邏輯、神經(jīng)網(wǎng)絡、機械控制和虛擬現(xiàn)實等領域。 根據(jù)輸出信號與輸入信號的關系,simulink提供3種類型的模塊:連續(xù)模塊、離散模塊和混合模塊。連續(xù)模塊是指輸出信號隨著輸入信號發(fā)生連續(xù)變化的模塊,離散模塊則是輸出信號以固定間隔變化的模塊。對于連續(xù)模塊,simulink采用積分方式計算輸出信號的數(shù)值,因此,連續(xù)模塊主要涉及導數(shù)的計算及其積分。離散模塊的輸出信號在下一個抽樣時刻到來之前保持恒定,這時simulink只需以一定的間隔計算輸出信號的數(shù)值。混合模塊是根據(jù)輸入信號的類型來確定輸出信號類型的,它既能夠產(chǎn)生連續(xù)輸出信號,也能夠產(chǎn)生離散輸出信號。 2.2 simulink的工作環(huán)境

49、 當采用simulink進行建模和仿真時,一般是從simulink模型庫中提供的模塊出發(fā),通過組合各種模塊來完成模塊的設計。simulink模型庫提供了一種模塊的集成環(huán)境,通過它可以快速地開發(fā)各種仿真模型。 2.2.1 simulink的模型庫 在matlab的工作區(qū)中輸入“simulink”或是單擊matlab工具欄上的,就進入如2-1圖所示的模型庫界面 圖2.1 simulink 模型庫 simulink模型庫中的仿真模塊組織成—個三級樹型結構,例如,圖2—1所示:Smulink于模型庫包含了Continuous、Discontinuities、Discrete等下一級的模型

50、庫,其中Continuous模型庫中包含了若干個模塊,這些模塊可以直接加入到自己的仿真模型中。 2.2.2 設計仿真模型 在matlab或simulink窗口的工具欄中依次選擇“file”︱“new”︱“model”,自動生成一個空白的仿真模型模型窗口,如圖2-2所示 圖2.2 空白仿真模型 在設計仿真模型的過程中,如果在simulink模型庫中包含了仿真模型所需的模塊,則在simulink模型庫中選中這個模塊,單擊鼠標右鍵,從浮動菜單中選擇“Add to untitled”(或直接把模塊拖到仿真模型中),這時候就把這個選中的模塊加入到仿真模型中了。 simulin

51、k模型庫窗口提供了模塊查找功能。在simulink模型庫窗口的工具欄上單擊按鈕,彈出如圖2—3所示的模塊查找對話框。輸入所需查找的模塊名稱的關鍵字,單擊“find Next”按鈕,則simulink自動搜索整個模型庫。 圖2.3 simulink搜索模型 simulink模型庫中的模塊一般具有各種參數(shù)設置。在仿真模型窗口中雙擊模塊,彈出該模塊的參數(shù)設置對話框,這時候可以修改模塊中各個參數(shù)的數(shù)值。通常情況下,仿真模塊的設計過程就是對simulink模型庫中各個模塊的一種組合。如果simulink模型庫中沒有所需的模塊,這時候可以通過s—函數(shù)構造自己的模塊,并且把這個模塊與其他si

52、mulink模塊合起來,實現(xiàn)相應的仿真功能。關于S—函數(shù)的內(nèi)容,將在后面進行詳細論述。 2.2.3 運行仿真 仿真模型有兩種運行方式:菜單方式和命令行方式。在simulink中打開仿真模型,然后在菜單欄中依次選擇“simulation”“start”,或者在工具欄上單擊缺鈕,則仿真模型將以菜單方式運行。菜單方式的優(yōu)點在于它的交互性,通過在仿真模型中設置示波器模塊(Scope)或顯示模塊(Display)可以在仿真過程中觀察輸出信號的數(shù)值。同時,有些仿真模塊還允許用戶在不中斷仿真進程的條件下隨時更改模塊的參數(shù)設置。 命令行方式一般用于執(zhí)行批處理方式的仿真,它是通過MATLAB命令“sim”

53、啟動仿真進程,例如,在matlab工作區(qū)中輸入“sim (‘rayleighfading’)”命令后,simulink開始運行仿真模型rayleighfading。如果需要多次運行仿真程序,可以把這些命令編寫成—個M文件,然后在matlab工作區(qū)中執(zhí)行這個M文件就可以了。用命令行方式啟動仿真模型后,simulink并不自動打開相應的模型,因此不能直接觀察仿真的進程,但是仍然可以通過各種顯示不模塊觀察輸出信號。 matlab把工作區(qū)和simulink集成在一起,因此仿真模型的兩種運行方式可以交互使用。一般情況下,仿真結果保存到上作區(qū)中,用戶可以在仿真結束之后對仿真結果進行分析和加工,并且根據(jù)仿

54、真數(shù)據(jù)繪制各種圖表。 2.2.4 建立子系統(tǒng) 在Simulink中,若干個仿真模塊可以組合起來構成—個子系統(tǒng)(subsystem),以減少每個仿真模型窗口中顯示的仿真模塊的數(shù)日。采用子系統(tǒng)的另外一個好處是可以把復雜的仿真模型按照功能關系組織成等級結構,使得每個子系統(tǒng)都是—個相對獨立的功能實體,這些子系統(tǒng)組合起來構成一個功能更強的子系統(tǒng)。 Simulink子系統(tǒng)可以按照自頂向下的方式進行構造。首先,在仿真模型中添加一個子系統(tǒng)模塊(subsystem),設置這個子系統(tǒng)模塊的名稱,然后雙擊該模塊,待打開該模塊之后就可以對子系統(tǒng)的功能進行設計了。子系統(tǒng)的輸入、輸出分別由Simul

55、ink模型庫中的輸入端口模塊(in)和輸出端口模塊(out)構造,在設計子系統(tǒng)的過程中可以根據(jù)需要添加若干個這樣的輸入輸出模塊。 另外—個構造子系統(tǒng)的方法是自底向上,即先在同—個窗門中添加各個Simulink模塊,當模塊的數(shù)目增加到一定的限度時,可以選中其中若干個模塊(按住shift鍵后單擊各個需要組合的模塊),然后單擊鼠標右鍵,在彈出的菜單中選擇Create Subsystem,這時候就創(chuàng)建了一個子系統(tǒng),并且Simulink自動為這個于系統(tǒng)設置了輸入端口和輸出端口。在Simulink中,子系統(tǒng)和輸入、輸出端口的名稱都可以由用戶自行設置。 子系統(tǒng)的命名方式類似于系統(tǒng)目錄的命

56、名,每個子系統(tǒng)的名稱是它所在上一級系統(tǒng)名稱與子系統(tǒng)名稱的組合,中間以反斜杠(“/”)分隔。例如,“preject5_1/source”,表示preject5_1模型中名為source的子系統(tǒng)。 用戶可以設置子系統(tǒng)在雙擊之后的打開萬式。選擇菜單欄上的“file”︱“Preferences…”命令打開如圖2—4所示的對話柜,在左邊的列表框中選擇“Simulink”,這時候可以在右邊面板的“window reuse”下拉列表中選擇所需的方式。 圖2.4 matlab的preferences對話框 如果把“window reuse”設置為“none”,雙擊子系統(tǒng)時,simulink在新窗口

57、中打開子系統(tǒng),原窗口保持不變:如果“window reuse”設置為“reuse”,simulink在當前窗口中打開子系統(tǒng):如果“window reuse”設置為“replace”,simulink在新窗口中打開子系統(tǒng),同時原窗口消失:如果“window reuse”設置為“mixed”,simulink在新窗口中打開子系統(tǒng),同時保持原窗口不變,這種方式與none的差別在于,當在于系統(tǒng)中選擇菜單欄上的“VIew”︱“go to parent”命令返回上一級系統(tǒng)時,none方式中這個子系統(tǒng)窗口不會消失,而mixer方式的子系統(tǒng)窗口被自動隱藏。 2.2.5 封裝子系統(tǒng) simulink模塊庫中

58、的每一個模塊部有它獨特的圖標和參數(shù)設置對話框。對于用戶自己創(chuàng)建的子系統(tǒng),也可以通過simulink來設置該模塊的圖標和參數(shù)。選中某個子系統(tǒng),單擊右鍵后從彈出式菜單中選擇“Mask subsynem”,這時候就創(chuàng)建了一個封裝子系統(tǒng)(Masked subsynem)。需要注意的是,對于一個已經(jīng)被封裝的子系統(tǒng),它的Mask subsynem命令無效。 子系統(tǒng)轉化成封裝子系統(tǒng)之后,simulink彈出一個封裝編輯器對話框,這時候可以設置封裝子系統(tǒng)的圖標和模塊參數(shù)。封裝編輯器共有4個屬性頁,分別用與設置模塊的圖標、參數(shù)、初始化代碼以及文檔信息。在Icon屬性頁中,讀者可以設置模塊的外觀屬性,并且可以

59、在Drawing commands編輯框中輸入代碼,以繪制模塊的圖標。我們可以通過MATLAB命令行“disp(‘source’)”在模塊中顯示一行文字“Source”。 通過Parameters屬性頁我們可以設置封裝子系統(tǒng)的白定義參數(shù),這些參數(shù)將出現(xiàn)在封裝子系統(tǒng)的參數(shù)設置對話框中。對于每一個自定義參數(shù),它有一個用于在參數(shù)設置對話框中顯示的名稱(prompt)和—個變量名稱。每個自定義參數(shù)可以通過編輯框(edit)、復選框(checkbox)或者是下拉列表(Popup)設置參數(shù)值。如果選擇了Evaluate復選框,則該參數(shù)的輸入將自動轉化成數(shù)值傳遞給相應的變量;否則,simulink

60、自動把字符串傳遞給這個變量。如果選擇了tunable復選框,則該參數(shù)的數(shù)值可以在仿真過程中動態(tài)改變。例如,對于名為samples Per symbl的白定義參數(shù),它的內(nèi)部變量名為samples Per symbl,用戶可以通過下拉列表“popup”來選擇該參數(shù)的數(shù)值2、3或4,同時simulink傳遞給變量samples Per symbl—個數(shù)值,并且該參數(shù)可以在仿真過程中動態(tài)改變。 2.3 S函數(shù)及其簡介 S-函數(shù)是系統(tǒng)函數(shù)(System-functions)的簡稱。在很多情況下,Simulink 模型庫(Simulink Library)中的模塊不能完全滿足用戶的要求,這時候需要由用

61、戶自己來編寫相應的代碼。M文件雖然能夠用來編寫 MATLAB 函數(shù)代碼,但是它不具備與 Simulink 的接口,因此難以與Simulink其他模塊一起使用。S-函數(shù)則提供了函數(shù)代碼與 Simulink之間的接口,使得用戶編寫的代碼既能夠像 Simulink 模型庫中的模塊那樣具有統(tǒng)一的仿真接口,同時能夠實。各種靈活的控制和計算功能。從這個意義上說,S-函數(shù)是對 Simulink模塊庫功能的擴展。S-函數(shù)的代碼既可以用 MATLAB 語言編寫,也可以用其他通用的編程語言(如 C、C++、Ada 或 Fortran等)編寫,后者具有更強的控制能力,它們被編譯成 MEX(MATLAB EXecut

62、able)文件,并且在仿真過程中動態(tài)裝載。 通過 S-函數(shù)可以方便地編寫仿真代碼以創(chuàng)建自己的 Simulink模塊,因此,S-函數(shù)是對Simulink模塊庫功能的擴展。根據(jù)S-函數(shù)代碼使用的編程語言,S-函數(shù)可以分成 M 文件 S-函數(shù)(即用MATLAB語言編寫的 S-函數(shù))、C語言 S-函數(shù)、C++語言S-函數(shù)、Ada語言S-函數(shù)以及Fortran語言S-函數(shù)等。通過 S-函數(shù)創(chuàng)建的模塊具有與 Simulink模型庫中的模塊相同的特征,它可以與 Simulink求解器進行交互,支持連續(xù)狀態(tài)和離散狀態(tài)模型。 2.3.1 S函數(shù)工作原理 每個Simulink模塊都可以表示成輸入信號 x、

63、輸入信號y以及內(nèi)部狀態(tài)u之間的關系,如圖 3-1 所示。 內(nèi)部狀態(tài)u 輸出y 輸入x 圖2.5 simulink模塊基本模型 在某個時刻t,Simulink 模塊的內(nèi)部狀態(tài)u由兩部分組成:連續(xù)狀態(tài)和離散狀態(tài),且u=+,此時輸出信號, 連續(xù)狀態(tài)的導數(shù),離散狀態(tài)。Simulink根據(jù)連續(xù)狀態(tài)導數(shù)方程進行積分運算,得到各個連續(xù)狀態(tài)的數(shù)值,同時通過離散狀態(tài)方程計算離散狀態(tài)的當前值。這樣,Simulink就可以得到各個時刻的狀態(tài)及其輸出信號,實現(xiàn)對仿真結果的求解。 在仿真過程中,每個 Simulink模塊的執(zhí)行過程可以分成 3 個階段:初始化階段、仿真循環(huán)階段和仿真結束階段。在

64、初始化階段,Simulink把各個模塊調(diào)入內(nèi)存,檢查模塊的數(shù)據(jù)類型和長度,設置仿真時間間隔,制訂仿真模塊的執(zhí)行順序,以及內(nèi)存分配。在仿真循環(huán)階段,Simulink按照初始化階段制定的順序依次執(zhí)行各個模塊,計算當前時刻的離散狀態(tài)和輸出信號,以小步長積分的方式計算各個連續(xù)狀態(tài)的數(shù)值以及由此產(chǎn)生的輸出。這個過程一直持續(xù)到仿真過程結束,然后Simulink進入仿真結束階段,清理各種已經(jīng)分配的資源,同時保存仿真過程中產(chǎn)生的數(shù)據(jù)。 初始化 計算下一個抽樣時間 更新離散狀態(tài) 計算過零點 計算連續(xù)狀態(tài)導數(shù) 計算連續(xù)狀態(tài)導數(shù) 計算輸出信號 循 環(huán) 仿 真 仿真結束

65、 圖2.6 simulink模塊仿真流程 對應于仿真流程中的每一個步驟,Simulink中的S-函數(shù)調(diào)用預先設定的函數(shù)來實現(xiàn)相應的功能。例如,我們可以編寫一個mdlInitializeSizes函數(shù)實現(xiàn)S-函數(shù)的初始化操作,通過mdlDerivatives和mdlUpdate函數(shù)在每一個抽樣時刻分別計算連續(xù)狀態(tài)變量的導數(shù)和更新離散狀態(tài)的數(shù)值,在mdlOutputs函數(shù)中計算S-函數(shù)的輸出信號等。需要指出的是,這些函數(shù)的名稱都可以由用戶自己設定。用戶需要在S-函數(shù)的主體部分對這些函數(shù)進行注冊,Simulink通過回調(diào)函數(shù)(Ca

66、llback Function)的方式在不同事件發(fā)生的時候調(diào)用相應的函數(shù)。 2.3.2 S函數(shù)基本概念 在編寫S-函數(shù)的時候經(jīng)常涉及到的概念有3個:直接反饋(Direct feedthrough)、可變長度輸入(Dynamically sized inputs)以及抽樣時刻和偏移(Setting sample times and offsets),它們是編寫S-函數(shù)的基礎。 1. 直接反饋 簡單說來,直接反饋(Direct feedthrough)指的是輸入信號是否直接影響著輸出信號和仿真的抽樣時間。在計算S-函數(shù)輸出信號的過程中,如果輸出信號(包括仿真過程中繪制的圖形)是輸入信號的函數(shù),那么這個S-函數(shù)存在直接反饋。同樣地,如果在可變步長的仿真過程中,S-函數(shù)的輸入信號影響著對下一個仿真時刻的計算,這個S-函數(shù)也存在直接反饋。 Simulink根據(jù)模塊中的S-函數(shù)是否存在直接反饋來確定仿真模型中各個模塊的執(zhí)行順序。如果S-函數(shù)不存在直接反饋,在計算該模塊的輸出信號時這個模塊就可以不等待前一個模塊的輸出信號,因而有可能先于前面的模塊執(zhí)行。在編寫S-函數(shù)的過程中,首要的是確

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!