資源描述:
《cdma多用戶檢測(cè)的simulink仿真研究》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、第四章仿真環(huán)境介紹及模型的建立4.1MATLAB&Simulink簡(jiǎn)介MATLAB軟件系列產(chǎn)品是一套高效強(qiáng)大的工程技術(shù)數(shù)值運(yùn)算和系統(tǒng)仿真軟件,廣泛應(yīng)用于當(dāng)今的航空航天、汽車制造、半導(dǎo)體制造、電子通信、醫(yī)學(xué)研究、財(cái)經(jīng)研究和高等教育等領(lǐng)域,被譽(yù)為“巨人肩膀上的工具”。研發(fā)人員借助MATLAB軟件能迅速測(cè)試設(shè)計(jì)構(gòu)想,綜合評(píng)測(cè)系統(tǒng)性能,快速設(shè)計(jì)更好方案來(lái)確保更高技術(shù)要求。同時(shí),MATLAB也是國(guó)家教委重點(diǎn)提倡的一種計(jì)算工具。綜合起來(lái),MATLAB有編程效率高、使用方便、擴(kuò)充能力強(qiáng)、語(yǔ)句簡(jiǎn)單,內(nèi)涵豐富、高效方便的矩陣和數(shù)組運(yùn)算、方便的繪圖功能等特點(diǎn)。動(dòng)態(tài)系統(tǒng)是輸出
2、信號(hào)隨時(shí)間變化的系統(tǒng)。要描述這種系統(tǒng)的特性,傳統(tǒng)的建模方法是先對(duì)系統(tǒng)的輸入信號(hào)和輸出信號(hào)進(jìn)行分析,得到它們的系統(tǒng)方程,然后編寫(xiě)程序進(jìn)行仿真。這種仿真方法有兩個(gè)缺點(diǎn)。首先是不夠直觀,缺乏足夠的人機(jī)交互。由于所有的輸入信號(hào)和輸出信號(hào)都被抽象成數(shù)值之間的關(guān)系,仿真表現(xiàn)為一種計(jì)算過(guò)程,因此難以對(duì)仿真的過(guò)程進(jìn)行控制,也難以對(duì)仿真的輸出數(shù)據(jù)進(jìn)行直觀的描述和分析。另外,這種方法缺乏系統(tǒng)性,尤其是在對(duì)復(fù)雜系統(tǒng)的處理過(guò)程中,難以采用模塊化方法,從而降低了仿真程序的可讀性和可擴(kuò)展性。Simulink是MATLAB提供的用于對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的工具包。Simuli
3、nk提供了專門用于顯示輸出信號(hào)的模塊,可以在仿真過(guò)程中隨時(shí)觀察仿真結(jié)果。同時(shí),通過(guò)Simulink的存儲(chǔ)模塊,仿真數(shù)據(jù)可以方便地以各種形式保存到工作區(qū)或文件中,供用戶在仿真結(jié)束之后對(duì)數(shù)據(jù)進(jìn)行分析和處理。另外,Simulink把具有特定功能的代碼組織成模塊的方式,并且這些模塊可以組織成具有等級(jí)結(jié)構(gòu)的子系統(tǒng),因此具有內(nèi)在的模塊化設(shè)計(jì)要求?;谏鲜鰞?yōu)點(diǎn),Simulink稱為一種通用的仿真建模工具,廣泛應(yīng)用于通信仿真、數(shù)字信號(hào)處理、模糊邏輯、神經(jīng)網(wǎng)絡(luò)、機(jī)械控制和虛擬現(xiàn)實(shí)等領(lǐng)域。根據(jù)輸出信號(hào)與輸入信號(hào)的關(guān)系,Simulink提供3種類型的模塊:連續(xù)模塊、離散模塊和
4、混合模塊。連續(xù)模塊是指輸出信號(hào)隨著輸入信號(hào)發(fā)生連續(xù)變化的模塊,離散模塊則是輸出信號(hào)以固定間隔變化的模塊。對(duì)于連續(xù)模塊,Simulink采用積分方式計(jì)算輸出信號(hào)的數(shù)值,因此,連續(xù)模塊主要涉及導(dǎo)數(shù)的計(jì)算及其積分。離散模塊的輸出信號(hào)在下一個(gè)抽樣時(shí)刻到來(lái)之前保持恒定,這時(shí)候Simulink只需以一定的間隔計(jì)算輸出信號(hào)的數(shù)值?;旌夏K是根據(jù)輸入信號(hào)的類型來(lái)確定輸出信號(hào)類型的,它既能夠產(chǎn)生連續(xù)輸出信號(hào),也能夠產(chǎn)生離散輸出信號(hào)。如果一個(gè)仿真模型中只包含離散模塊,這時(shí)候Simulink采用固定步長(zhǎng)方式進(jìn)行仿真(即每個(gè)一定的間隔計(jì)算一次輸出信號(hào))。當(dāng)所有的離散模塊都有相同
5、的抽樣間隔時(shí),Simulink只需要按照這個(gè)間隔實(shí)施仿真;否則,Simulink采用多速率方式進(jìn)行仿真。多速率仿真模式的一種方案是選取一個(gè)最大可用間隔,使之適用于所有的離散模塊。這個(gè)間隔一般是各個(gè)離散模塊抽樣間隔的最大公約數(shù)。對(duì)于可變步長(zhǎng)方式,多速率仿真模式按照各個(gè)模塊的抽樣間隔列出系統(tǒng)可能的仿真時(shí)刻,在仿真時(shí)刻到來(lái)的時(shí)候只對(duì)相應(yīng)的離散模塊實(shí)施仿真,從而在一定程度上提高了仿真的效率。如果仿真模型中包含了連續(xù)模塊,Simulink將采用連續(xù)方式對(duì)模塊進(jìn)行仿真。如果模塊中既包含了連續(xù)模塊,又包含了離散模塊,Simulink采用兩種仿真步長(zhǎng)進(jìn)行仿真。對(duì)于其中的
6、離散模塊,Simulink可以按照離散模塊的方式進(jìn)行仿真,這個(gè)仿真步長(zhǎng)稱為主步長(zhǎng)(majorstepsize)。在每個(gè)主步長(zhǎng)仿真中,Simulink使用小步長(zhǎng)間隔(minorstepsize),通過(guò)積分運(yùn)算得到連續(xù)狀態(tài)的當(dāng)前輸出信號(hào)。S-函數(shù)是系統(tǒng)函數(shù)(System-functions)的簡(jiǎn)稱。多情況下,Simulink模型庫(kù)(SimulinkLibrary)中的模塊不能完全滿足用戶的要求,這時(shí)候需要由用戶自己來(lái)編寫(xiě)相應(yīng)的代碼。M文件雖然能夠用來(lái)編寫(xiě)MATLAB函數(shù)代碼,但是它不具備與Simulink的接口,因此難以與Simulink其他模塊一起使用。S
7、-函數(shù)則提供了函數(shù)代碼與Simulink之間的接口,使得用戶編寫(xiě)的代碼既能夠像Simulink模型庫(kù)中的模塊那樣具有統(tǒng)一的仿真接口,同時(shí)能夠?qū)崿F(xiàn)各種靈活的控制和計(jì)算功能。從這個(gè)意義上說(shuō),S-函數(shù)是對(duì)Simulink模塊庫(kù)功能的擴(kuò)展。S-函數(shù)的代碼既可以用MATLAB語(yǔ)言編寫(xiě),也可以用其他通用的編程語(yǔ)言(如C、C++、Ada或Fortran等)編寫(xiě),后者具有更強(qiáng)的控制能力,它們被編譯成MEX(MATLABEXecutable)文件,并且在仿真過(guò)程中動(dòng)態(tài)裝載。4.2仿真模型的建立本文利用Simulink平臺(tái),模擬了一個(gè)小區(qū)內(nèi)十個(gè)用戶的碼元發(fā)送,擴(kuò)頻,接收,解
8、擴(kuò),判決的CDMA通信基本過(guò)程,仿真基本流程如圖4-1所示:圖4-1Simuli