基于TTS技術和腦電采集設備的精神疲勞實驗系統設計
2.1 腦電采集模塊
腦電信號采集部分由數據采集線程來完成,其主要實現過程如圖2所示。本文引用地址:http://www.j9360.com/article/192784.htm
m_EEGRunFlag為數據采集狀態標志,開始腦電采集后,開啟腦電數據采集線程。腦電信號的獲取是由g.tec公司提供的API函數編程實現的,創建overlapped結構事件對象的目的是避免阻塞線程,系統調用獲取數據的函數時可以立即返回,但是直到overlapped結構中事件被觸發數據才是有效的,用WaitForSingleObject()函數來判斷數據傳輸是否結束,用GetOvedappedResuk()函數來檢索獲取的有效字節數目。此時在線程中只獲取而不存儲腦電數據,直到m_RunFlag為TRUE才開始腦電數據的存儲。
2.2 聽警覺作業模塊
聽警覺作業部分由作業線程來完成,其主要實現過程如圖3所示。
m_RunFlag為聽警覺作業狀態標志,開始作業后,開啟作業線程。開始聽警覺作業的同時開始數據采集線程中數據的存儲。受試者聽到聲音后,對判斷命令進行選擇判斷,兩次朗讀判斷命令時間間隔由定時器控制,受試者操作結束后,等待定時器被觸發系統朗讀下一次判斷命令。當判斷命令達到50次時,m_RunFlag置為FAISE,同時數據采集線程中不再存儲數據,保存受試者作業信息,作業線程結束。其中,TTS朗讀判斷命令和受試者選擇操作的實現過程如圖4所示。
a、b、c為隨機生成的整數,a、b、c的范圍可自由調整,通過調整a、b的范圍可以調整作業的復雜度,圖4中選擇進行20以內整數的加法。c由a、b隨機得到,最終生成的文本內容可能正確可能錯誤(如:可能是3+5=8或者15+7=19)。受試者在聽到判斷命令后,經過心算判斷系統讀出的判斷命令的正誤,然后按下鍵盤上預先設定好的鍵(如:錯誤按←,正確按→)。受試者在聽到判斷命令后的1.5 s內按鍵視為有效操作,如果受試者沒有在有效時間內按鍵或者沒有按鍵視為此次操作錯誤。如果判斷正確,對應正確操作次數m_Tnum加1。
評論