基于聲卡和Matlab的虛擬信號發(fā)生器_第1頁
基于聲卡和Matlab的虛擬信號發(fā)生器_第2頁
基于聲卡和Matlab的虛擬信號發(fā)生器_第3頁
基于聲卡和Matlab的虛擬信號發(fā)生器_第4頁
基于聲卡和Matlab的虛擬信號發(fā)生器_第5頁
全文預(yù)覽已結(jié)束

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于聲卡和Matlab的虛擬信號發(fā)生器摘要:聲卡是多媒體計(jì)算機(jī)最基本的配置硬件之一,價(jià)格便宜,使用方便。Matlab是一個(gè)數(shù)據(jù)分析和處理功能十分強(qiáng)大的工程實(shí)用軟件,他的數(shù)據(jù)采集工具箱為實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出提供了十分方便的函數(shù)和命令。介紹了通過計(jì)算機(jī)的聲卡來實(shí)現(xiàn)虛擬信號發(fā)生器的基本原理以及Matlab的數(shù)據(jù)采集工具箱中用于模擬信號輸出的主要函數(shù)和命令,并以三角波信號發(fā)生器為例,詳細(xì)介紹了該信號發(fā)生器的具體實(shí)現(xiàn)方法,這對獲得難以用常規(guī)儀器設(shè)備產(chǎn)生的信號提供了有效的方法,具有一定的借鑒價(jià)值。關(guān)鍵詞:Matlab;聲卡;信號發(fā)生器;三角波 聲卡作為多媒體計(jì)算機(jī)系統(tǒng)中最基本最常用的硬件之一,其技術(shù)已經(jīng)發(fā)

2、展成熟,他同時(shí)具有A/D和D/A轉(zhuǎn)換功能,經(jīng)濟(jì)方便,目前已經(jīng)被廣泛應(yīng)用于數(shù)據(jù)采集和虛擬儀器系統(tǒng)的設(shè)計(jì)1,2。Matlab是一個(gè)數(shù)據(jù)分析和處理功能十分強(qiáng)大的工程實(shí)用軟件,他的數(shù)據(jù)采集工具箱(data acquisition toolbox)為實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出提供了十分方便的函數(shù)和命令,利用這些函數(shù)和命令可以很容易地實(shí)現(xiàn)對外部物理世界的信號輸出和輸入。根據(jù)聲卡輸出信號的原理,采用Matlab軟件編程,可以方便地利用聲卡輸出所需要的三角波、正弦波、方波等多種信號,有效地實(shí)現(xiàn)信號發(fā)生器的基本功能。1基于Matlab和聲卡的虛擬信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)1.1系統(tǒng)實(shí)現(xiàn)原理通常PC機(jī)配置的聲卡提供了麥克風(fēng)

3、輸入和揚(yáng)聲器輸出2個(gè)接口,他集成了信號輸入/輸出需要 的模/數(shù)轉(zhuǎn)換器(ADC)和數(shù)/模轉(zhuǎn)換器(DAC),因此,利用Matlab軟件產(chǎn)生的各種虛擬信號通過聲卡的DAC單元就可以直接輸出。普通計(jì)算機(jī)與Matlab軟件相結(jié)合實(shí)現(xiàn)虛擬信號發(fā)生器的系統(tǒng)結(jié)構(gòu)如圖1所示。圖1中,只需要用音頻線將軟件系統(tǒng)產(chǎn)生的信號由線性輸出(line out)接口引出,就可以通過聲卡直接作為信號源輸出,顯然,在這種虛擬信號發(fā)生器系統(tǒng)中,只需要一臺帶有普通多媒體聲卡并安裝了Matlab軟件的PC機(jī)就可以滿足要求實(shí)現(xiàn)虛擬信號的輸出,系統(tǒng)結(jié)構(gòu)簡單方便。1.2基于Matlab的信號發(fā)生器的實(shí)現(xiàn)方法Matlab的數(shù)據(jù)采集工具箱(DAT

4、)提供了一系列的函數(shù)和命令來實(shí)現(xiàn)實(shí)時(shí)模擬信號的輸出,通過調(diào)用這些函數(shù)和命令可以直接控制聲卡輸出虛擬信號,在Matlab中用聲卡產(chǎn)生虛擬信號的過程如圖2所示。Matlab的數(shù)據(jù)采集工具箱提供的控制聲卡輸出模擬信號的主要函數(shù)和命令如下:(1) 初始化操作Matlab將聲卡等設(shè)備都作為對象處理,其后的一切操作都不與硬件直接相關(guān),而是通過對該 對象的操作來作用對象,所以,首先要為聲卡建立一個(gè)設(shè)備對象。Matlab建立設(shè)備對象的函數(shù)如下:analogouput()為模擬輸出設(shè)備對象建立函數(shù),通過該函數(shù)將聲卡映射為Matlab環(huán)境中的一個(gè)模擬輸出設(shè)備對象句柄。winsound為聲卡設(shè)備驅(qū)動程序。(2) 添

