【正文】
function signal generator About the author: HanJun Liu, M, Hubei Jiayu people, MSc, Lecturer, research direction: puter teaching. Fund Project: Hainan Normal University in 2006 teaching reform projects colonel: WEBbased teaching of electromagnetics software development experiment, Item Number: HSJG0621. 1. Introduction In the measurement of electrical parameters, we need to use a signal source, and signal Provided us with a generator is required in the measurement of signal source, it can generate。5.結(jié)束語(yǔ)隨著虛擬儀器技術(shù)的發(fā)展,虛擬儀器已經(jīng)作為現(xiàn)代儀器發(fā)展的一個(gè)全新方向[1],虛擬儀器改變了傳統(tǒng)儀器的概念、模式和結(jié)構(gòu),使用者完全可以自己定義儀器的功能和參數(shù),與傳統(tǒng)儀器相比,虛擬儀器的經(jīng)濟(jì)性、靈活性和可擴(kuò)展性等方面都有獨(dú)特的優(yōu)勢(shì),虛擬儀器的出現(xiàn)給實(shí)驗(yàn)室的建設(shè)帶來(lái)了新的契機(jī),廣泛應(yīng)用于科研、教學(xué)以及生產(chǎn)等領(lǐng)域參考文獻(xiàn):[1] 陸崎容.基于虛擬儀器技術(shù)個(gè)人實(shí)驗(yàn)室的構(gòu)建[M].北京:電子工業(yè)出版社,2006.[2] 陳錫輝,張銀鴻.LabVIEW 程序設(shè)計(jì)從入門到精通[M].北京:清華大學(xué)出版社,2007.[3] 張重雄.虛擬儀器技術(shù)分析與設(shè)計(jì)[M].北京:電子工業(yè)出版LabVIEWbased virtual function signal generator development HanJun Liu王紅晨 (Hainan Normal University, Institute of Physics and Electronic Engineering, Hainan, Haikou 571158) [Abstract] A LabVIEWbased development environment on its own virtual function signal generator. It is not only monly used laboratory capable of producing sine, triangular Wave, square wave, sawtooth wave signal, but also by entering the formula, resulting in the test area of the special nonperiodic signal. The instrument system is simple, flexible design, has a strong Adaptability. [Key words] virtual instrument。信號(hào)顯示是通過(guò)波形圖控件實(shí)時(shí)顯示生成的波形。這5 、Square 、Triangle 、 和Formula 完成。頻率顯示不僅顯示程序生成的頻率值,而且能夠根據(jù)頻率的單位是Hz 還是kHz 進(jìn)行自動(dòng)調(diào)整,其設(shè)計(jì)思路為:若頻率值大于1000Hz,則將頻率值除以1000 后輸送到頻率顯示控件,同時(shí)代表kHz 單位的布爾指示控件置于TRUE,如圖3 所示反之,則將頻率值直接輸送到頻率顯示控件,并將代表Hz 單位的布爾指示控件置于TRUE,如圖4 所示。因此,在信號(hào)頻率檔位變化時(shí)采樣頻率和采樣點(diǎn)數(shù)也應(yīng)隨即變化,從而保證信號(hào)發(fā)生更接近實(shí)際狀態(tài)。(3)采樣頻率和采樣點(diǎn)數(shù)的調(diào)節(jié)利用在簇控件中放入兩個(gè)數(shù)值輸入控件和兩數(shù)值顯示控件來(lái)實(shí)現(xiàn)。學(xué)術(shù)探討主要包括以下幾個(gè)部分:(1)儀器的啟動(dòng)和停止采用While 循環(huán)結(jié)構(gòu)。虛擬函數(shù)信號(hào)發(fā)生器的前面板如圖1 所示,主要由以下幾個(gè)部成:(1)電源部分:包含電源開(kāi)關(guān)和電源指示兩個(gè)布爾控件;(2)信號(hào)類型選擇部分:包含一個(gè)公式波形輸入控件和一個(gè)菜單下拉列表控件;(3)頻率調(diào)節(jié)部分:包含一個(gè)頻率調(diào)節(jié)數(shù)值旋鈕控件,一頻率顯示的數(shù)值顯示控件,一個(gè)頻率檔位選擇的枚舉控件和兩個(gè)頻率單位指示的布爾控件;(4)幅度、初相位、偏移量和占空比調(diào)節(jié)部分:分別包含一個(gè)幅度、初相位移量和占空比的調(diào)節(jié)數(shù)值旋鈕控件和數(shù)值顯示控件;(5)采樣信息調(diào)節(jié)部分:包含了采樣頻率和采樣點(diǎn)數(shù)的數(shù)值輸入控件以及兩個(gè)數(shù)值顯示控件;(6)波形顯示部分:包含一個(gè)輸出波形的波形圖控件和一個(gè)輸出修飾控件。3.系統(tǒng)的前面板設(shè)計(jì)前面板是用戶接口,即交互式界面,用于用戶輸入各種控制參數(shù)、觀察輸出量示輸出信號(hào)波形。本文介紹一種自行開(kāi)發(fā)的基于LabVIEW 的虛擬函數(shù)信號(hào)發(fā)生器,該儀器界面設(shè)計(jì)友好,功能強(qiáng)大,操作方便。LabVIEW 提供了測(cè)控儀器圖形化編程環(huán)境,在這個(gè)環(huán)境中提供了一種像數(shù)據(jù)流一樣的編程模式,用戶只需連接各個(gè)邏輯框即可構(gòu)成程序。LabVIEW (Laboratory Virtual Instrument EngineeringWorkbench,實(shí)驗(yàn)室虛擬儀器集成環(huán)境)是一種圖形化的編程語(yǔ)言,簡(jiǎn)稱G 語(yǔ)言,它是由美國(guó)NI 公司推出的虛擬儀器開(kāi)發(fā)平臺(tái)。[關(guān)鍵詞] 虛擬儀器;LabVIEW;函數(shù)信號(hào)發(fā)生器1.引言在有關(guān)電參量的測(cè)量中,我們需要用到信號(hào)源,而信號(hào)發(fā)生器則為我們提供了在測(cè)量中所需的信號(hào)源,它可以產(chǎn)生不同頻率的正弦信號(hào)、方波、三角波、鋸齒波、正負(fù)脈沖信號(hào)、調(diào)幅信號(hào)、調(diào)頻信號(hào)和隨機(jī)信號(hào)等,其輸出信號(hào)的幅值也可以按需要進(jìn)行調(diào)節(jié)。它不僅能夠產(chǎn)生實(shí)驗(yàn)室常用的正弦波、三角波、方波、鋸齒波信號(hào),而且還可以通過(guò)輸入公式,產(chǎn)生測(cè)試領(lǐng)域的非周期特殊信號(hào)。在程序運(yùn)行時(shí),該模塊作為一個(gè)子模塊被主程序調(diào)用。其設(shè)計(jì)思路為:通過(guò)判斷代表1000 倍乘的按鈕是否按下,如按下,則其狀態(tài)為“真”,即布爾值“1”,否則為“0”,通過(guò)判斷條件查詢所返回的值就可控制一個(gè)用于顯示頻率單位的顯示型控件。為了提高頻率的輸出控制精度,在本次的設(shè)計(jì)當(dāng)中,通過(guò)使用頻率單位變化控制模塊。利用軟件產(chǎn)生波形的一個(gè)最大的優(yōu)點(diǎn)是使儀器的成本大大降低,而且使儀器小型化,智能化。方波、鋸齒波、三角波的產(chǎn)生原理與正弦波產(chǎn)生原理相近,都是通過(guò)數(shù)學(xué)運(yùn)算來(lái)實(shí)現(xiàn)代表波形的數(shù)字序列。正弦波的產(chǎn)生原理是通過(guò)調(diào)用sin(x)函數(shù)來(lái)實(shí)現(xiàn)。()數(shù)字波形產(chǎn)生模塊波形產(chǎn)生模塊是虛擬函數(shù)信號(hào)發(fā)生器軟件的核心。波形產(chǎn)生模塊又調(diào)用FGEN模塊。該過(guò)程主要運(yùn)用了Labview中的數(shù)據(jù)采集子模塊中的AO START 功能模塊。虛擬函數(shù)信號(hào)發(fā)生器主要由軟件完成輸出波形信號(hào)的產(chǎn)生和輸出信號(hào)頻率的顯示。(2)、儀器功能描述本儀器功能主要包括四類函數(shù)信號(hào)正弦波、方波、三角波、鋸齒波的輸出,頻率的倍乘與微調(diào)相結(jié)合,以及實(shí)現(xiàn)輸出波形的直流偏置、電壓幅度的控制等功能。Waveform Length 用于設(shè)定數(shù)據(jù)采集卡的緩沖區(qū)的大小。硬件接口部分用于數(shù)據(jù)輸入或輸出時(shí)的通道設(shè)置。它支持單極和雙極性模擬信號(hào)輸入,信號(hào)輸入范圍分別為5~+5V和0~10V。難點(diǎn)掌握虛擬函數(shù)信號(hào)發(fā)生電路的全設(shè)計(jì)過(guò)程,并在此基礎(chǔ)上對(duì)所產(chǎn)生的信號(hào)做自相關(guān)分析、積分、微分分析及相應(yīng)的頻譜分析途徑(1)、虛擬函數(shù)信號(hào)發(fā)生器的硬件構(gòu)成本虛擬函數(shù)信號(hào)發(fā)生器的輸入輸出的硬件部分為一數(shù)據(jù)采集卡和具有一定配置要求的PC機(jī),數(shù)據(jù)的輸入輸出靠對(duì)數(shù)據(jù)采集卡輸出輸入口的定義來(lái)實(shí)現(xiàn)。三、設(shè)計(jì)(研究)的重點(diǎn)與難點(diǎn),擬采用的途徑(研究手段):重點(diǎn)(1)掌握LABVIEW軟件的基本操作,虛擬函數(shù)信號(hào)發(fā)生電路的全設(shè)計(jì)過(guò)程,以及LABVIEW測(cè)量和控制系統(tǒng)中的應(yīng)用。NI的虛擬儀器軟件平臺(tái)為所有的I/O設(shè)備提供了標(biāo)準(zhǔn)的接口,幫助我們輕松地將多個(gè)測(cè)量設(shè)備集成到單個(gè)系統(tǒng),減少了任務(wù)的復(fù)雜性?!?4)、無(wú)縫集成 虛擬儀器技術(shù)從本質(zhì)上說(shuō)是一個(gè)集成的軟硬件概念。 (3)、開(kāi)發(fā)時(shí)間少 在驅(qū)動(dòng)和應(yīng)用兩個(gè)層面上,NI高效的軟件構(gòu)架能與計(jì)算機(jī)、儀器儀表和通訊方面的最新技術(shù)結(jié)合在一起。這得益于NI軟件的靈活性,只需更新計(jì)算機(jī)或測(cè)量硬件,就能以最少的硬件投資和極少的、甚至無(wú)需軟件上的升級(jí)即可改進(jìn)整個(gè)系統(tǒng)。此外,不斷發(fā)展的因特網(wǎng)和越來(lái)越快的計(jì)算機(jī)網(wǎng)絡(luò)使得虛擬儀器技術(shù)展現(xiàn)其更強(qiáng)大的優(yōu)勢(shì)。虛擬儀器的圖形化數(shù)據(jù)流語(yǔ)言和程序框圖能自然地顯示您的數(shù)據(jù)流,同時(shí)地圖化的用戶界面直觀地顯示數(shù)據(jù),使我們能夠輕松地查看、修改數(shù)據(jù)或控制輸入。本軟件設(shè)計(jì)中,充分發(fā)揮了LabVIEW的特長(zhǎng),建立了友好的人機(jī)操作界面。實(shí)時(shí)趨勢(shì)圖等來(lái)模擬真實(shí)儀器的面板。整個(gè)程序是基于多線程設(shè)計(jì),即前面板和框圖程序各占用一個(gè)線程。使用LabVIEW能讓您享受到強(qiáng)大的圖形化編程語(yǔ)言所帶來(lái)的靈活性,從而無(wú)需再忍受傳統(tǒng)開(kāi)發(fā)環(huán)境的復(fù)雜編程工作:它直觀的圖形化環(huán)境使開(kāi)發(fā)更有效率,能集成上千種儀器和驅(qū)動(dòng),通過(guò)編譯使系統(tǒng)性能達(dá)到最優(yōu)化,并可與其他應(yīng)用程序方便地連接。下面結(jié)合一個(gè)虛擬函數(shù)信號(hào)發(fā)生器設(shè)計(jì)開(kāi)發(fā)具體介紹基于圖形化編程語(yǔ)言Labview的虛擬儀器編程方法與實(shí)現(xiàn)技術(shù)。目前,該開(kāi)發(fā)軟件在國(guó)際測(cè)試、測(cè)控行業(yè)比較流行,在國(guó)內(nèi)的測(cè)控領(lǐng)域也得到廣泛應(yīng)用。虛擬儀器以軟件為核心,其軟件又以美國(guó)NI公司的Labview虛擬儀器軟件開(kāi)發(fā)平臺(tái)最為常用??蓴U(kuò)展性強(qiáng)。系統(tǒng)組建時(shí)間短。與傳統(tǒng)的儀器相比其特點(diǎn)主要有:具有更好的測(cè)量精度和可重復(fù)性。二、設(shè)計(jì)(研究)現(xiàn)狀和發(fā)展趨勢(shì)(文獻(xiàn)綜述):1. Labview的虛擬儀器的現(xiàn)狀自從1986年美國(guó)NI(National Instrument)公司提出虛擬儀器的概念以來(lái),隨著計(jì)算機(jī)技術(shù)和測(cè)量技術(shù)的發(fā)展,虛擬儀器技術(shù)也得到很快的發(fā)展。在我即將走出校園之際,我保證今后會(huì)用我的努力報(bào)答父母,報(bào)答母校,報(bào)答一切幫助我的人們。我的同學(xué)們?cè)谶@次畢業(yè)論文的完成中也起了至關(guān)重要的作用,一個(gè)人的力量是有限的,但一個(gè)團(tuán)體的力量是無(wú)窮的,每當(dāng)我遇到什么難題或者有些資料找不到時(shí),總是可以在同學(xué)那里得到幫助和鼓勵(lì),可以說(shuō)沒(méi)有他們就沒(méi)有這篇文章的順利完成。在此,謹(jǐn)向?qū)煴硎境绺叩木匆夂椭孕牡母兄x! 同樣我要感謝在我大學(xué)四年的學(xué)習(xí)生涯中教過(guò)我的每一位老師,真是在你們的教導(dǎo)下,我才能打下基礎(chǔ)從而順利的完成了畢業(yè)論文。不僅使我樹(shù)立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。席燕輝老師平日里雖然工作繁多,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段都給予了我悉心的指導(dǎo)。本文采用模塊化設(shè)計(jì)方法,詳細(xì)描述了軟件開(kāi)發(fā)的全過(guò)程,分析并解決了設(shè)計(jì)及實(shí)現(xiàn)過(guò)程中出現(xiàn)的問(wèn)題,并給出了已實(shí)現(xiàn)的虛擬正弦波仿真信號(hào)發(fā)生器、自相關(guān)函數(shù)演示儀、虛擬正弦波頻譜分析儀、虛擬積分器和微分器的虛擬儀器程序的原理、前面板圖和程序流程圖。該儀器不但界面友好,而且功能強(qiáng)大、操作簡(jiǎn)便。第5章 結(jié)論本文采用了目前比較流行的美國(guó)國(guó)家儀器公司的LabVIEW作為該系統(tǒng)的軟件開(kāi)發(fā)平臺(tái),對(duì)虛擬儀器和LabVIEW軟件進(jìn)行了介紹,并詳細(xì)地介紹一種基于LabVIEW環(huán)境下自行開(kāi)發(fā)的虛擬函數(shù)信號(hào)發(fā)生器。在使用中直接通過(guò)鼠標(biāo)和鍵盤設(shè)定信號(hào)的相關(guān)參數(shù)。前面板是用戶接口,即交互式界面,用于用戶向程序中輸入各種控制參數(shù)和觀察輸出量,在前面板中,使用了各種仿真圖標(biāo),如開(kāi)關(guān)、旋鈕等,并以數(shù)字或?qū)崟r(shí)趨勢(shì)圖等各種形式的輸出測(cè)試結(jié)果來(lái)模擬真實(shí)儀器的面板。LabVIEW程序由兩部分組成:前面板程序和框圖程序。虛擬函數(shù)發(fā)生器的設(shè)計(jì)參考了常見(jiàn)信號(hào)發(fā)生器的功能,在功能上有所擴(kuò)展。將兩個(gè)Case結(jié)構(gòu)置于While循環(huán)中,便組成了虛擬函數(shù)信號(hào)發(fā)生器的總體設(shè)計(jì)流程圖。在第一個(gè)Case結(jié)構(gòu)當(dāng)中放置了正弦波、方波、三角波、鋸齒波、白噪聲以及多頻波,任意公式輸入波形模塊作為該Case結(jié)構(gòu)的各個(gè)分支,來(lái)實(shí)現(xiàn)波形的產(chǎn)生。、。2)流程圖設(shè)計(jì)流程圖的設(shè)計(jì)步驟如下:按照路徑在“Analyze” ﹨“Signal Processing” ﹨“Signal Generation”子選項(xiàng)板中分別選擇“Sine ”、“ Square ”和“Triangle ”函數(shù)放入第一個(gè)Case結(jié)構(gòu)的三個(gè)分支內(nèi),函數(shù)節(jié)點(diǎn)的輸入端口分別與前面板的輸入控制件端子相連。(2)依次在前面板上放置5個(gè)輸入控制件:“信號(hào)頻率(Hz)”、“采樣頻率(Hz)”、“采樣點(diǎn)數(shù)”、“幅值(v)”和“占空比”(%)??梢杂^察正弦波、方波或三角波在微分前后的波形??梢杂^察正弦波、方波或三角波在積分前后的波形。(3)按照路徑在“Numeric” ﹨“Complex”子選項(xiàng)板中選擇“Complex To Polar”函數(shù),用于輸出幅度幅值。2)流程圖設(shè)計(jì)流程圖的設(shè)計(jì)步驟如下:(1)按照路徑在“Analyze” ﹨“Signal Processing” ﹨“Signal Generation”子選項(xiàng)板中選擇“Sine ”函數(shù)放置于循環(huán)結(jié)構(gòu)中,產(chǎn)生一個(gè)正弦波信號(hào)。(3)放置一個(gè)“停止”按鈕開(kāi)關(guān)用來(lái)結(jié)束程序的運(yùn)行。在流程圖中使用Real ??捎^察正弦波經(jīng)過(guò)FFT后的幅值譜。自相關(guān)函數(shù)位于時(shí)間軸的正半周,自相關(guān)函數(shù)輸出的第N1個(gè)數(shù)據(jù)就對(duì)應(yīng)t=0的自相關(guān)函數(shù)。(4)由于自相關(guān)函數(shù)圖標(biāo)所求得的數(shù)據(jù)實(shí)際是將原先求得的2N1個(gè)數(shù)值向右平移了N1個(gè)單位后所得到的數(shù)據(jù),所以需要用Index Array函數(shù)(位于Array數(shù)組子模塊中)來(lái)索引出第N1個(gè)自相關(guān)函數(shù)值,并將結(jié)果乘以2得到幅值的平方。=2*Rxx(0)(2)按照路徑在“Analyze” ﹨“Signal Processing” ﹨“Signal Generation”子選項(xiàng)板中選擇“Sine ”函數(shù)放置于While循環(huán)結(jié)構(gòu)中,產(chǎn)生一個(gè)正弦波信號(hào)。(3)在進(jìn)行控件參數(shù)設(shè)置時(shí),應(yīng)注意顯