虛擬信號發(fā)生器的研究與設計(畢業(yè)論文)_第1頁
虛擬信號發(fā)生器的研究與設計(畢業(yè)論文)_第2頁
虛擬信號發(fā)生器的研究與設計(畢業(yè)論文)_第3頁
虛擬信號發(fā)生器的研究與設計(畢業(yè)論文)_第4頁
虛擬信號發(fā)生器的研究與設計(畢業(yè)論文)_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 畢業(yè)設計(論文) 課 題: 虛擬信號發(fā)生器的研究與設計 專 業(yè): 自動化 班 級: 學生姓名: 學 號: 指導教師: 摘摘 要要 本文僅就基于 labwindows/cvi 虛擬信號發(fā)生器進行設計,虛擬信號發(fā)生器 利用 labwindows/cvi 提供的軟件平臺以及強大的函數(shù)庫,通過簡單的單片機 mcu+dds 就可以產生頻帶寬,精度高,幅值、相位和頻率連續(xù)可調的波形,借 助 pc 機的網絡傳輸功能可實現(xiàn)網絡控制和信號處理?;?labwindows/cvi 的 虛擬信號采集卡利用 c8051f020 微處理器內的 a/d 通道及 i/o 端口完成虛擬信 號采集,放大處理和數(shù)據(jù)傳輸任務,對

2、信號的處理和顯示可由 pc 機來完成或由 網絡控制,減少硬件的開支,易于實現(xiàn)自動測控。最后,在對本文系統(tǒng)進行全 面測試,結果表明本方案可行,具有較大的通用性。 通過虛擬信號發(fā)生器的設計,闡述利用 labwindows/cvi 進行虛擬儀器設計 的方法、步驟和實現(xiàn)技術,并展望虛擬儀器的廣闊應用前景。利用其軟件開發(fā) 平臺,按步驟闡述了虛擬信號發(fā)生器的設計和實現(xiàn)過程,最終實現(xiàn)了信號發(fā)生 器的設計,該信號發(fā)生器可以選擇波形以及幅值和頻率。更能可以由用戶根據(jù) 需要自行設計和擴展,人及界面友好。 關鍵詞:信號發(fā)生器;虛擬儀器;labwindows/cvi abstractabstract the cont

3、ent of this paper is about virtual function signal generator which is based on labwindows/cvi and digital signal processor. it includes designing the structure of virtual signal generator which is based on labwindows/cvi and digital signal processor, which includes hardware and software structure, d

4、esigning digital signal capture board which is based on c8051f020 and giving network measure and controlling based on tcp/ip and signal processor. use labwindows/cvi software platform and powerful function library, simple mcu+dds while can generate signal wave with wide channel, high precision and c

5、ontinuous adjustive swing, phase and frequence, the transmission function of network, virtual signal generator can achieve network control and signal process. used a/d channel and i/o ports which insides c8051f020 microprocessor, visual capture signal board based on labwindows/cvi finishes analog si

6、gnal capture, ampliation and data transmission . signal process and display can be finished by personal computer or mcu. and by network control we can reduce hardware expenditure and simply achieve autocontrol. finally, through all-sided test, the result showing the project is feasible and has been

7、universal used. by the designing of the virtual signal generator,the designing methods,steps and technology of virtual instruments which is based on the labwindows/cvi are acquired,and prospect its wide application,after introduce the concept of the virtual signal generator,which makes the best use

8、of the soft development platform,giving out the design and the implement steps of the virtual signal generator,and the virtual signal generator is carried out finally which can be used to select the waveform 、amplitude and frequency ,and the virtual instrument can be defined or develeped and accordi

9、ng to the requirements and its man machine interface is friendly. keywordskeywords: signal generator ;virtual instrument ;labwindows/cvi 目錄目錄 第一章第一章緒論緒論.- - 5 5 - - 第二章第二章 labwindows/cvilabwindows/cvi 簡介簡介 .- - 7 7 - - 2.1 labwindows/cvi 概述.- 7 - 2.2 labwindows /cvi 的特點 .- 7 - 2.3 基于 labwindows /cvi

10、 的虛擬儀器構成.- 9 - 2.3.1 儀器硬件平臺.- 9 - 2.3.2 虛擬儀器應用軟件.- 10 - 2.4 虛擬儀器的內部功能 .- 10 - 2.5 labwindows /cvi 的運行環(huán)境 .- 10 - 2.6 虛擬儀器技術及發(fā)展 .- 11 - 2.6.1 虛擬儀器特點.- 11 - 2.6.2 虛擬儀器技術應用.- 12 - 2.6.3 虛擬儀器的發(fā)展.- 12 - 第三章第三章 虛擬信號發(fā)生器的理論研究虛擬信號發(fā)生器的理論研究.- - 1313 - - 3.1 虛擬信號發(fā)生器的基本原理.- 13 - 3.2.信號發(fā)生器現(xiàn)狀及發(fā)展 .- 16 - 第四章第四章 虛擬信號

11、發(fā)生器的設計虛擬信號發(fā)生器的設計.- - 1818 - - 4.1 虛擬信號發(fā)生器設計 .- 18 - 4.1.1 虛擬信號發(fā)生器的工作原理.- 18 - 4.1.2 信號的頻譜分析 .- 19 - 4.1.3 儀器硬件面板設計 .- 20 - 4.1.4 軟件設計(程序設計) .- 24 - 4.1.5 運行程序完成項目文件 .- 36 - 總結總結.- - 4141 - - 致致 謝謝.- - 4343 - - 參考文獻參考文獻.- - 4444 - - 附錄一附錄一 英文翻譯資料英文翻譯資料.- - 4545 - - 附錄二附錄二 程序程序.- - 5353 - - (一)在虛擬信號發(fā)生

