LabVIEW 與 Fourier 分析 一 目的 藉由簡單的練習對 LabVIEW 程式設計有初步的認識 利用類比訊號輸入 DAQ 卡 ( 資料擷取卡 ), 再透過 LabVIEW 的 DAQ VIs 可以輕易地擷取 DAQ 系統的資料, 再經過 LabVIEW 的傅立葉分析程式來找出輸入訊號的頻譜 二 原理 傅立葉級數 (Fourier Series):Fourier 級數之基本形式為三角級數, 當週期函數 之週期為 2π 時, 可用下式之三角級數表示 : eq1 若函數 為已知, 則上式中之 a 0 a n b n 即可由下式求得 1 1 eq2 1 eq2 稱為 Euler-Fourier 公式 a 0 a n b n 稱為 的傅立葉係數 (Fourier Coefficient) 於是 的 Fourier 級數表示如下式 2 2 2 eq3 其中 a 0,a 1,a 2, 及 b 1,b 2, 等均為實數 為一次諧波, 2 2 為二次諧波,, 為 n 次諧波 級數中 每一弦波項的平均值為 0, 所以常數 即為 的平均值 現在考慮週期為 2π, 大小為 ±k 的函數, 定義如下, 0,0, 且 2 經計算可得 ( 過程自行參閱補充資料或物數課本 ) 4k π 1 3 3 1 5 eq4 5 若該函數是週期為 4( 非 2π), 振幅為 1 的方波時, 定義如下 1, 2 0 於是 eq4 轉變為 eq5 1,0 2 f(x) k π 0 π x k 圖 1 4/π 4/3π 4/5π 4/7π 0 1 3 5 7 n 圖 2 4 π 2 1 3 3 2 1 5 eq5 5 2 1
若各諧波振幅對 n 或頻率作圖將如圖 2 所示, 該圖稱為該函數的頻譜 由於傅立葉理論較繁複, 同學可自行參閱補充資料及物數課本, 自能對 Fourier 級數作有系統的學習 接下來我們將利用 LabVIEW 所寫的頻譜分析程式, 以 DAQ 卡做為訊號的接收器, 分別來分析訊號產生器脈波訊號 整流電路與振盪器電路產生的訊號之頻譜 三 實驗裝置安裝 LabVIEW 程式的電腦 DAQ 卡 (National Instruments 公司出產的 ADDA card) 數位訊號產生器 2 數位示波器 電源供應器 請同學自備隨身碟 預習問題 1. 請查物數課本將原理部分所提方波傅立葉級數所得結果 (eq4) 推導一次 2. 請查一查上學期運算放大器實驗講義, 畫出加法器 ( 電壓和放大器 ) 的接線以及其功能 3. 請查一查應電實驗室網頁的元件資料庫, 畫出 2N3906 接腳圖及 LM555,CD4011 的 TOP VIEW 圖 三 實驗操作 本實驗分成兩大部分 : 第壹部分是 LabVIEW 程式的簡單練習, 共有 13 個實做練習, 請事先完成以便熟悉 LabVIEW 操作 第貳部分是利用 DAQ 卡擷取訊號, 再透過 LabVIEW 對各種訊號作進行頻譜分析 第貳部分 資料擷取的基礎應用 圖 3 資料擷取 (DAQ, Data AcQuisition) 是量測真實訊號的簡單過程, 如透過電壓將訊息帶入電腦中來分析 辨別 儲存或是做其他處理 我們這裡所使用的 DAQ 卡, 是 NI 公司的 ADDA 卡, 它可以將類比訊號 (analog) 轉換成數位訊號 (digital), 或是將數位訊號轉換成類比訊號 將類比訊號輸入電腦之前, 必須先轉換成數位訊號, 如此電腦能才夠分析處理 本實驗中, 電腦可以藉著 DAQ 卡來和外界做溝通, 透過 LabVIEW 程式的配合, 我們便可以利用電腦取代示波器的功能 ADDA 卡的使用 : 我們使用的 ADDA 卡是 USB 介面 請先將裝置連接至電腦上, 確定電腦已經讀到裝置並已安裝好, 再圖 4 開啟 LabVIEW 程式 ADDA 卡如右圖所示, 一邊是類比訊號的輸入 \ 輸出 (I/O), 另一邊是數位訊號的 I/O ( 以下以 LabVIEW7.1 版為例 ) 開啟 LabVIEW 程式後, 建立新的 vi, 選擇開新檔如圖 4, 之後跳出的新視窗, 會產生非常方便的 DAQ Assistant, 對它雙點擊之後, 即可檢視你的輸入訊號 或者你可以依照講義的順序建立 DAQ Assistant 這裡要特別注意的是: 讀取訊號的頻率, 要大於輸入訊號的頻率 一 建立頻譜分析程式 2
1. 開始一個新的 Blank VI 2. 在人機介面區置放兩個 Waveform Graph 一個觀察訊號時域的變化( 取名為波形 ), 另一個則觀察頻域的變化 ( 取名為頻譜 ) Waveform Graph:Controls>All Controls>Graph> Waveform Graph 3. 在程式方塊區置放 While Loop 迴圈, 我們希望能持續不斷的分析 While Loop:Functions>All Functions>Structures> While Loop 4. 置放 DAQ Assistant 元件, 以便將 DAQ 所截擷取的資料送進程式方塊區處理 設定程序如下 : a. 元件位置 : Functions>Input>DAQ Assistant b. 置放之後跳出 Create New Express Task 對話盒 ( 圖 5) 由於我們的訊號是電壓的類比變化, 因此在這裡我們要選取 Acquire Signals/Analog Input/Voltage 之後下一步, 按 Next> 圖 5 圖 6 圖 8 圖 7 c. 點選 ai0 通道作為訊號的輸入通道 ( 圖 6) 之後結束, 按 Finish 3
d. 此時出現的是 DAQ Assistant 的設定視窗 請依照圖 7 作好設定 5. 置放 Spectral Measurements 分析元件 並作好設定, 如圖 8 所示 Spectral Measurements:Functions>All Functions>Analyze> Waveform Measurements> Spectral Measurements 6. 最後我們希望能把波形及頻譜資料儲存下來 於是在 Case Structure 內置放 Write LabVIEW Measurement File 儲存控制元件 ( 置放後記得設定儲存路徑及檔名 ) Case Structure 在這裡的目的是為了能夠決定是否要儲檔 Case Structure:Functions>All Functions>Structures> Case Structure Write LabVIEW Measurement File:Functions>All Functions>File I/O> Write LabVIEW Measurement File 其它元件的置放, 在此就不再贅述 最後完成的程式方塊區如圖 9 所示, 人機介面區如圖 10 所示 7. 測試一下確認程式是否能正常運作 a. 設定訊號為 1kHz,DC OFFSET=0, 振幅 1V 的弦波 將訊號產生器輸出同時接上示波器及 DAQ 卡的 Analog 的 AI0 通道 本實驗的所有 OFFSET=0 的設定都必須以人工方式重新校正 b. 執行程式檢查波形是否與示波器相同? c. 存檔後, 由 excel 或 Origin 讀出並作圖, 檢查圖形是否與 graph 圖相同? 8. 如果步驟 7b,c 的答案都是的話, 就可以開始下一步實驗 本程式只是範例, 同學可以依自己的想法寫程式, 但必須具備能觀察時域及頻域訊號圖形並同時儲存的功能 圖 9 4
圖 10 二 弦波分析 1. 設定訊號為 0.5k Hz, DC OFFSET=0, 振幅 1V 的弦波 同時以示波器及 LabVIEW 觀看波形及頻譜圖 使用游標記錄示波器的頻譜的頻率 (Hz) 及強度 (db); 使用程式將波形及頻譜儲存下來 示波器的頻譜觀察 a. 調整各種旋鈕使欲觀察的訊號能固定於示波器螢幕之上 b. 按下 MATH 按鈕 ( 在 CH1 及 CH2 的中間 ) 由螢幕右側選單中, 操作選 FFT; 窗函數選 Hanning; 旋轉 VARIABLE 鈕可調整頻譜信號之垂直位置 ( 信號左側 M 游標 ), 該位置表示是 0dB 的位置 該定義為 20logVi, 其中 Vi 為方均根值 ( 有效值 ) 你可以旋轉 Time/div 決定頻率範圍及利用 Cursor 功能量取頻率值及 db 值 2. 仔細調整 DC OFFSET=0.5V 後重複步驟 1 此時頻譜有何變化? 3. 將 DC OFFSET 調回 0V, 並且再把頻率調整為 0.6k Hz 重複步驟 1 4. 使用加法器將該步驟 1 及 2 的波相加以產生新的合成波形後, 重複步驟 1 5. 步驟 4 的合成波由時域 (x 軸單位為時間 ) 來看是否能得知是那些波的合成? 頻域 (x 軸單位為頻率 ) 呢? 三 方波分析 1. 設定訊號為 0.5kHz, DC OFFSET=0, 振幅 1V 的方波, 同時以示波器及 LabVIEW 觀看波形及頻譜圖 分別記錄示波器的直流 前四個諧波的頻率分佈及強度變化 ; 使用程式將波形及頻譜儲存下來 2. 各頻率分佈及強度變化是否如理論所預測? 3. 調整方波的 DUTY 為 75% 後重複上一步驟 4. 改變 DUTY 後對頻譜有何影響? 工作週率 (DUTY CYCLE) 定義為高電位在整個週期所佔的比例 5
四 三角波 鋸齒波 脈衝波 半波整流及全波整流分析 1. 設定訊號為 0.5k Hz, DC OFFSET=0, 振幅 1V 的三角波, 同時以示波器及 LabVIEW 觀看波形及頻譜圖 使用游標記錄示波器的頻譜的頻率 (Hz) 及強度 (db) ; 使用程式將波形及頻譜儲存下來 2. 接好圖 11 之電路, 使用示波器檢查 555 接腳 2 的波形變化及頻率 並重複步驟 1 3. 更換電容 0.22uF 為 0.1uF, 使用示波器檢查反相器 ( 圖 12 右 ) 輸出的波形變化及頻率 並重複步驟 1 555 接腳 2 輸出為 5V 至 10V 的鋸齒波 對 555 有興趣的同學可以參閱應電實驗室網頁的 555 計時器講義 4011IC 為 NAND 閘 如圖 12 左所示把其中一支接腳接高電位 (15V) 後, 輸出將與另一個輸入接腳 (A) 呈反相 即 A 是高電位則 Q 是低電位 (0V); 反之 A 是低電位則 Q 是高電位 (15V) 對 4011IC 有興趣的同學可以參閱應電實驗網頁的 TTL 與 CMOS 邏輯閘講義 4. 各頻率分佈及強度變化是否如理論所預測? 圖 11 圖 12 5. 接好圖 13 之電路後, 設定輸入訊號為 0.5k Hz 的弦波, 仔細調整 DC OFFSET 及輸入振幅使得輸出訊號為沒有二極體的 0.7V 壓降之理想半波整流波形, 其振幅為 2V 並重複步驟 1 6. 接好圖 14 之電路後, 設定訊號為 0.5k Hz, DC OFFSET=0 的弦波, 仔細調整輸入振幅使得輸出訊號為振幅 2V 的全波整流波形 重複步驟 1 注意 : 步驟 6 之訊號產生器電源插頭要浮接 ( 兩支接腳 ) 圖 13 圖 14 6
問題與討論 1. 將實驗存取的數據利用繪圖軟體出來, 並回答步驟中的問題 2. Fourier 理論有何實際上的應用? 資料與例題來源 : 1. LabVIEW 程式設計入門, 徐瑞隆編著, 新文京出版 2. LabVIEW 基礎篇, 蕭子健 儲昭偉 王智昱編譯, 高立圖書出版 3. LabVIEW 入門手冊, 林踐編著凡異出版 4. http://www.phys.ncku.edu.tw/ultracold/paper/aroma.pdf 5. http://intelligent.mech.yzu.edu.tw/course/experiment/experiment_handout/ MEexperiment_2006.doc 6. http://www.gauss.com.tw/logic/ch1/1-2.htm 7. http://www.cinelformacao.com/labview/files/usb6008/usb6008intro.htm 8. http://www.pt.ntu.edu.tw/hmchai/ptcomputer/hlabview/labviewindex.htm 9. 工程數學, 鄒宏基 陳自雄, 儒林 7