5、加數(shù)據(jù)輸出通道操作Matlab中用于添加數(shù)據(jù)輸出通道操作的函數(shù)為addchannel,其函數(shù)格式如下:其中:ao為聲卡對象的句柄(下同),ch為聲卡通道號,最大為2通道。(3) 輸出數(shù)據(jù)操作Matlab中用于輸出數(shù)據(jù)操作的函數(shù)為putdata,其函數(shù)格式如下:putudata(ao,data)其中:data為所需要輸出的數(shù)據(jù)。(4) 啟動并觸發(fā)聲卡設(shè)備操作當(dāng)完成輸出數(shù)據(jù)操作后,并沒有真正輸出數(shù)據(jù),必須啟動聲卡,才能對外輸出信號,啟動并觸發(fā)聲卡設(shè)備操作的命令如下:start(ao)(5) 停止并刪除聲卡設(shè)備操作信號輸出完成后,聲卡設(shè)備仍然保留在計(jì)算機(jī)系統(tǒng)中,若不將聲卡設(shè)備停止并刪除,計(jì)算機(jī)系統(tǒng)中

6、仍會保留該設(shè)備,在下次啟動虛擬信號發(fā)生器系統(tǒng)時(shí)將會發(fā)出聲卡設(shè)備仍然在使用的錯(cuò)誤信息。從系統(tǒng)中停止和刪除聲卡設(shè)備操作的命令分別如下: 2應(yīng)用實(shí)例利用Matlab的數(shù)據(jù)采集工具箱和圖形用戶接口3可以方便地通過設(shè)計(jì)的界面控制輸出信號的幅度、頻率、寬度等參數(shù),并可以用示波器直接觀測,圖3為虛擬信號發(fā)生器系統(tǒng)的主界面,可以用來產(chǎn)生正弦波信號、方波信號、矩形波信號、三角波信號和隨機(jī)信號等常用信號。這里以三角波虛擬信號發(fā)生器為例來說明利用Matlab和聲卡輸出三角波信號的具體軟件實(shí)現(xiàn) 方法。三角波信號發(fā)生器的參數(shù)設(shè)置界面如圖4所示,他除了可以用于參數(shù)設(shè)置外,還可以顯示輸出信號的模擬波形。 采用Ma

7、tlab實(shí)現(xiàn)的具體程序如下: 3結(jié)語Matlab的數(shù)據(jù)采集工具箱和圖形用戶接口提供了十分簡便的實(shí)現(xiàn)聲卡輸出功能的命令和函數(shù) ,利用Matlab和聲卡設(shè)計(jì)虛擬信號發(fā)生器十分方便,而在硬件上只需要一塊聲卡,無需添加 任何其他設(shè)備,價(jià)格十分便宜。雖然聲卡的設(shè)計(jì)是以產(chǎn)生聲音為目的,有效的音頻范 圍和輸出電壓的幅度在一定程度上限制了他的使用,但這已完全能滿足產(chǎn)生基本信號源的 要求。在本設(shè)計(jì)的基礎(chǔ)上,通過進(jìn)一步的Matlab編程或硬件上的改進(jìn)和擴(kuò)展,可以實(shí)現(xiàn)一些 常規(guī)儀器設(shè)備不能產(chǎn)生的信號,這在實(shí)際應(yīng)用中具有廣泛的推廣應(yīng)用前景。參考文獻(xiàn)1傅俊慶,趙愛瓊. Matlab中基于聲卡的虛擬儀器動態(tài)數(shù)據(jù)分析儀 J.長沙交通學(xué)院學(xué)報(bào)

溫馨提示

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

評論

0/150

提交評論