12、器面板 all code 產生*.c 文件中程序清單:- 53 - (二)信號發(fā)生器完整程序清單:.- 55 - 附錄三附錄三 各函數(shù)的功能和插入方法各函數(shù)的功能和插入方法.- - 6060 - - 第一章第一章 緒論緒論 隨著計算機技術的高速發(fā)展和普及帶動了各個行業(yè)的進步,有力地促進了 多年來發(fā)展相對緩慢的儀器技術的飛躍,給儀器儀表領域帶來了深刻的變化; 新的測試理論、測試方法、測試領域以及儀器結構不斷出現(xiàn),而電子測量技術 的功能和作用也發(fā)生了質的變化。 20 世紀 80 年代中后期,國外提出了“虛 擬儀器”,“虛擬系統(tǒng)”的概念,隨著微電子技術、計算機技術的飛速發(fā)展及 其在測量與儀器上的應用

13、,測試領域的新理論、新方法以及儀器結構不斷出現(xiàn) 突破了傳統(tǒng)儀器的概念,繼而開創(chuàng)了儀器儀表的新時代-虛擬儀器。 所謂虛擬儀器(virtual instrument,簡稱 vi),就是用戶在計算機平臺 上,根據(jù)要求定義和設計儀器的測試功能,使得使用者在操作這臺計算機時, 就像是在操作一臺自己設計的測試儀器。需要指出的是,虛擬儀器實質是是一 種創(chuàng)新的儀器設計思想,但虛擬儀器離不開計算機控制,軟件是虛擬儀器設計 的核心。 虛擬儀器的組成包括硬件和軟件兩個基本要素。虛擬儀器中硬件的主要功 能是獲取真實世界中的被測信號,而軟件的作用是控制現(xiàn)實數(shù)據(jù)采集、分析、 處理、顯示等功能,并將其集成為儀器操作與運行的

14、命令環(huán)境。虛擬儀器的分 類可以按照多種分類方法,即可按照應用領域,也可按照測量功能分類,但常 按照虛擬儀器的接口總線方式分類。按照總線的接口方式分為:數(shù)據(jù)采集插卡 式(daq)虛擬儀器、rs232/rs422 虛擬儀器、并行接口虛擬儀器、usb 虛擬儀 器、gpib 虛擬儀器、vxi 虛擬儀器、pxi 虛擬儀器和最新的 ieee1394 接口虛擬 儀器。 基于 labwindows/cvi 的虛擬函數(shù)信號發(fā)生器、數(shù)據(jù)采集和信號處理的研究 還處于發(fā)展階段,也是國內外研究的重要課題,國內外都正在展開積極的研究。 把信號發(fā)生、數(shù)據(jù)采集和信號處理集成在一起,利用網絡對其進行控制和處理, 并且在軟硬件的

15、升級方面有很大的改善空間和靈活性,改變了人們對儀器的傳 統(tǒng)觀念,適應了現(xiàn)代測試系統(tǒng)的網絡化、智能化發(fā)展趨勢。就像我們所說的 “軟件就是儀器”,他將成為一個具有廣泛應用前景的新興產業(yè)。 隨著計算機技術和個人電腦技術的出現(xiàn)和發(fā)展,傳統(tǒng)儀器開始向計算機化 的方向發(fā)展,人們開始考慮使用電腦來處理傳統(tǒng)儀器所測數(shù)據(jù)。20 世紀 80 年 代,隨著計算機技術的進一步發(fā)展,個人電腦可以帶有多個擴展槽,就出現(xiàn)了 插在計算機里的數(shù)據(jù)采集卡。它可以金星一些簡單的數(shù)據(jù)采集,數(shù)據(jù)的后處理 由計算機軟件完成,這就是虛擬儀器技術的雛形。1986 年,美國 national instrument 公司(以下簡稱 ni 公司)

16、提出了“軟件即儀器的口號”,推出了 ni-labview 直觀的流程圖編程風格的開發(fā)和運行程序平臺,同時提出了 labwindows/cvi 基于 c 語言的程序化編程風格的開發(fā)和運行程序平臺,開啟了 虛擬儀器的先河。虛擬儀器技術的提出與發(fā)展,標志著二十一世紀自動測試與 電子測量儀器領域技術發(fā)展的一個重要方向。 虛擬儀器技術目前在國內外發(fā)展很快,以美國國家儀器公司(ni 公司)為 代表的一批廠商已經在市場上推出了基于虛擬儀器技術而設計的商品化儀器產 品。 本文圍繞基于 labwindows/cvi 的虛擬信號發(fā)生器的研究與設計,主要完成 以下工作: 1. 基于 labwindows/cvi 的

17、信號發(fā)生器的硬件平面設計。 2. 基于 labwindows/cvi 的信號發(fā)生器的軟件程序設計。 3. 虛擬信號發(fā)生器的仿真調試運行結果。 第二章第二章 labwindows/cvilabwindows/cvi 簡介簡介 1986 年,美國 national instrument 公司(以下簡稱 ni 公司)提出了 “軟件即儀器的口號”,推出了 ni-labview 直觀的流程圖編程風格的開發(fā)和運 行程序平臺,同時提出了 labwindows/cvi 基于 c 語言的程序化編程風格的開發(fā) 和運行程序平臺,開啟了虛擬儀器的先河。labwindows/cvi 軟件,它以 ansi c 為核心,功

