基于LabVIEW的任意波形發(fā)生器含全部程序截圖_第1頁
基于LabVIEW的任意波形發(fā)生器含全部程序截圖_第2頁
基于LabVIEW的任意波形發(fā)生器含全部程序截圖_第3頁
基于LabVIEW的任意波形發(fā)生器含全部程序截圖_第4頁
基于LabVIEW的任意波形發(fā)生器含全部程序截圖_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、虛擬儀器課程設(shè)計報告 一、 綜述1、 信號發(fā)生器的發(fā)展 信號發(fā)生器是一種能夠提供一定波形、頻率和輸出電平的信號源設(shè)備。40年代開始出現(xiàn)用于測試各種接收機(jī)的標(biāo)準(zhǔn)信號發(fā)生器。60年代出現(xiàn)了函數(shù)發(fā)生器,其多采用模擬電子技術(shù),由分立元件或模擬集成電路構(gòu)成,一般僅能產(chǎn)生正弦波、方波、鋸齒波和三角波等幾種比較簡單的波形。由于模擬電路漂移問題的存在,其輸出穩(wěn)定性較差,同時要產(chǎn)生較為復(fù)雜的信號也比較困難。70年代以后開始出現(xiàn)微處理器,利用微處理器、模數(shù)轉(zhuǎn)換器等,使得較復(fù)雜波形的產(chǎn)生容易了很多。信號發(fā)生器的種類繁多,按輸出波形可分為正弦信號發(fā)生器、脈沖波信號發(fā)生器、函數(shù)發(fā)生器等等。按產(chǎn)生頻率的方法又可以分為諧振

2、法和合成法。2、 基于虛擬儀器的信號發(fā)生器虛擬儀器與傳統(tǒng)儀器相比有很多優(yōu)勢。就信號發(fā)生器而言,利用虛擬儀器可以很輕易地實(shí)現(xiàn)對信號的處理,儀器的功能能夠根據(jù)需要隨時進(jìn)行適當(dāng)調(diào)整,容易進(jìn)行調(diào)試,而避免了傳統(tǒng)儀器面臨的不斷更新?lián)Q代的問題。同時,虛擬儀器的前面板與傳統(tǒng)儀器相比對用戶更加友好,使用起來更加清晰。就信號發(fā)生器而言,利用虛擬儀器進(jìn)行設(shè)計可以更加輕易獲得所需信號,例如不具有明顯周期規(guī)律的任意波形。同時,在硬件采集信號設(shè)備完好的情況下,很有效的避免了傳統(tǒng)信號發(fā)生器的波動不穩(wěn)定性。3、 任務(wù)描述本次課程設(shè)計利用Labview8.5以及實(shí)驗(yàn)室的信號采集設(shè)備,實(shí)現(xiàn)任意波形發(fā)生器的功能。該信號發(fā)生器除了

3、能夠產(chǎn)生正弦波、方波、三角波和鋸齒波四種典型波形,還能根據(jù)輸入的公式產(chǎn)生公式波形,幅值、頻率等均可以調(diào)節(jié)。同時,還實(shí)現(xiàn)了通過手繪實(shí)現(xiàn)任意波形的輸出。輸出的信號均可以與幅值可調(diào)的均勻白噪聲進(jìn)行迭加。二、 程序說明1、 整體流程該任意波形信號發(fā)生器的整體流程如下:波形信號輸出波形信號產(chǎn)生波形屬性設(shè)置波形類型選擇2、 程序具體說明1、 外層條件結(jié)構(gòu)該程序最外層用條件結(jié)構(gòu)實(shí)現(xiàn)波形類型的選擇。共有正弦波、方波、三角波、鋸齒波、公式波形和手繪任意波形六種波形類型,用一個文本下拉列表選擇,將選擇結(jié)果傳給條件結(jié)構(gòu)的分支選擇器,選擇與所選波形類型相對應(yīng)的條件分支進(jìn)行執(zhí)行。2、 波形屬性設(shè)置波形設(shè)置屬性包括四種經(jīng)

