接口電路仿真的算法分析及實(shí)現(xiàn)
其中,sys依照f(shuō)lag的值返回不同的結(jié)果,x0為初始狀態(tài)值,str用于設(shè)置輸出矢量為一個(gè)空矩陣,ts采用兩列的矩陣來(lái)設(shè)置采樣時(shí)間和延遲,sf_ad4是S函數(shù)的函數(shù)名,t為目前仿真中的實(shí)現(xiàn)時(shí)間,x為狀態(tài)矢量,可為空,u為輸入矢量,flag為S函數(shù)行為標(biāo)示。
sf_ad8、sf_ad16、sf_ad32的S函數(shù)類似于sf_ad4,不同的就是采樣時(shí)間的個(gè)數(shù)和ts的采樣時(shí)間和延遲矩陣。調(diào)用S函數(shù)時(shí)首先將所需的S函數(shù)模塊拖入調(diào)用模塊(Simulink->User-Defined Functions->S-Function)并設(shè)置S函數(shù)的參數(shù),參數(shù)設(shè)置對(duì)話框如圖1所示。
圖1 S函數(shù)的調(diào)用
2.1.2 A/D轉(zhuǎn)換仿真電路的構(gòu)建
A/D轉(zhuǎn)換仿真電路由“模擬信號(hào)發(fā)生器”模塊、“選擇采樣函數(shù)1~4”模塊、“結(jié)果顯示”模塊和“A/D轉(zhuǎn)換電路”子系統(tǒng)組成,如圖2所示。
“選擇采樣函數(shù)1~4”模塊是選擇采樣頻率,構(gòu)建過(guò)程為:在Matlab的命令窗口中輸入命令Simulink打開(kāi)Simnlink Library Browser子窗口,選中左邊目錄欄中的Simulink庫(kù)后單擊子目錄Sources,右邊的子窗口顯示相應(yīng)的Sources庫(kù)中的模塊集,選中 Constant常數(shù)模塊并拖入所建的仿真模塊中(簡(jiǎn)單表述為Simulink->Sources->Constant,后文同此),雙擊此模塊出現(xiàn)參數(shù)設(shè)置框,輸入所要選擇函數(shù)對(duì)應(yīng)的編號(hào)1~4?!澳M信號(hào)發(fā)生器”模塊和“結(jié)果顯示”模塊通過(guò)直接調(diào)用模擬信號(hào)發(fā)生器和示波器構(gòu)建?!癆/D轉(zhuǎn)換電路”子系統(tǒng)內(nèi)部主要是由1個(gè)選擇開(kāi)關(guān)和四個(gè)S函數(shù)組成?!安蓸与娐贰弊酉到y(tǒng)的構(gòu)建首先是調(diào)用一般的子系統(tǒng)(Simulink->PortsSubsystems->Subsystem),然后雙擊此子系統(tǒng),在子系統(tǒng)的內(nèi)部生成1個(gè)選擇開(kāi)關(guān),拖入四個(gè)S函數(shù),把選擇開(kāi)關(guān)與四個(gè)S函數(shù)相連。
圖2 “A/D轉(zhuǎn)換”仿真系統(tǒng)的主界面
2.1.3 A/D轉(zhuǎn)換電路的仿真結(jié)果
運(yùn)行仿真電路時(shí),由“模擬信號(hào)發(fā)生器”模塊產(chǎn)生各種模擬輸入信號(hào),通過(guò)“選擇采樣函數(shù)1~4”模塊選定采樣頻率,結(jié)果在“結(jié)果顯示”模塊顯示。
選擇采樣函數(shù)為4,則A/D轉(zhuǎn)換的采樣時(shí)間為0.0625,選定輸入信號(hào)分別為正弦波和隨機(jī)波。運(yùn)行此仿真系統(tǒng)后的結(jié)果如圖3、圖4所示。
圖3 輸入信號(hào)為正弦波的運(yùn)行結(jié)果 圖4 輸入信號(hào)為隨機(jī)波的運(yùn)行結(jié)果
3 結(jié)束語(yǔ)
本文作者創(chuàng)新點(diǎn):由于Simulink的模塊庫(kù)中,缺少各種可編程接口芯片模塊,將Simulink 和MATLAB編程混合應(yīng)用到A/D、D/A轉(zhuǎn)換電路的仿真,結(jié)果表明仿真效果良好。這種方法可以應(yīng)用于多種控制電路、通信電路等系統(tǒng)的仿真中。仿真電路的工作過(guò)程類似于真實(shí)的硬件,而且更便宜、更靈活,也很容易進(jìn)行恢復(fù),避免了操作錯(cuò)誤造成的損失,按每個(gè)單位一年減少五千元計(jì)算,具有明顯的經(jīng)濟(jì)效益和社會(huì)效益。
評(píng)論