18、能強大,使用靈活的 c 語言平臺與數(shù)據(jù)采集,分析和表達的測控 專業(yè)的工具有機的結合起來。他的集成化開發(fā)平臺,交互式編程方法,豐富的 控件和庫函數(shù)大大增強了 c 語言的功能,為熟悉 c 語言的開發(fā)人員建立檢測系 統(tǒng),自動測量環(huán)境,數(shù)據(jù)采集系統(tǒng),過程監(jiān)控系統(tǒng)等提供了一個理想的軟件開 發(fā)環(huán)境。 2.12.1 labwindows/cvilabwindows/cvi 概述概述 labwindows/cvi 是面向儀器與測控過程的交互式 c/c+開發(fā)平臺,它是一 個用 c 語言構建儀器系統(tǒng)的交互式軟件開發(fā)環(huán)境,可以模塊化方式對 c 語言進 行編輯、編譯、連接和調試。其有以下特點: 1.交互式程序開發(fā)。

19、2.集成開發(fā)平臺。 3.功能強大的函數(shù)庫。 4.簡單直觀的圖形用戶界面設計。 5.完善的兼容性。 6. 多種靈活的程序調試手段。 7.網絡功能。 2.22.2 labwindows/cvilabwindows/cvi 的特點的特點 labwindows/cvi 作為一個優(yōu)秀的軟件開發(fā)平臺,和其他虛擬儀器開發(fā)工具 相比,具有如下特點: (1)交互式的程序開發(fā) labwindows/cvi 將源代碼編程、32 位 ansic 編譯、連接、調試及標準 ansic 庫等集成在一個交互式開發(fā)平臺中,采用簡單直觀圖形用戶界面設計, 利用函數(shù)面板輸入函數(shù)參數(shù)的參數(shù),采用事件驅動方式和回調函數(shù)方式的編程 技術

20、,有效的提高了工程設計的效率和可靠性。 (2)功能強大的函數(shù)庫 如接口函數(shù)、信號處理函數(shù)庫、windows sdk(software development kit)、 儀器驅動函數(shù)庫等,利用這些函數(shù)庫可以輕松實現(xiàn)復雜的數(shù)據(jù)采集和儀器控制 系統(tǒng)的開發(fā)。同時,labwindows/cvi 附加了各種軟件開發(fā)包,如數(shù)據(jù)庫軟件包、 internet 軟件包、小波分析軟件包等,大大增強了 labwindows/cvi 的性能。 靈活的程序調試手段 labwindows/cvi 提供了單步執(zhí)行、斷點執(zhí)行、過程跟蹤、參數(shù)檢查、運行 時內存檢查等多種調試手段。 labwindows/cvi 以面向虛擬儀器的

21、交互式開發(fā)環(huán)境,滿足看用戶對軟件 不斷變化的要求,在產品的設計中,可以快速的創(chuàng)建、配置并顯示測量。 labwindows/cvi 可以自動生成代碼、編譯和連接,省去了手工編寫,更有利于 系統(tǒng)的開發(fā)。 1. 開放式的框架結構 在 labwindows/cvi 環(huán)境中,可以結合使用標準的 ansic 源文件、obj 文件 和動態(tài)鏈接庫(dll)。還可以將軟件中的儀器驅動程序庫與其他標準的 c 編譯 器結合使用,無需更改開發(fā)工具。同時,可以在不同的工作小組之間共享函數(shù) 模塊和虛擬儀器程序。 2. 集成式的開發(fā)環(huán)境 labwindows/cvi 是集成式的開發(fā)環(huán)境,可用于創(chuàng)建基于 daq、gpib、p

22、xi、vxi、串口和以太網的虛擬儀器系統(tǒng)。這一開發(fā)方式結合了交 互式、簡單易用的開發(fā)方式與 ansic 代碼的強大編寫功能和靈活性。 labwindows/cvi 中的交互式開發(fā)工具和函數(shù)庫可以輕松實現(xiàn)自動化測試系統(tǒng)、 實驗室研發(fā)、數(shù)據(jù)采集監(jiān)視項目、驗證測試和控制系統(tǒng)的設計。 2.32.3 基于基于 labwindows/cvilabwindows/cvi 的虛擬儀器構成的虛擬儀器構成 基于 labwindows/cvi 虛擬儀器通常由通用儀器硬件平臺和應用軟件兩大部 分構成。 2.3.12.3.1 儀器硬件平臺儀器硬件平臺 虛擬儀器的硬件平臺主要是解決信號的輸入輸出,由計算機和 i/o 接口

23、設 備兩部分完成。計算機一般為一臺 pc 或工作站,它是硬件平臺的核心。i/o 接 口設備主要負責被測輸入信號的采集、放大和 a/d 轉換。根據(jù)采用不同的總線 及其相應的 i/o 接口硬件設備,如 pc 總線的數(shù)據(jù)采集卡/板(daq)、gpib 總線 儀器模塊、vxi 總線儀器模塊和串口總線儀器等,虛擬儀器的構成只要分為 5 中類型,如圖 1-1 所示 圖 2-1 虛擬儀器結構框圖 上述各種虛擬儀器系統(tǒng)都是通過應用軟件將儀器硬件與計算機相結合構成 的,其中,串口測試系統(tǒng)是構成虛擬儀器的最簡單、最基本的方式。 本文中的硬件由工控機及其接口,數(shù)據(jù)采集卡和放大及濾波電路構成,其 原理框圖如圖 2-2

