關於LabVIEW取樣頻率極限問題

Voltage Display Interface iPod-1.vi

我長久以來,一直有一個無法突迫的問題。以我這個程式來說,我取樣頻率為17ms,但我有發現,其實17ms要取1024筆資料,以我這個程式來說約17秒就要執行完畢,但實際是很不準的(約要60幾秒),而且是超級不準的,而且,若作業系統有開音樂等,時間又會拉的很長,但若將取樣頻率設為100ms,理論上要102秒,實際上也很接近102秒,就會發現比較準。我一直覺得是因為,LabVIEW內的計時器,是以windows xp為時脈,所以,能取樣的速率會受到作業系統的影響,但若我今天買了一台最快可取樣250KHz的資料擷取卡(DAQ),會變成外面可取那麼快的頻率,但接收到LabVIEW程式後,確因labview以作業系統為時脈,會受到限制,而且以奈奎斯理論至少要2倍,根本做不到,labview這端最快取樣頻率頂多只能到100ms而已,而且還要受到作業系統的影響,若開了一大堆程式在執行,例如:音樂等。可能還不只100ms,可能會拉得更慢。

所以,我的問題是,有沒有什麼辦法可以提高LabVIEW時脈的取樣頻率呢?不然,買了一張那麼好的資料擷取卡,但labview端,確沒有辦法擷取那麼快,也是枉然的,有沒有什麼辦法,可以提高LabVIEW端的取樣頻率呢?若要用labview於工業上,可能要很高的取樣頻率,而labview又已是那麼強的軟體了,若沒有辦法擷取那麼快的取樣頻率,擷取進來的信號其實都是失真,不正確的,而labview又那麼受到歡迎,NI又是那麼大一家公司,我想應該有解決的辦法吧?不然,買那麼好的資料擷取卡,也沒有用啊,不是嗎?

 

P.S.:我時間的計算是用當我按下執行後,碼錶也開始計時的方式,也許會有些微的誤差,但不至於差很多。(因為沒有同步)

其實你誤會取樣率(Sampling Rate)的意思了。

所謂的取樣率(Sampling Rate),並不是透過迴圈來達成,而是要透過DAQ卡本身的硬體來達成的。

因為Windows的時間解析度為1ms,實務上來說,最小的時間解析度為16.67ms,所以如果要用迴圈來作取樣的話,是完全不可能的。

在DAQ卡中,友一項重要的數據,就是取樣率(sampling rate),目前的DAQ卡中,最基本的取樣率為250kS/s,k表示1000的意思,第一個S,表示Sampe的意思,意思是取樣點;第二個s,表示秒的意思。

所以,如果說取樣率為250kS/s,中文意思就是說「每秒最高取樣點為250K個sample」,所以在時間解析度方面,資料點與資料點之間的時間間隔為:1/250000s=4us。

而這個時間解析度是在DAQ裡面去設定的,你可以使用DAQ小幫手來幫你設定。

 

同意Benjamin的說法。NI的DAQ卡敢宣稱有這麼高的取樣率,就一定有。
基本上來說,250kS/s取樣,並取20000samples。
DAQ卡會先把這250kHz取樣的20000點先放在自己的buffer然後在上傳給電腦的記憶體。
並且開出一塊記憶體容量給這些點,然後再繼續抓。
因此原作者應該是弄錯測量的方法了。

請問要怎麼用DAQ小幫手呢?要怎麼在人機介面上透過DAQ Assistant小幫手去操控DAQ卡的取樣頻率呢?

若我要用10Ks/s,抓65536筆資料,所以,理論上6.5536秒,就要抓完這65536筆資料,有辦法做到嗎?

 

可以教我嗎?