




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
接口電路仿真的算法分析及實現(xiàn)引言系統(tǒng)仿真是近30年才發(fā)展起來的一門新興學科,它通過對所研究系統(tǒng)的認識與了解,抽取其中的基本要素,建立與現(xiàn)實系統(tǒng)相對應的仿真模型,并通過系統(tǒng)模型實驗去研究一個已經存在的或者正在設計的系統(tǒng)的過程。Matlab是一種功能強大的的仿真工具,它包括眾多的功能各異的工具箱、以矩陣與數(shù)組為基本單位的編程語言,為數(shù)學計算與試驗數(shù)據(jù)分析提供了極大的便利。Siumlink是MATLAB的一個共生產品,包括豐富的模塊資源與工具箱資源,具有相對獨立的功能與使用方法,提供了建模、分析與仿真各種動態(tài)系統(tǒng)的交互環(huán)境,建立仿真模型后可以很容易地通過改變仿真參數(shù),得到不同參數(shù)的仿真結果。結合MATLAB與Simulin的特點,可以實現(xiàn)各種電路的仿真。在構建仿真電路時,有些可以直接調用Simulink模塊,有些用Simulink模塊難以實現(xiàn)的,可以通過編寫Simulink支持的S函數(shù)來完成。對于比較復雜的仿真電路,可以采用Simulink模塊調用與編程混合的方式實現(xiàn)。本文所實現(xiàn)的A/D轉換電路的仿真就是采用Simulink模塊調用與MATLAB編程混合的方式。A/D轉換電路的仿真A/D轉換電路的的仿真模/數(shù)(A/D)轉換電路的任務是將連續(xù)變換的模擬信號轉換為離散的數(shù)字信號,以便于數(shù)字系統(tǒng)進行處理,模/數(shù)轉換一般要完成采樣、量化與編碼等幾個過程。采樣是在連續(xù)變化的模擬量上按一定的規(guī)律(周期地)取出其中的某一些瞬時值來代表這個連續(xù)的模擬量。為了保證采樣信號不丟失的信息,即采樣后的離散信號能代替或能恢復原來的連續(xù)信號,采樣必須遵循采樣定理,即對信號采樣時,采樣頻率必須大于或等于信號最高頻率的兩倍。量化就是將f(nT)的所有值映射到數(shù)字量所表示的狀態(tài)上。實際上,在量化過程中是將樣本的幅值范圍分為若干個量化層,每一個量化層對應一個量化輸出,所有落于該量化層內的樣本都統(tǒng)一取該量化輸出值。量化層的數(shù)目與量化后編碼的位數(shù)有關。采樣功能的實現(xiàn)A/D轉換就是一個量化的過程,它把采樣后的模擬信號轉換成數(shù)字量。在實際工作中,A/D轉換首先要選定一個合適的編碼方案,然后根據(jù)編碼的位數(shù)確定量化層,從而確定采樣頻率。實現(xiàn)仿真電路的關鍵是采樣模塊的構建,由于Simulink的模塊難以構建采樣功能,采樣模塊主要是通過編寫Simulink支持的S函數(shù)實現(xiàn)的。S函數(shù)有固定的程序格式,S函數(shù)的實現(xiàn)包括初始化、連續(xù)狀態(tài)微分、計算輸出與仿真終止??梢杂肕ATLAB語言可以編寫S函數(shù),也可以使用C語言、C++與Fortran等語言編寫。S函數(shù)使用一種特殊調用規(guī)則來實現(xiàn)用戶與Simulink的內部解法器進行交互,并且這種交互可以適用于不同性質的系統(tǒng)。S函數(shù)模塊存放在Functions&Tables模塊庫中,通過此模塊可以創(chuàng)建包含S函數(shù)的Simulink模塊。S函數(shù)文件名區(qū)域要填寫S函數(shù)的文件名。S函數(shù)參數(shù)區(qū)填入S函數(shù)所需要的參數(shù)。本系統(tǒng)假定輸入的模擬信號周期為2,編寫了4個S函數(shù),分別為sf_ad4、sf_ad8、sf_ad16、sf_ad32,對應的采樣時間分別為0.5、0.25、0.125、0.0625,即采樣頻率分別是信號最高頻率的四倍、八倍、十六倍與三十二倍。下面以sf_ad32函數(shù)為例,說明其算法及實現(xiàn)程序。首先,設模擬信號是周期為2的Sine波,且用連續(xù)的時間函數(shù)f(t)表示,采樣就是周期地取f(t)的瞬時值。根據(jù)采樣定理,對每個周期的模擬信號采樣32次,則采樣的時間就為0.0625(2/32)的倍數(shù)。完成一個周期的采樣時間為0.0625*n(0<=32,n為整數(shù)),延時為0。采樣后將相應值輸出,但信號在量值上仍然是連續(xù)的,需將f(nT)的所有值映射到數(shù)字量所表示的狀態(tài)上,這種過程為量化。在量化過程中是將樣本的幅值范圍分為若干個量化層,每一個量化層對應一個量化輸出,所有落在該量化層內的樣本都統(tǒng)一取該量化輸出值。本實例中,采用4位編碼,則有24=16個量化層。在編碼過程中采用從1000到0111的編碼,來輸出相應的量化值。其源代碼如下:function[sys,x0,str,ts]=sf_ad32(t,x,u,flag)switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case9,sys=[];otherwiseerror([unhandleflag=,num2str(flag)]);endfunction[sys,x0,str,ts]=mdlInitializeSizessizes=simsizes;sizes.NumContStates=0;sizes.NumDiscStates=0;sizes.NumOutputs=1;sizes.NumInputs=1;sizes.DiRFeedthrough=1;sizes.NumSampleTimes=32;sys=simsizes(sizes);x0=[];str=[];ts=[0.062500.12500.0625*300.2500.0625*31020];functionsys="mdlUpdate"(t,x,u)sys=x;functionsys="mdlOutput"(t,x,u)sys=u;其中,sys依照flag的值返回不同的結果,x0為初始狀態(tài)值,str用于設置輸出矢量為一個空矩陣,ts采用兩列的矩陣來設置采樣時間與延遲,sf_ad4是S函數(shù)的函數(shù)名,1為目前仿真中的實現(xiàn)時間,x為狀態(tài)矢量,可為空,u為輸入矢量,flag為S函數(shù)行為標示。sf_ad8、sf_ad16、sf_ad32的S函數(shù)類似于sf_ad4,不同的就是采樣時間的個數(shù)與ts的采樣時間與延遲矩陣。調用S函數(shù)時首先將所需的S函數(shù)模塊拖入調用模塊(Simulink->User-DefinedFunctions->S-Function)并設置S函數(shù)的參數(shù),參數(shù)設置對話框如圖1所示。Bl*el[Fwr I1果耶川同州用% 星皿V■帽”**口41*blfslEFlw匕anyb? i2I)售ArAfifcsad+口1,*la訕常3,爵訃mdu**tmd-flitwi叱,illrtoIM 皿b,5iEink"Tictri"pu-faHh*an??[■■iTfi?14F*rVB-a^trsFEixnEwn?*一-Gkfuam標WttE;「?… IDR]匚孫"!■ |圖1S函數(shù)的調用A/D轉換仿真電路的構建A/D轉換仿真電路由“模擬信號發(fā)生器”模塊、“選擇采
樣函數(shù)1?4”模塊、“結果顯示”模塊與“A/D轉換電路”子
第6頁系統(tǒng)組成,如圖2所示?!斑x擇采樣函數(shù)1?4”模塊是選擇采樣頻率,構建過程為:在Matlab的命令窗口中輸入命令Simulink打開SimnlinkLibraryBrowser子窗口,選中左邊目錄欄中的Simulink庫后單擊子目錄Sources,右邊的子窗口顯示相應的Sources庫中的模塊集,選中Constant常數(shù)模塊并拖入所建的仿真模塊中(簡單表述為Simulink->Sources->Constant,后文同此),雙擊此模塊出現(xiàn)參數(shù)設置框,輸入所要選擇函數(shù)對應的編號1?4?!澳M信號發(fā)生器”模塊與“結果顯示”模塊通過直接調用模擬信號發(fā)生器與示波器構建。"A/D轉換電路”子系統(tǒng)內部主要是由1個選擇開關與四個S函數(shù)組成?!安蓸与娐贰弊酉到y(tǒng)的構建首先是調用一般的子系統(tǒng)(Simulink->Ports&Subsystems->Subsystem),然后雙擊此子系統(tǒng),在子系統(tǒng)的內部生成1個選擇開關,拖入四個S函數(shù),把選擇開關與四個S函數(shù)相連。
TOTO圖2"A/D轉換”仿真系統(tǒng)的主界面A/D轉換電路的仿真結果運行仿真電路時,由“模擬信號發(fā)生器”模塊產生各種模擬輸入信號,通過“選擇采樣函數(shù)1?4”模塊選定采樣頻率,結果在“結果顯示”模塊顯示。選擇采樣函數(shù)為4,則A/D轉換的采樣時間為0.0625,選定輸入信號分別為正弦波與隨機波。運行此仿真系統(tǒng)后的結果如圖3、圖4所示。圖3輸入信號為正弦波的運行結果圖4
輸入信號為隨機波的運行結果3結^語本文作者創(chuàng)新點:由于Simulink的模塊庫中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級主題活動的選取與組織計劃
- 促進幼兒社交技能發(fā)展的教研活動計劃
- 企業(yè)資源配置的優(yōu)化策略計劃
- 加強組件安全性審查機制
- 物業(yè)管理服務合作意向合同
- 股份制文書操作指南與案例解析
- 證券市場投資咨詢及交易服務協(xié)議
- 物聯(lián)網智能家居系統(tǒng)解決方案服務合同
- 物聯(lián)網終端設備研發(fā)合同
- 中國古代詩詞故事征文
- 永磁直流(汽車)電機計算程序
- 中學學校2024-2025學年教師發(fā)展中心工作計劃
- app 購買合同范例
- 高二上學期物理(理科)期末試題(含答案)
- 小班期末家長會-雙向奔赴 共育花開【課件】
- 礦山生態(tài)修復工程不穩(wěn)定斜坡治理工程設計
- 2024年江西省高考物理試卷(含答案解析)
- 風機盤管更換施工方案
- 頸部瘢痕攣縮畸形治療
- 貴州省貴陽市2023-2024學年五年級上學期語文期末試卷(含答案)
- 《hpv與宮頸癌》課件
評論
0/150
提交評論