24、 所示: 圖 2-2 原理框圖 計算機數(shù)據(jù)采集卡濾波及放大電路信號輸出 2.3.22.3.2 虛擬儀器應用軟件虛擬儀器應用軟件 虛擬儀器軟件由應用程序和 i/o 接口儀器驅動程序兩大部分構成。 應用程序包含兩個方面: 1. 實現(xiàn)虛擬儀器面板的流程圖軟件程序。 2. 定義測試功能的流程圖軟件程序。 i/o 接口儀器驅動程序完成特定的外部硬件設備的擴展、驅動和通信。 2.42.4 虛擬儀器的內部功能虛擬儀器的內部功能 虛擬儀器的內被功能可以化分為:輸入信號的測量、數(shù)據(jù)分析處理和結果 顯示三大部分。 輸入信號的測量將模擬信號轉變?yōu)閿?shù)字信號并輸入到計算機中。 數(shù)據(jù)分析處理充分利用了計算機的存儲和運算功

25、能,并通過軟件實現(xiàn)對輸 入信號數(shù)據(jù)的分析處理。處理內容包括數(shù)字信號處理、數(shù)字濾波、統(tǒng)計處理、 數(shù)值計算與分析等。 結果顯示充分利用了計算機資源,其測量結果數(shù)據(jù)的表達與輸出方式有多 種方式。例如,虛擬儀器可以通過總線網絡進行數(shù)據(jù)傳輸、通過文件將測試數(shù) 據(jù)存于硬盤內存中、計算機屏幕顯示或圖形用戶接口。 2.52.5 labwindows/cvilabwindows/cvi 的運行環(huán)境的運行環(huán)境 在 labwindows/cvi 軟件平臺設計完成的虛擬儀器軟件由四個文件組成,如 圖 1-2 所示。 圖 2-3 用 labwindows/cvi 設計的虛擬儀器軟件組成 1*.prj 文件:工程文件,由

26、*.uir 文件、*.c 文件和*.h 文件組成。 2*.c 文件:源程序文件,此文件為標準的 c 語言程序文件。文件由上部 分組成,即頭文件(*.h)、主程序文件(main)和回調函數(shù)(callback),其 結構和 c 語言的結構一致。 3*.uir 文件:用戶界面文件,該文件為虛擬儀器的面板文件,類似 vb 或 vc 中的窗體文件。該文件中包含儀器面板中的各類控件,如按鈕、開關等, 每個控件都有自己的屬性,如按鈕的名稱,面板的標題、長度、位置等。同時 控件還有事件,當有鼠標單擊控件或用鍵盤改變控件時,將調用相應的回調函 數(shù),完成相應的功能,如完成數(shù)據(jù)處理、存盤、顯示、打印等功能。 4*.

27、h 文件:頭文件,與 c 中的*.h 文件結構完全一致在 labwindows/cv 中,*.h 文件是自動生成的,當設計完*.uir 文件后,會自動生成*.h 文件。 為設計完成上述 4 個文件,labwindows/cvi 開發(fā)環(huán)境提供了 4 個主要的界 面窗口:工程文件編輯窗口(project window)、用戶界面編輯窗口(user interface editor window)、源代碼文件編輯窗口(source window)和函數(shù) 面板編輯窗口(function panel window)。 2.62.6 虛擬儀器技術虛擬儀器技術及發(fā)展及發(fā)展 2.6.12.6.1 虛擬儀器特點

28、虛擬儀器特點 虛擬儀器是計算機技術介入儀器領域所形成的一個新型的富有生命力的儀 器種類。其和傳統(tǒng)儀器相比,有以下幾個特點: (1)性價比高 規(guī)模經濟效益使通用個人計算機具有很高的性價比,而且基于個人計算機 的虛擬儀器和儀器系統(tǒng)可共享計算機硬件資源,從而大大增加了儀器的功能, 降低了儀器的成本。 (2)開放性好 具有開放性的規(guī)?;O計,便于用戶根據(jù)測試任務隨心所欲的組建儀器或 系統(tǒng),儀器擴充、聯(lián)網和升級十分方便。 (3)智能化程度高 虛擬儀器是基于計算機的儀器,其軟件具有強大的分析、計算、邏輯判斷 等功能,可以在計算機上建立一個普通的智能儀器到智能專家系統(tǒng)。 (4)界面友好,使用方便。 2.6.

29、22.6.2 虛擬儀器技術應用虛擬儀器技術應用 虛擬儀器技術作為計算機與儀器結合的產物,應用前景十分廣泛??傮w而 言,虛擬儀器是測量/測試領域的一個創(chuàng)新概念,改變了人們對儀器的傳統(tǒng)觀念, 適應了現(xiàn)代測試系統(tǒng)的網絡化、智能化發(fā)展趨勢。虛擬儀器技術應用方式多種 多樣,主要有如下幾個方面: 1. 工業(yè)自動化 虛擬儀器設計所采用的圖形化編程語言,十分適合工程師應用,有利于提 高企業(yè)自主開發(fā)和管理項目的能力,降低工業(yè)自動化技術改造成本。另一方面, 采用虛擬儀器技術,根據(jù)實際工藝和控制要求,將分布在企業(yè)不同位置的各個 測量儀器和控制裝置連接為一個網絡系統(tǒng),通過計算機實施控制和管理,可降 低成本,提高工業(yè)自

30、動化改造的經濟效益。 2. 儀器產業(yè)的改造 儀器制造業(yè)代表著一個國家科技和工業(yè)發(fā)展的水平。目前,像數(shù)字示波器、 頻譜分析儀和邏輯分析儀等要主要依賴進口。而采用虛擬儀器技術,將過去儀 器中許多靠硬件實現(xiàn)的功能用軟件實現(xiàn),利用商品化的數(shù)據(jù)采集和 pc 技術,完 全可以開發(fā)出各行各業(yè)急需的各種測量儀器。這是采用高新技術改造傳統(tǒng)產業(yè) 的一個大有作為的領域。 3. 實驗室應用 虛擬儀器是用戶自定義儀器,供應商提供軟件平臺。這種變化給實驗教學 帶 來了新的教學理念。實驗室平臺將由硬件、界面友好的應用軟件、虛擬原型 模型一起組成的試驗系統(tǒng),這種思想對從根本上改變傳統(tǒng)實驗教學方法,降低 實驗室建設與管理成本,