4、典波形的幅值,頻率,相位設(shè)置,方波的占空比設(shè)置,公式波形的波形公式規(guī)律輸入,經(jīng)典波形和公式波形的采樣信息設(shè)置(決定產(chǎn)生多長時間的波形)以及包括手繪任意波形在內(nèi)的所有波形迭加均勻白噪聲幅值的設(shè)定。2、 經(jīng)典波形與公式波形的產(chǎn)生由于在程序設(shè)計上,經(jīng)典波形和公式波形的產(chǎn)生幾乎相同。因此這里選取方波為代表介紹。在方波所對應(yīng)的條件分支中,調(diào)用自帶的方波波形VI,分別將設(shè)置的波形屬性頻率、幅值、相位、采樣信息輸入到方波波形VI,同時通過自帶的均勻白噪聲波形VI產(chǎn)生設(shè)定幅值的白噪與產(chǎn)生的方波波形迭加(本程序中信號的迭加用到元素同址操作,在算法說明部分會詳細(xì)說明)。迭加后的信號作為條件結(jié)構(gòu)的輸出,即最終的信號

5、。3、 手繪任意波形的產(chǎn)生信號發(fā)生器的前面板見上圖。當(dāng)選擇手繪任意波形時,需要現(xiàn)在左面的XY圖中利用鼠標(biāo)畫出所需波形,點(diǎn)擊完成按鈕后最終輸出波形在右側(cè)的波形圖中顯示。手繪任意波形波分對應(yīng)的條件分支程序如下:手繪波形過程中數(shù)據(jù)的獲取是利用基于While循環(huán)的事件結(jié)構(gòu)。其中結(jié)構(gòu)共響應(yīng)5種事件。分別是超時,鼠標(biāo)按下,鼠標(biāo)移動,鼠標(biāo)釋放和值改變(對應(yīng)繪制波形完成按鈕)。選擇了手繪任意波形后,當(dāng)鼠標(biāo)進(jìn)入XY范圍并且按下鼠標(biāo)時,與這一事件對應(yīng)的響應(yīng)時將布爾真值賦給前面板上的布爾輸入控件。因此,設(shè)置改指示燈的目的是反映鼠標(biāo)是否按下,同時其屬性節(jié)點(diǎn)在其他事件分支中也會被使用到。當(dāng)鼠標(biāo)移動時,執(zhí)行下面的響應(yīng)。將

6、獲得的鼠標(biāo)實(shí)時的位置通過坐標(biāo)至XY映射函數(shù)轉(zhuǎn)換成XY圖上的坐標(biāo)值,其為一個含有X、Y值兩個元素的簇。再利用數(shù)組插入函數(shù),不斷地將獲得到的鼠標(biāo)新的位置加入數(shù)組,組成的數(shù)組在While循環(huán)結(jié)束后輸出,并打開While循環(huán)的移位寄存器,這樣就可以使得數(shù)組保存之前鼠標(biāo)走過的路線。在這里,一個比較重要的問題是確保每次獲得的新的鼠標(biāo)位置的X值是不斷增大的,即手繪圖形的時候不能往回畫。為了解決這一問題,只需將獲取到的即時鼠標(biāo)X值與上一X值比較即可,然后用邏輯與,確保只有在X增大和鼠標(biāo)按下(用到布爾控件的屬性節(jié)點(diǎn))同時滿足時,才會將得到的即時鼠標(biāo)位置作為新元素加入到坐標(biāo)位置數(shù)組中。具體是利用數(shù)組大小這一函數(shù)獲

7、得目前坐標(biāo)位置數(shù)組的元素個數(shù),由于數(shù)組的元素索引是從0開始,因此將獲得到的數(shù)組大小減1即為最后一個元素的索引,由于坐標(biāo)元素都是簇的元素,因此將其按名稱接觸捆綁獲得X坐標(biāo),同時也將即時的坐標(biāo)按名稱接觸捆綁獲得即時X坐標(biāo)。然后將兩者進(jìn)行大小比較,當(dāng)滿足X增大時得到真值輸入到邏輯與中,再將邏輯與的輸出接到條件結(jié)構(gòu)的分支選擇器,當(dāng)為真時,則將新獲得的即時坐標(biāo)值作為新元素加入到數(shù)組中。將得到的數(shù)組賦給“值”,即實(shí)現(xiàn)移動鼠標(biāo)的同時在XY圖中繪出圖線。當(dāng)圖線繪制完成時,鼠標(biāo)釋放,此時進(jìn)行下圖中的相應(yīng)。即將布爾假值賦給指示燈控件,表示鼠標(biāo)不再按下。同時保留之前繪制的圖線坐標(biāo)。鼠標(biāo)釋放后,當(dāng)點(diǎn)擊繪制波形完成按鈕

