2012-04-14 120 views
2

我試圖從Emotiv支持團隊和社區獲得一些答案,但沒有人回答,所以我想也許你們中的一些人正在使用Emotiv API。Emotiv Epoc數據採集

我很難搞清楚原始數據採集過程是如何工作的。我用Emotiv耳機閱讀了關於腦電圖原始數據採集的所有主題,但他們沒有幫助。

這裏是我的問題:

  • 是它在某種程度上可能獲得每通道1個樣本?

在我的應用程序中有一個定時器函數,每隔1ms調用一次。如果緩衝區包含每個通道1個採樣,我想調用另一個函數。

  • 函數EE_DataUpdateHandle()是否在調用時轉儲所有檢索到的樣本?

我爲了調用另一個函數,如果緩衝區包含每通道1個樣品,但EE_DataGetNumberOfSample()函數永遠不會返回1個樣本接受調查的EE_DataGetNumberOfSample()函數。這是因爲EE_DataUpdateHandle()會在所有其他樣本被調用時轉儲嗎?我想如果EE_DataUpdatedHandle()函數被調用,它指向新的數據權利? - >這是否意味着之前收集的所有數據都無法訪問? 當每個通道1個採樣準備好被檢索時,沒有函數返回EDK_OK。 所以我可以在我的定時器函數中輪詢每個ms,如果它返回EDK_OK,我就調用EE_DataGet並返回每個通道1個Sample。

  • 我讀了你的建議,以獲得調用EE_DataUpdateHandle()你覺得有可能在我的定時器功能1 /128秒算了算,以便檢索之前填寫的緩衝區使用S1中EEP()每個頻道1個採樣?我真的不知道如何做到這一點......大約7.8毫秒後,緩衝區中每個通道應該有1個採樣點嗎?如果我每8ms調用一次EE_DataGet函數,會發生什麼情況,因爲我的計時器函數每1ms調用一次?

好的,我希望你能想出一些建議如何解決我的問題!

乾杯, 多米尼克

回答

1

OpenVibe是開源的,並配備了Emotiv公司的驅動程序,你可以看看。

0

我認爲一次只能從一個頻道獲得1個樣本是不可能的,除非emotiv改變他們的編程模型。

當前的emotiv API庫似乎從耳機獲取數據並將它們保存到數據緩衝區,而客戶端應用程序只能使用EE_DataGet從緩衝區輪詢數據。

緩衝區可能不會被emotiv庫中的一個數據項填充。如果不是這樣,您可以嘗試儘可能快地進行輪詢(比數據採集更快),看看您是否只能使用EE_DataGet獲取1個樣本(然後調用EE_DataUpdateHandle清理新樣本的緩衝區)。