31、實現(xiàn)遠程教學具有重要的參考價值。 2.6.32.6.3 虛擬儀器的發(fā)展虛擬儀器的發(fā)展 電子測量儀器發(fā)展至今,答題可以分成四代:模擬儀器、數(shù)字化儀器、智 能化儀器和虛擬儀器。 第一代:模擬儀器。如指針式萬用表、指針式電壓表、指針式電流表等, 他們的基本結構是電磁機械式的,借助指針來顯示最終結果。 第二代:數(shù)字化儀器。數(shù)字式儀器目前相當普及,如數(shù)字式電壓表、數(shù)字 式頻率計等。這類儀器將模擬信號的測量轉化為數(shù)字信號測量,并以數(shù)字方式 輸出最終結果,適用于快速響應和較高準確度的測量。 第三代:智能儀器。智能儀器內置微處理器,既能進行自動測試,又具有 一定的數(shù)據(jù)處理,可取代部分腦力勞動,習慣上稱為智能儀

32、器。它的功能全部 都是以硬件(或固化的硬件)的形式存在,無論是開發(fā)還是應用,都缺乏靈活 性。 第四代:虛擬儀器。虛擬儀器是現(xiàn)代計算機技術、通信技術和測量技術相 結合的產物,是傳統(tǒng)儀器觀念的一次巨大變革,是儀器行業(yè)發(fā)展的一個重要方 向。它的出現(xiàn)使得人類的測試技術進入了一個新的發(fā)展紀元。 隨著計算機技術、儀器技術和網絡通信技術的不斷完善,虛擬儀器將向三 個方面發(fā)展: (1) 外掛式虛擬儀器 (2) pxi 型高精度集成虛擬儀器測試系統(tǒng) (3) 網絡化虛擬儀器 第三章第三章 虛擬信號發(fā)生器的理論研究虛擬信號發(fā)生器的理論研究 3.13.1 虛擬信號發(fā)生器的基本原理虛擬信號發(fā)生器的基本原理 信號發(fā)生器又

33、稱信號源或震蕩器,在生產實踐和科技領域中有廣泛的應用。 各種波形曲線均可以用三角函數(shù)方程式來表示。能夠產生多種波形,如三角波、 矩形波(含方波)、正弦波的電路被稱為函數(shù)信號發(fā)生器。函數(shù)信號發(fā)生器在 電路實驗和設備檢測中具有十分廣泛的用途。例如在通信、廣播、電視系統(tǒng)中, 都需要射頻(高頻)發(fā)射,這里的射頻波就是載波,把音頻(低頻)、視頻信 號或脈沖信號運載出去,就需要能夠產生高頻的振蕩器。在工業(yè)、農業(yè)、生物 醫(yī)學等領域內,如高頻感應加熱、熔煉、淬火、超聲診斷、核磁共振成像等, 都需要功率或大或小、頻率或高或低的振蕩器。函數(shù)信號發(fā)生器的實現(xiàn)方法通 常有以下幾種: 1.用分立元件組成的函數(shù)發(fā)生器:通

34、常是單函數(shù)發(fā)生器且頻率不高,其工 作不穩(wěn)定,不易調試。 2.可以有晶體管、運放 ic 等通用器件制作,更多的則是用專門的函數(shù)信號 發(fā)生器 ic 產生。早期的函數(shù)信號發(fā)生器 ic,如 l8038、xr2207/2209 等,他們 的功能較少,精度不搞,頻率上限只有 300khz,無法產生更高的頻率信號,調 試方式也不夠靈活,頻率和占空比不能獨立調節(jié),二者相互影響。 3.利用單片集成芯片的函數(shù)發(fā)生器:能產生多種波形,達到較高的頻率, 且易于調試鑒于此,美國美信公司開發(fā)了新一代函數(shù)信號發(fā)生器 icmax038,它 克服了“2”中芯片的缺點,可以達到更高的技術指標,是上述芯片望塵莫及的。 max038

35、 頻率高、精度好,因此它被稱為高頻精密函數(shù)信號發(fā)生器 ic。在鎖相環(huán)、 壓控振蕩器、頻率合成器、脈寬調制器等電路的設計上,max038 都是優(yōu)選的器 件。 4.利用專用直接數(shù)字合成 dds 芯片的函數(shù)發(fā)生器:能產生任意波形并達到 很高的頻率。但成本較高。 生產所需參數(shù)的電測試信號儀器。按其信號波形分為四大類:正弦信號 發(fā)生器。主要用于測量電路和系統(tǒng)的頻率特性、非線性失真、增益及敏度等。 按其不同性能和用途還可細分為低頻(20 赫至 10 兆赫)信號發(fā)生器、高頻 (100 兆赫至 300 兆赫)信號發(fā)生器、微波信號發(fā)生器、掃頻和程控信號發(fā)生 器、頻率合成式信號發(fā)生器等。函數(shù)(波形)信號發(fā)生器。能

