freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)字通信系統(tǒng)的matlab設(shè)計與仿真(編輯修改稿)

2025-07-27 01:44 本頁面
 

【文章內(nèi)容簡介】 ,自動生成一個空白的仿真模型模型窗口,如圖22所示 空白仿真模型 在設(shè)計仿真模型的過程中,如果在simulink模型庫中包含了仿真模型所需的模塊,則在simulink模型庫中選中這個模塊,單擊鼠標右鍵,從浮動菜單中選擇“Add to untitled”(或直接把模塊拖到仿真模型中),這時候就把這個選中的模塊加入到仿真模型中了。 simulink模型庫窗口提供了模塊查找功能。在simulink模型庫窗口的工具欄上單擊按鈕,彈出如圖2—3所示的模塊查找對話框。輸入所需查找的模塊名稱的關(guān)鍵字,單擊“find Next”按鈕,則simulink自動搜索整個模型庫。 simulink搜索模型 simulink模型庫中的模塊一般具有各種參數(shù)設(shè)置。在仿真模型窗口中雙擊模塊,彈出該模塊的參數(shù)設(shè)置對話框,這時候可以修改模塊中各個參數(shù)的數(shù)值。通常情況下,仿真模塊的設(shè)計過程就是對simulink模型庫中各個模塊的一種組合。如果simulink模型庫中沒有所需的模塊,這時候可以通過s—函數(shù)構(gòu)造自己的模塊,并且把這個模塊與其他simulink模塊合起來,實現(xiàn)相應的仿真功能。關(guān)于S—函數(shù)的內(nèi)容,將在后面進行詳細論述。 運行仿真仿真模型有兩種運行方式:菜單方式和命令行方式。在simulink中打開仿真模型,然后在菜單欄中依次選擇“simulation”“start”,或者在工具欄上單擊缺鈕,則仿真模型將以菜單方式運行。菜單方式的優(yōu)點在于它的交互性,通過在仿真模型中設(shè)置示波器模塊(Scope)或顯示模塊(Display)可以在仿真過程中觀察輸出信號的數(shù)值。同時,有些仿真模塊還允許用戶在不中斷仿真進程的條件下隨時更改模塊的參數(shù)設(shè)置。命令行方式一般用于執(zhí)行批處理方式的仿真,它是通過MATLAB命令“sim”啟動仿真進程,例如,在matlab工作區(qū)中輸入“sim (‘rayleighfading’)”命令后,simulink開始運行仿真模型rayleighfading。如果需要多次運行仿真程序,可以把這些命令編寫成—個M文件,然后在matlab工作區(qū)中執(zhí)行這個M文件就可以了。用命令行方式啟動仿真模型后,simulink并不自動打開相應的模型,因此不能直接觀察仿真的進程,但是仍然可以通過各種顯示不模塊觀察輸出信號。matlab把工作區(qū)和simulink集成在一起,因此仿真模型的兩種運行方式可以交互使用。一般情況下,仿真結(jié)果保存到上作區(qū)中,用戶可以在仿真結(jié)束之后對仿真結(jié)果進行分析和加工,并且根據(jù)仿真數(shù)據(jù)繪制各種圖表。 建立子系統(tǒng) 在Simulink中,若干個仿真模塊可以組合起來構(gòu)成—個子系統(tǒng)(subsystem),以減少每個仿真模型窗口中顯示的仿真模塊的數(shù)日。采用子系統(tǒng)的另外一個好處是可以把復雜的仿真模型按照功能關(guān)系組織成等級結(jié)構(gòu),使得每個子系統(tǒng)都是—個相對獨立的功能實體,這些子系統(tǒng)組合起來構(gòu)成一個功能更強的子系統(tǒng)。 Simulink子系統(tǒng)可以按照自頂向下的方式進行構(gòu)造。首先,在仿真模型中添加一個子系統(tǒng)模塊(subsystem),設(shè)置這個子系統(tǒng)模塊的名稱,然后雙擊該模塊,待打開該模塊之后就可以對子系統(tǒng)的功能進行設(shè)計了。子系統(tǒng)的輸入、輸出分別由Simulink模型庫中的輸入端口模塊(in)和輸出端口模塊(out)構(gòu)造,在設(shè)計子系統(tǒng)的過程中可以根據(jù)需要添加若干個這樣的輸入輸出模塊。 另外—個構(gòu)造子系統(tǒng)的方法是自底向上,即先在同—個窗門中添加各個Simulink模塊,當模塊的數(shù)目增加到一定的限度時,可以選中其中若干個模塊(按住shift鍵后單擊各個需要組合的模塊),然后單擊鼠標右鍵,在彈出的菜單中選擇Create Subsystem,這時候就創(chuàng)建了一個子系統(tǒng),并且Simulink自動為這個于系統(tǒng)設(shè)置了輸入端口和輸出端口。在Simulink中,子系統(tǒng)和輸入、輸出端口的名稱都可以由用戶自行設(shè)置。 子系統(tǒng)的命名方式類似于系統(tǒng)目錄的命名,每個子系統(tǒng)的名稱是它所在上一級系統(tǒng)名稱與子系統(tǒng)名稱的組合,中間以反斜杠(“/”)分隔。例如,“preject5_1/source”,表示preject5_1模型中名為source的子系統(tǒng)。用戶可以設(shè)置子系統(tǒng)在雙擊之后的打開萬式。選擇菜單欄上的“file”︱“Preferences…”命令打開如圖2—4所示的對話柜,在左邊的列表框中選擇“Simulink”,這時候可以在右邊面板的“window reuse”下拉列表中選擇所需的方式。 matlab的preferences對話框如果把“window reuse”設(shè)置為“none”,雙擊子系統(tǒng)時,simulink在新窗口中打開子系統(tǒng),原窗口保持不變:如果“window reuse”設(shè)置為“reuse”,simulink在當前窗口中打開子系統(tǒng):如果“window reuse”設(shè)置為“replace”,simulink在新窗口中打開子系統(tǒng),同時原窗口消失:如果“window reuse”設(shè)置為“mixed”,simulink在新窗口中打開子系統(tǒng),同時保持原窗口不變,這種方式與none的差別在于,當在于系統(tǒng)中選擇菜單欄上的“VIew”︱“go to parent”命令返回上一級系統(tǒng)時,none方式中這個子系統(tǒng)窗口不會消失,而mixer方式的子系統(tǒng)窗口被自動隱藏。 封裝子系統(tǒng)simulink模塊庫中的每一個模塊部有它獨特的圖標和參數(shù)設(shè)置對話框。對于用戶自己創(chuàng)建的子系統(tǒng),也可以通過simulink來設(shè)置該模塊的圖標和參數(shù)。選中某個子系統(tǒng),單擊右鍵后從彈出式菜單中選擇“Mask subsynem”,這時候就創(chuàng)建了一個封裝子系統(tǒng)(Masked subsynem)。需要注意的是,對于一個已經(jīng)被封裝的子系統(tǒng),它的Mask subsynem命令無效。 子系統(tǒng)轉(zhuǎn)化成封裝子系統(tǒng)之后,simulink彈出一個封裝編輯器對話框,這時候可以設(shè)置封裝子系統(tǒng)的圖標和模塊參數(shù)。封裝編輯器共有4個屬性頁,分別用與設(shè)置模塊的圖標、參數(shù)、初始化代碼以及文檔信息。在Icon屬性頁中,讀者可以設(shè)置模塊的外觀屬性,并且可以在Drawing mands編輯框中輸入代碼,以繪制模塊的圖標。我們可以通過MATLAB命令行“disp(‘source’)”在模塊中顯示一行文字“Source”。 通過Parameters屬性頁我們可以設(shè)置封裝子系統(tǒng)的白定義參數(shù),這些參數(shù)將出現(xiàn)在封裝子系統(tǒng)的參數(shù)設(shè)置對話框中。對于每一個自定義參數(shù),它有一個用于在參數(shù)設(shè)置對話框中顯示的名稱(prompt)和—個變量名稱。每個自定義參數(shù)可以通過編輯框(edit)、復選框(checkbox)或者是下拉列表(Popup)設(shè)置參數(shù)值。如果選擇了Evaluate復選框,則該參數(shù)的輸入將自動轉(zhuǎn)化成數(shù)值傳遞給相應的變量;否則,simulink自動把字符串傳遞給這個變量。如果選擇了tunable復選框,則該參數(shù)的數(shù)值可以在仿真過程中動態(tài)改變。例如,對于名為samples Per symbl的白定義參數(shù),它的內(nèi)部變量名為samples Per symbl,用戶可以通過下拉列表“popup”來選擇該參數(shù)的數(shù)值3或4,同時simulink傳遞給變量samples Per symbl—個數(shù)值,并且該參數(shù)可以在仿真過程中動態(tài)改變。 S函數(shù)及其簡介S函數(shù)是系統(tǒng)函數(shù)(Systemfunctions)的簡稱。在很多情況下,Simulink 模型庫(Simulink Library)中的模塊不能完全滿足用戶的要求,這時候需要由用戶自己來編寫相應的代碼。M文件雖然能夠用來編寫 MATLAB 函數(shù)代碼,但是它不具備與 Simulink 的接口,因此難以與Simulink其他模塊一起使用。S函數(shù)則提供了函數(shù)代碼與 Simulink之間的接口,使得用戶編寫的代碼既能夠像 Simulink 模型庫中的模塊那樣具有統(tǒng)一的仿真接口,同時能夠?qū)崱8鞣N靈活的控制和計算功能。從這個意義上說,S函數(shù)是對 Simulink模塊庫功能的擴展。S函數(shù)的代碼既可以用 MATLAB 語言編寫,也可以用其他通用的編程語言(如 C、C++、Ada 或 Fortran等)編寫,后者具有更強的控制能力,它們被編譯成 MEX(MATLAB EXecutable)文件,并且在仿真過程中動態(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)模型。 S函數(shù)工作原理每個Simulink模塊都可以表示成輸入信號 x、輸入信號y以及內(nèi)部狀態(tài)u之間的關(guān)系,如圖 31 所示。 內(nèi)部狀態(tài)u輸出y輸入x 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)對仿真結(jié)果的求解。 在仿真過程中,每個 Simulink模塊的執(zhí)行過程可以分成 3 個階段:初始化階段、仿真循環(huán)階段和仿真結(jié)束階段。在初始化階段,Simulink把各個模塊調(diào)入內(nèi)存,檢查模塊的數(shù)據(jù)類型和長度,設(shè)置仿真時間間隔,制訂仿真模塊的執(zhí)行順序,以及內(nèi)存分配。在仿真循環(huán)階段,Simulink按照初始化階段制定的順序依次執(zhí)行各個模塊,計算當前時刻的離散狀態(tài)和輸出信號,以小步長積分的方式計算各個連續(xù)狀態(tài)的數(shù)值以及由此產(chǎn)生的輸出。這個過程一直持續(xù)到仿真過程結(jié)束,然后Simulink進入仿真結(jié)束階段,清理各種已經(jīng)分配的資源,同時保存仿真過程中產(chǎn)生的數(shù)據(jù)。初始化計算下一個抽樣時間更新離散狀態(tài)計算過零點計算連續(xù)狀態(tài)導數(shù)計算連續(xù)狀態(tài)導數(shù)計算輸出信號循 環(huán) 仿 真仿真結(jié)束 simulink模塊仿真流程對應于仿真流程中的每一個步驟,Simulink中的S函數(shù)調(diào)用預先設(shè)定的函數(shù)來實現(xiàn)相應的功能。例如,我們可以編寫一個mdlInitializeSizes函數(shù)實現(xiàn)S函數(shù)的初始化操作,通過mdlDerivatives和mdlUpdate函數(shù)在每一個抽樣時刻分別計算連續(xù)狀態(tài)變量的導數(shù)和更新離散狀態(tài)的數(shù)值,在mdlOutputs函數(shù)中計算S函數(shù)的輸出信號等。需要指出的是,這些函數(shù)的名稱都可以由用戶自己設(shè)定。用戶需要在S函數(shù)的主體部分對這些函數(shù)進行注冊,Simulink通過回調(diào)函數(shù)(Callback Function)的方式在不同事件發(fā)生的時候調(diào)用相應的函數(shù)。 S函數(shù)基本概念在編寫S函數(shù)的時候經(jīng)常涉及到的概念有3個:直接反饋(Direct feedthrough)、可變長度輸入(Dynamically sized inputs)以及抽樣時刻和偏移(Setting sample times and offsets),它們是編寫S函數(shù)的基礎(chǔ)。1. 直接反饋 簡單說來,直接反饋(Direct feedthrough)指的是輸入信號是否直接影響著輸出信號和仿真的抽樣時間。在計算S函數(shù)輸出信號的過程中,如果輸出信號(包括仿真過程中繪制的圖形)是輸入信號的函數(shù),那么這個S函數(shù)存在直接反饋。同樣地,如果在可變步長的仿真過程中,S函數(shù)的輸入信號影響著對下一個仿真時刻的計算,這個S函數(shù)也存在直接反饋。Simulink根據(jù)模塊中的S函數(shù)是否存在直接反饋來確定仿真模型中各個模塊的執(zhí)行順序。如果S函數(shù)不存在直接反饋,在計算該模塊的輸出信號時這個模塊就可以不等待前一個模塊的輸出信號,因而有可能先于前面的模塊執(zhí)行。在編寫S函數(shù)的過程中,首要的是確定本模塊的直接反饋類型。 2.可變長度輸入 S函數(shù)輸入信號的長度既可以是固定的,也可以在仿真過程中根據(jù)輸入信號的長度動態(tài)設(shè)定。同時,輸入信號長度的動態(tài)變化也影響著S函數(shù)的連續(xù)狀態(tài)、離散狀態(tài)以及輸出信號的長度,從而給 S函數(shù)的設(shè)計提供了很大的靈活性。對于 M 文件 S函數(shù)構(gòu)成的模塊,它只有一個輸入信號端口,只能接受一維輸入向量,但是這個輸入向量的長度可以是動態(tài)確定的。C語言S函數(shù)則可以有多個輸入、輸出端口,每個端口的長度都是可變的。如果S函數(shù)把它的連續(xù)狀態(tài)、離散狀態(tài)或輸出信號也設(shè)置為可變長度信號,Simulink將根據(jù)輸入信號的長度來確定它們的長度,并且這些信號的長度與輸入信號的長度相同。3.抽樣時刻和偏移 在Simulink中,由S函數(shù)構(gòu)造的模塊的抽樣時間既可以是固定的,也可以是連續(xù)的;既可以是連續(xù)的,也可以是離散的。抽樣時間一般表示成“sample_time, offset_time”的形式,其中 sample_time表示抽樣周期,offset_time表示每個抽樣周期內(nèi)的時間偏移。歸納起來,S函數(shù)模塊的抽樣時間有以下幾種:連續(xù)抽樣時間(Continuous sample time)、連續(xù)時間固定間隔(Continuous but fixed in minor time step sample time) 、離散抽樣時間(Discrete sample time)、可變抽樣時間(Variable sample time)、繼承抽樣時間(Inherited sample time)。第三章 通信系統(tǒng)信道和噪聲研究及其仿真 通信系統(tǒng)信道模型及其分類各種發(fā)送信息傳送到既定的信宿,可選用適于傳輸?shù)奈锢砻襟w,完成通信功能。連接發(fā)信號與收信號設(shè)備、適用于不同類型通信業(yè)務的各種物理媒體通稱為信道。信道可分為有界與無界兩大類,即通常所說的有線信道與無線信道。前者如雙絞線、電纜、光纖、波導等,后者為自由空間提供的各種頻段或波長的電磁波傳播信道
點擊復制文檔內(nèi)容
數(shù)學相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1