什么是數據采集?
在計算機廣泛應用的今天,數據采集的重要性是十分顯著的。它是計算機與外部物理世界連接的橋梁。各種類型信號采集的難易程度差別很大。實際采集時,噪聲也可能帶來一些麻煩。數據采集時,有一些基本原理要注意,還有更多的實際的問題要解決。
假設現在對一個模擬信號 x(t) 每隔Δ t 時間采樣一次。時間間隔Δ t 被稱為采樣間隔或者采樣周期。它的倒數 1/ Δ t 被稱為采樣頻率,單位是采樣數 / 每秒。 t=0, Δ t ,2 Δ t ,3 Δ t …… 等等, x(t) 的數值就被稱為采樣值。所有 x(0),x( Δ t),x(2 Δ t ) 都是采樣值。這樣信號 x(t) 可以用一組分散的采樣值來表示: 下圖顯示了一個模擬信號和它采樣后的采樣值。采樣間隔是Δ t ,注意,采樣點在時域上是分散的。 |
|
圖 1 模擬信號和采樣顯示 |
如果對信號 x(t) 采集 N 個采樣點,那么 x(t) 就可以用下面這個數列表示: 這個數列被稱為信號 x(t) 的數字化顯示或者采樣顯示。注意這個數列中僅僅用下標變量編制索引,而不含有任何關于采樣率(或Δ t )的信息。所以如果只知道該信號的采樣值,并不能知道它的采樣率,缺少了時間尺度,也不可能知道信號 x(t) 的頻率。 根據采樣定理,最低采樣頻率必須是信號頻率的兩倍。反過來說,如果給定了采樣頻率,那么能夠正確顯示信號而不發生畸變的最大頻率叫做恩奎斯特頻率,它是采樣頻率的一半。如果信號中包含頻率高于奈奎斯特頻率的成分,信號將在直流和恩奎斯特頻率之間畸變。 圖2顯示了一個信號分別用合適的采樣率和過低的采樣率進行采樣的結果。 采樣率過低的結果是還原的信號的頻率看上去與原始信號不同。這種信號畸變叫做混疊( alias )。 出現的混頻偏差( alias frequency )是輸入信號的頻率和最靠近的采樣率整數倍的差的絕對值。 |
圖 2 不同采樣率的采樣結果 |
圖3給出了一個例子。假設采樣頻率 fs 是 100HZ, ,信號中含有 25 、 70 、 160 、和 510 Hz 的成分。 圖3 說明混疊的例子 |
采樣的結果將會是低于奈奎斯特頻率( fs/2=50 Hz )的信號可以被正確采樣。而頻率高于 50HZ 的信號成分采樣時會發生畸變。分別產生了 30 、 40 和 10 Hz 的畸變頻率 F2 、 F3 和 F4 。計算混頻偏差的公式是: 混頻偏差= ABS (采樣頻率的最近整數倍-輸入頻率) 其中 ABS 表示“絕對值”,例如: 混頻偏差 F2 = |100 – 70| = 30 Hz 混頻偏差 F3 = |(2)100 – 160| = 40 Hz 混頻偏差 F4 = |(5)100 – 510| = 10 Hz 為了避免這種情況的發生,通常在信號被采集( A/D )之前,經過一個低通濾波器,將信號中高于奈奎斯特頻率的信號成分濾去。在圖3的例子中,這個濾波器的截止頻率自然是 25HZ 。這個濾波器稱為 抗混疊濾波器 采樣頻率應當怎樣設置呢?也許你可能會首先考慮用采集卡支持的最大頻率。但是,較長時間使用很高的采樣率可能會導致沒有足夠的內存或者硬盤存儲數據太慢。理論上設置采樣頻率為被采集信號最高頻率成分的2倍就夠了,實際上工程中選用5~10倍,有時為了較好地還原波形,甚至更高一些。 通常,信號采集后都要去做適當的信號處理,例如 FFT 等。這里對樣本數又有一個要求,一般不能只提供一個信號周期的數據樣本,希望有5~10個周期,甚至更多的樣本。并且希望所提供的樣本總數是整周期個數的。這里又發生一個困難,有時我們并不知道,或不確切知道被采信號的頻率,因此不但采樣率不一定是信號頻率的整倍數,也不能保證提供整周期數的樣本。我們所有的僅僅是一個時間序列的離散的函數 x(n) 和采樣頻率。這是我們測量與分析的唯一依據。 |
圖4 數據采集系統結構 |
上圖表示了數據采集的結構。在數據采集之前,程序將對采集板卡初始化,板卡上和內存中的 Buffer 是數據采集存儲的中間環節。需要注意的兩個問題是:是否使用 Buffer ?是否使用外觸發啟動、停止或同步一個操作。 |
評論
查看更多