36、產生某些特定 的周期性時間函數(shù)波形(正弦波、方波、三角波、鋸齒波和脈沖波等)信號, 頻率范圍可從幾個微赫到幾千兆赫。除供通信、儀表和自動控制系統(tǒng)測試用外, 還廣泛用于其他非電測量領域。脈沖信號發(fā)生器。能產生寬度、幅度和重復 頻率可調的矩形脈沖的發(fā)生器,可用以測試線性心痛的瞬態(tài)響應,或用作模擬 信號來測試雷達、多路通信和其他脈沖數(shù)字系統(tǒng)的性能。隨機信號發(fā)生器。 通常又分為噪聲信號發(fā)生器和偽隨機信號發(fā)生器兩類。噪聲信號發(fā)生器主要用 途為:在待測系統(tǒng)中引入一個隨機信號,以模擬實際工作條件中的噪聲而測定 系統(tǒng)性能;外加一個已知噪聲信號與系統(tǒng)內部噪聲比較以測定噪聲系數(shù);以隨 機信號代替正弦或脈沖信號,以

37、測定系統(tǒng)動態(tài)特性等。當用噪聲信號進行相關 函數(shù)測量時,若測量時間不夠長,會出現(xiàn)統(tǒng)計性誤差,可用偽隨機信號來解決。 在這里介紹 1 款經典使用的安捷倫 esg-d 系列信號發(fā)生器 e4421b 詳細內 容以作參考: e4421b 信號發(fā)生器主要技術指標: 頻率:250khz3ghz 分辨率:0.01hz 轉換速度 調制接通:45ms.典型值 調制斷開:35ms.典型值 精度:穩(wěn)定度fc 時基 掃描方式 工作方式:步進:頻率和功率以及任意列表 停留時間:1ms-60s 頻率點數(shù):2-401 內部基本準震蕩器 時基參考輸出: 頻率:10mhz 幅度:0.35vrms,50 負載 外參考輸入: 頻率:

38、1,2,5,10mhz典型值 10ppm 用 optie5 時為 1ppm 幅度:0.15vrms 輸入阻抗:50 輸出阻抗:50 頻帶 頻帶 頻率范圍 n# 1 250khz249.999mhz 1 2 249.999500mhz 0.5 3 500mhz1ghz 1 4 12ghz 2 5 24ghz 4 頻譜純度 單邊帶相位噪聲(典型值,在 20khz 頻偏處) 在 500mhz 處:-120dbc/hz 在 1000mhz 處:-116 dbc/hz 在 2000mhz 處:-110 dbc/hz 在 3000 mhz 處:-104 dbc/hz 在 4000 mhz 處:-104 d

39、bc/hz 脈沖 周期:16s-30s 寬帶:8s-30s 分辨率:4s 3.2.3.2.信號發(fā)生器現(xiàn)狀及發(fā)展信號發(fā)生器現(xiàn)狀及發(fā)展 信號發(fā)生器作為一種常見的應用電子儀器設備,傳統(tǒng)的可以完全由硬件電 路搭接而成,如采用 555 振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取 的路徑之一,不用依靠單片機。如工業(yè)過程控制,生物醫(yī)藥,地震模擬機械振 動等領域常常用到低頻信號源。而由硬件電路構成的低頻信號其性能難以令人 滿意,而且由于低頻信號源所需的 rc 很大:大電阻,大電容在制作上有困難, 參數(shù)精度亦難以保證,體積大,漏電,耗損顯著更是致命的弱點。一旦工作需 求功能有增加,則電路復雜程度會大大增加。

40、 當今是科學技術及儀器設備高度智能化飛速發(fā)展的信息社會,電子技術的 進步,給人們帶來了根本性的轉變?,F(xiàn)在帶電子領域中,單片機的應用正在不 斷的走向深入,這必將導致傳統(tǒng)控制與檢測技術的日益革新。單片機構成的儀 器具有高可靠性、高性能價格比,在智能儀表系統(tǒng)和辦公自動化等諸多領域得 以極為廣泛的應用,并走入家庭,從洗衣機、微波爐到音響汽車,處處可見其 應用。因此,單片機技術開發(fā)和應用水平已逐步成為一個國家工業(yè)發(fā)展水平的 標志之一。 一塊單片機芯片就是一臺計算機。由于單片機的這種特殊的結構形式,在 某些應用領域中,它承擔了大型計算機和通用微型計算機無法完成的一些工作。 使其具有很多顯著的優(yōu)點和特點,因

41、此在各個領域中都得到了很迅猛的發(fā)展。 單片機的應用使得信號發(fā)生器的性能價格比提高很多,控制功能強,集成 度高、體積小、可靠性高,并且可以在很低的電壓下工作,功耗降至 a 級, 一粒紐扣電池就可長期使用。 隨著科技的不斷進步和電子化產品的日益普及,電子產品的規(guī)模和體積有 了巨大的變化。各種復雜電路不斷出現(xiàn),體積不斷縮小,產品更新速度不斷加 快。這些新的變化使得電路的設計工作變得日益復雜和繁重。電子產品設計時 使用常規(guī)的人工方法,要耗費大量的人力財力。計算機硬件和軟件的發(fā)展,使 得它應用到各個領域。電子設計自動化得到了快速發(fā)展,大大減輕了設計壓力, 縮短了設計開發(fā)時間,是電子開發(fā)人員必須掌握的技術

42、。 本次設計中應用的 labwindows/cvi 軟件是美國 ni(national instrument)公司開發(fā)的 measurement studio 軟件組中的一員。它是 32 位的 面向計算機測控領域的虛擬儀器軟件開發(fā)平臺,可以在多種操作系統(tǒng)下運行。 labwindows/cvi 是以 ansic 為核心的交互式虛擬儀器開發(fā)環(huán)境,它將功能強大 的 c 語言與測控技術有機結合,具有靈活的交互式編方法和豐富的庫函數(shù),為 開發(fā)人員建立檢測系統(tǒng)、自動測試環(huán)境、數(shù)據(jù)采集系統(tǒng)、過程監(jiān)控系統(tǒng)等提供 了理想的軟件開發(fā)環(huán)境,是實現(xiàn)虛擬儀器及網絡化儀器的快速途徑。通過信號 發(fā)生器的計算機仿真設計研究,