8、時,響應(yīng)值改變的事件,While循環(huán)中止,并把最終的坐標(biāo)數(shù)組輸出。三、 算法說明1、任意波形發(fā)生器的程序中算法部分比較少,主要是在選擇手繪任意波形時要把獲得的XY圖中的坐標(biāo)轉(zhuǎn)換成能夠輸入給波形圖的等時間間隔的波形數(shù)據(jù)。首先,將根據(jù)手繪圖線得到的數(shù)據(jù)通過一個For循環(huán),打開自動索引隧道,在循環(huán)中按名稱接觸捆綁分別獲得X值和Y值,循環(huán)次數(shù)即為初始數(shù)組的大小。For循環(huán)結(jié)束后即分別獲得X、Y數(shù)組。利用X數(shù)組的最后一個元素減去第一個元素,即得到了手繪波形的時間長度,精度為0.01。然后再通過一個For循環(huán)獲得等時間間隔0.1s,時間長度與手繪波形時間長度相等的數(shù)組。對于原始的X、Y數(shù)組利用插值,在獲得

9、的等時間間隔點(diǎn)上獲得Y值,這樣就獲得了等時間間隔0.01s的波形數(shù)據(jù),由于均勻白噪的時間間隔默認(rèn)為1s,因此需要獲取白噪的波形成分Y,再創(chuàng)建時間間隔為0.01s的白噪波形才能和插值得到的波形相迭加。插插值方式可以選擇最近、線性、樣條、拉格朗日等,各種插值方式不一樣,但由于最后精度差別不大,信號發(fā)生器對精度也沒有太高的要求,因此選擇線性插值即可。線性插值的原理如下:2、在該任意波形發(fā)生器的程序中,當(dāng)用到白噪信號的波形信號迭加的時候用到的都是元素同址操作。使用元素同址操作結(jié)構(gòu)用于控制Labview編譯器更高效地執(zhí)行常見操作,以及提高內(nèi)存使用效率。許多Labview操作要求Labview對數(shù)據(jù)復(fù)制并

10、保存在內(nèi)存中,因此降低了執(zhí)行速度且增加了內(nèi)存占用,使用元素同址操作結(jié)構(gòu)有效避免了不必要的數(shù)據(jù)復(fù)制,改善了內(nèi)存和VI的效率。3、最終將生成的波形信號輸出到實(shí)驗(yàn)室的硬件設(shè)備時用到DAQ助手,采用發(fā)生一段數(shù)據(jù)(硬件定時)的方式,生成模式選用N采樣。(由于個人電腦上沒有安裝DAQmx,所以網(wǎng)絡(luò)學(xué)堂上提交的程序中沒有顯示DAQ助手的部分,驗(yàn)收時已展示)。四、 結(jié)果分析與總結(jié)1、 實(shí)驗(yàn)結(jié)果經(jīng)典波形:公式波形:迭加噪聲后:手繪任意波形:2、 個人體會與課程建議我覺得自己這學(xué)期選修虛擬儀器這門課還是收獲頗豐的。作為一名測控技術(shù)專業(yè)的學(xué)生,我覺得自己十分有必要了解并熟練地掌握用虛擬儀器來解決實(shí)際問題。在做大作業(yè)的過程當(dāng)中,我對前半學(xué)期學(xué)到的理論知識有了更深的理解,但我也明顯感覺到自己還是需要更多的實(shí)戰(zhàn)練習(xí)。同時,這次選作任意波形發(fā)生器這一題目只用到了部分功能,Labview還是非常強(qiáng)大的,我計劃在寒假中用一部分時間繼續(xù)做一些相關(guān)應(yīng)用,也希望在遇到問題的時候能和老師繼續(xù)溝通。關(guān)于該門課程,我有一個建議是,在前半學(xué)期講授課程的時候可以適當(dāng)留一些

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論