LabVIEW 與 Fourier 分析
一、目的
藉由簡單的練習對LabVIEW程式設計有初步的認識。利用類比訊號輸入DAQ卡(資料擷 取卡),再透過LabVIEW的DAQ VIs 可以輕易地擷取DAQ系統的資料,再經過LabVIEW的傅 立葉分析程式來找出輸入訊號的頻譜。
二、原理
傅立葉級數(Fourier Series):Fourier 級數之基本形式為三角級數,當週期函數 之週 期為 2π時,可用下式之三角級數表示:
∑ · · … eq1
若函數 為已知,則上式中之a0、an、bn即可由下式求得 1
1 ·
1 ·
… eq2
eq2 稱為 Euler-Fourier 公式。a0、an、bn稱為 的傅立葉係數(Fourier Coefficient)。於 是 的Fourier 級數表示如下式
2 2 · 2
· … eq3
其中 a0,a1,a2,…及 b1,b2,…等均為實數。 、 為一次諧波,
2 、 2 為二次諧波,…, · 、 · 為n 次諧波。級數中 每一弦波項的平均值為0,所以常數 即為 的平均值。
現在考慮週期為2π,大小為±k 的函數,定義如下 , 0
,0 ,且 2
經計算可得(過程自行參閱補充資料或物數課本) 4k
π
1
3 3 1
5 5 … eq4 若該函數是週期為4(非2π),振幅為 1 的方波時,定義如下
1 , 2 0
1 ,0 2 於是 eq4轉變為eq5 4
π 2
1 3
3 2
1 5
5
2 … eq5 4/π
4/3π 4/5π
4/7π
0 1 3 5 7 n 圖2
f(x)
k‐π 0 π
x
k圖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對各種訊號作進行頻譜分 析。
第貳部分、資料擷取的基礎應用
資料擷取(DAQ, Data AcQuisition)是量測真實訊號的簡單過程,如透過電壓將訊息帶 入電腦中來分析、辨別、儲存或是做其他處理。我們這裡所使用的DAQ卡,是NI公司的ADDA 卡,它可以將類比訊號(analog)轉換成數位訊號(digital),或是將數位訊號轉換成類比訊號。將 類比訊號輸入電腦之前,必須先轉換成數位訊號,如此電腦能才夠分析處理。本實驗中,電 腦可以藉著 DAQ 卡來和外界做溝通,透過LabVIEW程式的配合,我們便可以利用電腦取代 示波器的功能。
ADDA 卡的使用:
我們使用的ADDA卡是USB介面。請先將裝置連 接至電腦上,確定電腦已經讀到裝置並已安裝好,再 開啟LabVIEW程式。ADDA卡如右圖所示,一邊是類
比訊號的輸入\輸出(I/O),另一邊是數位訊號的I/O。(以下以LabVIEW7.1版為例)開啟
LabVIEW程式後,建立新的vi,選擇開新檔如圖4,之後跳出的新視窗,會產生非常方便的『DAQ Assistant』,對它雙點擊之後,即可檢視你的輸入訊號。或者你可以依照講義的順序建立DAQ Assistant。這裡要特別注意的是:讀取訊號的頻率,要大於輸入訊號的頻率。
一、 建立頻譜分析程式
圖3
圖4
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
圖7
c.點選 ai0 通道作為訊號的輸入通道(圖 6)。之後結束,按 Finish。
圖8
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
圖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)定義為高電位在整個週期所佔的比例。
四、三角波、鋸齒波、脈衝波、半波整流及全波整流分析
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.各頻率分佈及強度變化是否如理論所預測?
5. 接好圖 13 之電路後,設定輸入訊號為 0.5k Hz 的弦波,仔細調整 DC OFFSET 及輸入振 幅使得輸出訊號為沒有二極體的0.7V 壓降之理想半波整流波形,其振幅為 2V。並重複 步驟1。
6. 接好圖 14 之電路後, 設定訊號為 0.5k Hz, DC OFFSET=0 的弦波,仔細調整輸入振幅 使得輸出訊號為振幅2V 的全波整流波形。重複步驟 1。
※注意:步驟6 之訊號產生器電源插頭要浮接(兩支接腳)。
圖13 圖14
圖11 圖12
問題與討論
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. 工程數學,鄒宏基、陳自雄,儒林