43、初步掌握軟件應用及編程和信號發(fā)生器原理。 第四章第四章 虛擬信號發(fā)生器的設計虛擬信號發(fā)生器的設計 4.14.1 虛擬信號發(fā)生器設計虛擬信號發(fā)生器設計 4.1.14.1.1 虛擬信號發(fā)生器的工作原理虛擬信號發(fā)生器的工作原理 通過在圖形化用戶接口界面上(硬件面板)上鍵入信號幅值、頻率以及選 擇生成的波形和窗函數(shù)。通過軟件編程實現(xiàn)信號波形生成及頻譜分析。 其設計的方法的基本思路: 1、設計一個圖形化用戶接口。 2、產生程序代碼。 3、用功能面板插入相應函數(shù),完成程序編制。 4、封裝代碼。 4.1.24.1.2 信號的頻譜分析信號的頻譜分析 所謂信號的頻譜分析就是指計算信號的傅里葉變換。連續(xù)信號與系統(tǒng)

44、的傅 里葉分析不便于直接用計算機進行計算,使其應用受到限制,而本設計用到的 快速傅里葉變換(簡稱 fft)是一種時域和頻域都是離散化的變換,適合數(shù)值 運算,成為分析離散和系統(tǒng)的有力工具。對于連續(xù)信號可以通過時域采樣,應 用 fft 進行近似譜分析。 快速傅里葉變換是離散傅里葉變換 dft 的一種快速算法,由于有限長序列 在其頻域也可以離散化有限長序列(dft),因此離散傅里葉變換(dft)在數(shù) 字信息處理中是非常有用的。但是由于 dft 的計算量太大,即使采用計算機也 很難對問題進行實時處理,而 fft 出現(xiàn)以后使 dft 的運算大大簡化,如: 設 x(n)為 n 點有限長序列,其 dft 為

45、 ; kn n n wnxkx 1 0 )()( 一般來說 x(n)和 都是復數(shù),x(k)也是復數(shù),因此每次計算一個 kn n w x(k)值,需要 n 次復數(shù)乘法和 n-1 次復數(shù)加法,而 x(k)一共有 n 個點(k 從 0 取到 n-1),故完成一次 dft 運算總共需要 n2復數(shù)乘法及 n(n-1)次復數(shù) 加法。這樣運算就復雜了,計算所需的時間也會多一些。而采用 dit-fft 算法 (即時間抽取法)首先對時間進行奇偶分解,然后對頻率進行前后分解 下面為以 n=8 點為例的 fft 的蝶形運算流圖: 圖 4-1 n=8 的快速傅里葉變換蝶形運算流圖 當 n=8 時,流程圖應有 3 級蝶

46、形,每一級都有 4 個蝶形運算構成。因此每 一級運算都需要 4 次復數(shù)乘和 8 次復數(shù)加。所以一次 fft 總共需要復數(shù)乘 12 次, 復數(shù)加 24 次復數(shù)加,而 dft 要總共需要復數(shù)乘 64 次,復數(shù)加 56 次。故使用 fft 能大大減少運算量,減小了運算時間,能實時完成信號處理。 故本文基于 labwindows/cvi 的頻譜顯示是通過對一個時域信號一次進行 濾波、加窗函數(shù)和快速傅里葉變換 fft 并在波形圖上進行顯示生成的。 4.4.1.31.3 儀器硬件面板設計儀器硬件面板設計 啟動 labwindows/cvi 在設計面板之前先在 file 菜單中新建 include(*.h)

47、、 source(*.c)再新建 user interface(*.uir)面板。面板建好后開始創(chuàng)建控件。 1、創(chuàng)建控件及修改空間屬性。 用戶界面共 12 個控件,其中有兩個 graph 控件、兩個 numeric dial 控件、 兩個 ring slide 控件、四個 command button 控件、兩個 ring 控件。 其整體硬件面板如下圖所示: 圖 4-2 用戶的圖形界面 各種控件的相關屬性設置如下: 面板:constant name 為 panel,panel title 為“虛擬信號發(fā)生器”。 控件 1:graph 控件,用于顯示波形,constant name 為 grap

48、h1,label 為 “波形顯示”,”buttom x-axis”中 axis name 是”t/s“,minimum 為 0.00,maximum 為 1000.00;left y-axis 中 axis name 是 a(t)/v,minimum 為 -1,maximum 為 1。 控件 2: graph 控件,用于顯示頻譜,constant name 為 graph2,label 為“頻譜顯示” buttom x-axis”中 axis name 是“w“ minimum 為 0,maximum 為 1000。left y-axis 中 axis name 是 a(w)/v, minim

49、um 為 0,maximum 為 100. 控件 3:numeric dial 控件,用于設置幅值,constant name 為 ample,label 為“幅值”, default values 為 0,range values 中 minimum 為 0,maximum 為 1。 控件 4:numeric dial 控件,用于設置頻率,constant name 為 freq,label 為“頻率”, default value 為 0, range values 中 minimum 為 0,maximum 為 1000。 控件 5:ring slide 控件,用于選擇波形,consta

50、nt name 為 waveform,label 為“波形選擇”,lable/value pairs 中 lable 分別為無、正 弦波、三角波、鋸齒波、方波,其對應的 value 分別為 0、1、2、3、4。 控件 6:ring slide 控件,用于設置窗函數(shù),constant name 為 window,label 為“window”, lable/value pairs 中 lable 分別為 none、triangle、hanning、hamming、blackman、kaiser,其對應的 value 分 別為 0、1、2、3、4、5。 控件 7:command button 控件

51、,用于保存文件,constant name 為 save,callback function 為 save, ,label 為“_save to file”。 控件 8:command button 控件,用于讀取文件,constant name 為 read,callback function 為 read,label 為“ _read from file”。 控件 9:command button 控件,用于開始運行,constant name 為 commandbutton,callback function 為 refe,label 為”_ok”。 控件 10:command butt

52、on 控件,用來 關閉運行,constant name 為 quit, callback function 為 quitcallback,label 為“ _quit”。 控件 11:ring 控件,constant name 為 outputtype,lable/value pairs 中 lable 分別為 binary、ascii,其對應的 value 分別為 0、1。 控件 12:ring 控件,constant name 為 inputtype,lable/value pairs 中 lable 分別為 binary、ascii,其對應的 value 分別為 0、1。 2、創(chuàng)建源程序

53、代碼 控件創(chuàng)建完成即面板設計完成后,點擊功能菜單中的 code 即可看見下拉菜 單 generate,鼠標移至 generate 則出現(xiàn) all code 如圖 4-3,點擊 all code 就 會出現(xiàn)如圖 4-4 對話框選定 quitbutton 點擊 ok 即出現(xiàn)*.c 文件及程序。 codegenerateall code 選定 quitbutton 點擊 ok。 圖 4-3 產生源程序代碼的框圖 當選擇 all code 后,出現(xiàn)生成代碼窗口即 generate all code 窗口,如下 圖所示: 如圖 4-4 生成所有代碼對話框 在窗口中應注意: 1. 當你想讓你的程序的主函數(shù)

54、為 win main 而不是 main 是你可以選擇 generate winmian() instead of main()項前的矩形框。 2. select panels to load and display at startup 項是指你選擇那一個 panel 最為最初裝入并顯示的 panel,當你創(chuàng)建多個 panel 時你就需要選擇 一個 panel 作為最初顯示的面板。由于本程序只有一個 panel 所以該 panel 就被缺省的作為最初顯示的面板而不再需要你去選擇。 3. select quituserinterface callback 項是指你選擇那一個函數(shù)作為退出程 序的終

55、止函數(shù)。本程序是讓 quitcallback 作為退出函數(shù)。 4.4.1.1.4 4 軟件設計(程序設計)軟件設計(程序設計) 在 all code 中生成的源代碼進行穿插加入函數(shù)生成完整的程序。 按照程序流程圖完成程序的編制: 初始化 y n 圖 4-5 程序流程圖 1、ok 按鈕的回調函數(shù) refe()的編輯 輸入幅值、頻 率 選擇波形 waveform waveform=0 ? 刪除波形及頻譜 選擇窗函數(shù)、添加 bw_lpf 和 fft 函數(shù) 波形、頻譜顯 示 保存波形、頻譜 編制回調函數(shù) save 編制回調函數(shù) read 提取保存的文件 結束 為了當按下 ok 鍵以后通過調節(jié)幅值、頻率

56、、及窗函數(shù)和波形選擇在兩個 grap 控件中生成波形及頻譜,我設置如下程序完成此操作: 在程序中調用 show_wave1 函數(shù),在申明 show_wave 函數(shù),如下程序: int cvicallback refe (int panel, int control, int event,void *callbackdata, int eventdata1, int eventdata2) int i; switch (event) case event_commit: show_wave1(); for (i=0;iuse interface 在彈出的話框中選擇 controls/graphs

57、/strip chartsgenerate funcationsgetctrval 點擊 select 出現(xiàn)一個函數(shù)面板,如 圖 4-6 獲取當前值的控制面板 按上圖填寫,完成后點擊 codeinsert funcation call 即生成程序: getctrlval (panelhandle, panel_waveform, 按上面的方法依次生成: getctrlval (panelhandle, panel_ample, getctrlval (panelhandle, panel_freq, getctrlval (panelhandle, panel_window, 2、插入波形函數(shù)

58、 選擇 labriary analysis 在彈出的對話框中選擇 signal generationsinwave 點擊 select 彈出一函數(shù)面板: 圖 4-7 生成正弦波函數(shù)面板 因為正弦函數(shù)要存放在變量數(shù)組 wavedata 中所以要首先申明此數(shù)組,選 擇 codedeclare variable,在彈出的對話框中填寫相應的信息。再選擇 code insert funcation call ,函數(shù)就插入到原光標所處得位置。如下: case 1: sinewave (1000, ample, freq/samplerate, break; 依次類推在分別完成其他函數(shù)的插入: case 2

59、: trianglewave (1000, ample, freq/samplerate, break; case 3: sawtoothwave (1000, ample, freq/samplerate, break; case 4: squarewave (1000, ample, freq/samplerate, break; 3、在 graph 上顯示波形 使用一個 switch 語句實現(xiàn)各信號的函數(shù)的選擇,再使用 if .else 語句 對所選信號進行處理即如果選擇“無”,則刪除在 graph1 上的信號,否則 可以通過選擇 libriaryuse interface 在彈出的對話

60、框中選擇: controls/graphs/strip chartsgraphs and strip chartsgraph plotting and deletingplotwaveform 點擊 select 彈出一函數(shù)面板: 圖 4-8 plotwaveform 函數(shù)控制面板 按圖所示填寫信息,完成后選擇 code insert funcation call 完成函數(shù) 的插入。 plotwaveform (panelhandle, panel_graph1, wavedata, 1000, val_double, 1.0, 0.0, 0.0, samplerate/1000, val_t

溫馨提示

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

評論

0/150

提交評論