劉 邈郭佳明
(天津大學醫(yī)學工程與轉化醫(yī)學研究院,天津300072)
事件相關誘發(fā)電位(Event-Related Potential,ERP)是一種特殊的腦電誘發(fā)電位,它的出現(xiàn)必須要有特殊的刺激施加,如聲音刺激、視覺刺激[1]。因為ERP與刺激之間存在嚴格的鎖時關系,所以在記錄腦電數(shù)據(jù)的同時還需精準地記錄下刺激所發(fā)生的時點。
ERP能夠協(xié)助診斷神經(jīng)系統(tǒng)的功能異常[2-4]且反應認知過程中的不同方面[5],在臨床應用和腦機接口(Brain Computer Interface,BCI)領域被廣泛研究[6]。由于ERP與刺激之間存在嚴格鎖時的特性,在設計ERP采集系統(tǒng)時對腦電數(shù)據(jù)和刺激事件的同步采集的時間精度是衡量系統(tǒng)整體性能的重要指標。目前針對ERP的腦電采集系統(tǒng)通常采用有線的數(shù)據(jù)傳輸方式,以視覺刺激為例,通常在計算機運行刺激程序,通過高刷新率的顯示器呈現(xiàn)視覺刺激。為了確保腦電與刺激采集時點的同步性,通常在給出視覺刺激的同時通過采集計算機的并口(LPT)輸出脈沖以記錄刺激時點[7]。受限于計算機操作系統(tǒng)本身的延時,這種由計算機產(chǎn)生刺激并同步發(fā)送刺激事件信號的方法存在隨機性的時間誤差。一些研究者,如何超文[1],辛如宇[8]等利用FPGA作為刺激發(fā)生器,驅動由高刷新頻的顯示器呈現(xiàn)刺激事件的同時向腦電采集設備發(fā)送同步信號觸發(fā)腦電采集;鄭璞潔[9]利用DSP芯片在刺激產(chǎn)生的時點通過I/O口觸發(fā)腦電設備的采集。這些設計都是通過繞開計算機多任務操作以避免系統(tǒng)的延時從而提高ERP采集的時間精度。
有線的ERP采集系統(tǒng)有其固有的限制,無論是在臨床應用還是基于ERP的腦機接口研究,有線系統(tǒng)都受限于環(huán)境約束,一般只能在特定的場合完成腦電的采集。隨著穿戴式醫(yī)療的需求上升和無線通信技術的發(fā)展,ERP采集系統(tǒng)向無線采集的方向發(fā)展能夠真正推動BCI從研究向現(xiàn)實生活應用。然而,目前針對ERP的無線采集的公開方案非常少,有鑒于目前所使用的無線腦電采集系統(tǒng)中普遍存在刺激事件時點同步記錄的時間誤差。數(shù)據(jù)無線傳輸過程中存在的延時和抖動影響事件同步精度,限制了ERP的研究。
無線傳輸過程中的延時指單次數(shù)據(jù)包發(fā)送和接收之間的時間差,主要由網(wǎng)絡傳輸協(xié)議本身、數(shù)據(jù)丟包及網(wǎng)絡擁塞等問題導致,無法消除,只能盡量降低。延時抖動是指數(shù)據(jù)包在信道傳輸過程中延時的不同,目前常用無線傳輸產(chǎn)生的延時抖動主要是由于觸發(fā)信息傳輸用無線信道(如2.4G ISM Band)使用率過高而導致大量數(shù)據(jù)在此信道傳輸時有效時隙變短,頻繁觸發(fā)規(guī)避算法,甚至造成空中沖突導致傳輸錯誤并在協(xié)議控制下重傳造成的延時突然增大。
對于無線數(shù)據(jù)傳輸過程中的延時和延時抖動的問題,目前公開的解決方案非常少。為了避免因信道擁塞產(chǎn)生的延時抖動,M.Foerster[10]采用了刺激事件信息和腦電數(shù)據(jù)分信道傳輸?shù)姆桨?,不同的傳感器來檢測不同種類的事件產(chǎn)生與否,在事件發(fā)生時通過對刺激事件編碼無線發(fā)送至主控芯片,多個事件之間通過算法不斷糾正各設備晶振因漂移帶來的誤差。U.Ghoshdastider[11]對刺激器、腦電采集器外加硬件同步模塊,在采集之前由同步中央控制器發(fā)送等時間間隔的同步信號使各同步模塊對齊時間完成同步。數(shù)據(jù)采集時,腦電數(shù)據(jù)通過Wi-Fi傳給上位機,同步模塊通過藍牙將同步事件信息先傳給同步中央控制器再經(jīng)過整合傳給上位機。但由于同步模塊傳輸采用了藍牙協(xié)議,每次采集都需要依靠較為復雜的算法同步對齊,不同設備的晶振誤差使得系統(tǒng)在無線同步時的魯棒性得不到保證。
為了保證時間同步的精度,系統(tǒng)設計上一方面需要盡量減少時鐘源,避免多時鐘源同步操作,最好以一個時鐘源作同步;另一方面,需要規(guī)避使用復雜的傳輸協(xié)議以避免延時抖動,以保持延時恒定為設計目標。本文在上述方案的基礎上,提出了一種以接收端主機為時鐘基準的,將腦電數(shù)據(jù)和事件信息采用獨立的雙頻段收發(fā)的方案,利用自定義無線傳輸協(xié)議保證傳輸鏈路固定的延時,通過回溯以實現(xiàn)事件時點精密同步。方案簡單易于實現(xiàn),在對硬件要求不高的情況下能夠達到微秒級的事件同步精度。
無線腦電采集中事件時點精密同步記錄系統(tǒng)設計的通用框架如圖1所示,系統(tǒng)分為無線采集端和無線接收端兩部分。
圖1 系統(tǒng)整體結構圖
在無線采集端,腦電采集模塊對人體腦電信號進行實時采集;刺激器產(chǎn)生刺激事件的同時觸發(fā)微處理器對事件種類信息按自定義協(xié)議編碼,編碼完成后的事件信號經(jīng)射頻發(fā)送模塊調制發(fā)送。腦電數(shù)據(jù)傳輸由于單位時間數(shù)據(jù)量較大,采用主流的2.4 GHz ISM頻段,事件信號傳輸采用433 MHz頻段,兩者傳輸頻段相互獨立以避免沖突。
根據(jù)無線采集端的設計,腦電數(shù)據(jù)的采樣時點和刺激事件發(fā)生的時點到無線接收端獲取對應數(shù)據(jù)的時點存在固定延時,且兩者延時不同。為此,需要事先對兩者的延時進行精準測量再對事件發(fā)生時點進行回溯,最終按照圖2所示的數(shù)據(jù)包格式向上位機發(fā)送。具體做法為:以無線接收端的微處理器的時鐘為基準,每次接收到一樣本的腦電數(shù)據(jù),記錄其接收的時點,減去預先測得的延時作為該樣本的時間戳。接收端微處理器應緩存足夠多樣本的腦電數(shù)據(jù)以便刺激事件的回溯。當有刺激事件發(fā)生,射頻接收模塊接收到事件信號時,微處理器記錄事件信號接收的時點,解碼事件信號并進行回溯。最后,將回溯后的刺激事件時點和腦電數(shù)據(jù)樣本時間戳比對并在對應樣本的事件標記打上事件種類信息。經(jīng)過整合的數(shù)據(jù)包最后發(fā)送給上位機處理。整個過程中因為只涉及接收端微處理器時鐘源,故能夠保證刺激事件和腦電數(shù)據(jù)的精密同步。
圖2 接收端數(shù)據(jù)包格式
在刺激事件信號的無線傳輸方面,基于實際應用中刺激事件發(fā)生的頻率不高、數(shù)據(jù)流量小的特點,采用低功耗、低成本、可自定義數(shù)據(jù)傳輸協(xié)議的射頻收發(fā)模塊實現(xiàn)。本方案中采用的射頻收發(fā)模塊為OOK調制方式,模塊的數(shù)據(jù)引腳兼容CMOS標準,可以直接連接單片機I/O口。
根據(jù)系統(tǒng)設計要求,為了保證刺激事件時點的精密同步,刺激器產(chǎn)生刺激事件的時點與射頻發(fā)送事件信號的時點之間的延時需要保持恒定可測。
微處理器片上的支持脈沖寬度調制(Pulse Width Modulation,PWM)的輸出比較模式的通用定時器可靈活輸出微秒級至毫秒級周期,指定占空比的波形。[11]同時,支持輸入捕獲模式的通用定時器,可以通過外部邊沿觸發(fā)使能內部的計數(shù)器。因此,對于某一種類的刺激事件標記,可以通過設置一個定時器的通道輸入與刺激器相連,令刺激器產(chǎn)生刺激事件的同時輸出一個脈沖信號,脈沖信號的第一個邊沿為刺激事件發(fā)生的真實時點。定時器對該信號進行邊沿檢測,觸發(fā)其內部從模式控制器使能計數(shù)連續(xù)輸出特定的PWM波形作為編碼信號[12]。編碼信號的設計需要能夠既反應刺激事件發(fā)生的真實時點,又能夠編碼刺激事件的種類,如圖3所示,編碼信號采用“同步碼+引導碼+數(shù)據(jù)碼+校驗碼”的碼組格式。同步碼長12 ms以避免背景噪聲;用3 ms前導碼來標記數(shù)據(jù)碼讀取位置供接收端通過延時回溯刺激事件發(fā)生的真實時點;數(shù)據(jù)碼表示刺激事件種類,可以根據(jù)事件種類總數(shù)調整碼長,本文用8位數(shù)據(jù)碼表示刺激事件種類可表示總計256種刺激事件;校驗碼采用奇偶校驗,數(shù)據(jù)碼和校驗碼采用同樣的編碼方式,數(shù)據(jù)小端對齊。上述碼彼此的周期,占空比不盡相同,便于解碼時區(qū)分,同時不至于脈寬過長或過窄導致誤碼。PWM信號設置為高電平有效,確保無數(shù)據(jù)發(fā)送時輸出為低電平以降低整體功耗。最后,射頻發(fā)送模塊將該編碼信號發(fā)送至射頻接收模塊。
圖3 編碼信號波形(以數(shù)據(jù)碼0xAA為例)
上述編碼方案中的延時由兩部分組成:一是由于通用定時器的外部邊沿檢測器為時序電路實現(xiàn),存在兩個時鐘周期的固定延時,其余部分為邏輯電路實現(xiàn),延時可忽略不計;二是外部觸發(fā)微處理器中斷處理的延時和延時抖動。對腦電采集通常采用的毫秒級采樣間隔而言微處理器中主時鐘和掛載通用定時器的時鐘在MHz級別時,上述的延時都在微秒級,可以忽略不計。綜上所述,本編碼方案能夠保證刺激事件發(fā)生的時點到編碼事件信號發(fā)送的時點間延時恒定。
基于上述編碼方案,無線接收端的微處理器只要獲取PWM編碼信號的周期和占空比即可完成解碼。按照圖4的流程圖所示,接收端的微處理器需要開啟兩個通用定時器,其中一個定時器用于解碼,其通過輸入捕獲模式獲取一組完整的PWM編碼信號,對數(shù)據(jù)碼進行解碼以獲取刺激事件種類信息。第二個定時器作為接收端的主時鐘,在前導碼讀取完成時記錄主時鐘的當前值用于時點回溯,也即用讀取完成前導碼的時點減去前導碼和同步碼的固定延時共15 ms、無線收發(fā)空中的延時即可得到刺激事件發(fā)生的精準時點信息。其中無線收發(fā)空中的延時可以通過高精度的雙蹤示波器測得,以保證時間精度。
圖4 無線接收端解碼流程圖
為了驗證上述方案的可行性,實驗采用可編程信號源模擬刺激器輸出端,每1 s觸發(fā)一次刺激事件產(chǎn)生;微處理器采用STM32。為了驗證信號傳輸?shù)目煽啃?,編碼的刺激事件種類設置為十六進制的0xAA(8位碼長)。接收端需要以自身的主時鐘為基準完成進行事件時點的回溯工作,同時需要完成誤碼的校驗,并在上位機顯示事件信息(包括事件種類和時點)。
測試實驗選用RIGOL MSO4034雙蹤示波器測量系統(tǒng)延時。在對無線收發(fā)空中延時測量時,如圖5所示,上方為射頻發(fā)送模塊輸出信號,下方為射頻接收模塊輸出信號,以發(fā)送端信號輸出通道作為觸發(fā)源通道以觀察延時。經(jīng)多次測量其延時在43μs(±1μs)。
圖5 無線收發(fā)空中延時
由上述測量可知,在整個過程中的延時只包括無線收發(fā)空中延時43μs(±1μs),在進行事件回溯時,需要以接收端主時鐘標記的前導碼讀取完畢的時點減去12 ms同步碼、3 ms前導碼的固定延時和43μs(±1μs)的空中延時即可獲得刺激事件產(chǎn)生的真實時點。
在對上述延時進行測量后,需要對信號源RIGOL DG4162和STM32主頻時鐘進行測量,以確保收發(fā)端時間精度。采用示波器的頻率計為基準對上述儀器進行測試。對于信號源時間精度的測試,令信號源輸出1 MHz的測試方波。對于開發(fā)板主頻時鐘的測試,由于主頻時鐘由板載外部晶振提供,實際是對外部晶振的精度進行性能測試。
測試結果如表1所示,可知信號源可以提供精準的1 s觸發(fā)信號,而受負載電容和晶振精度等情況的影響,由外部晶振提供的HSE時鐘輸出偏快。以本方案所用的定時器的時鐘為例,時鐘是由HSE倍頻再分頻得1 MHz的頻率(即1μs的計數(shù)節(jié)拍),實際值為1.000 041 25 MHz。經(jīng)計算,在對信號源產(chǎn)生1 s輸出計數(shù)時,實際每次將產(chǎn)生41.25μs的計數(shù)誤差,即多計數(shù)41~42次。同時,連續(xù)計數(shù)時會產(chǎn)生線性的累計誤差。而對于編碼信號來說,誤差低于1μs且不存在誤差的累計,在本系統(tǒng)精度要求下可以忽略不計。
表1 時間精度測試數(shù)據(jù)
基于此測量結果,由信號源每隔1 s精準觸發(fā)產(chǎn)生了100次脈沖信號模擬刺激事件,提取了接收端主時鐘記錄的時點信息做分析。將100次事件時點數(shù)據(jù)導入MATLAB處理,因為晶振引起的誤差在μs級別,舍棄整數(shù)部分并作圖,如圖6所示,可以看出其時間增長呈線性變化,結果符合預期。對累計誤差做線性擬合[13]并做殘差分析,如圖7所示,結果表明其殘差分布在±10μs附近,該隨機誤差可能由于程序中斷、晶振溫漂等原因產(chǎn)生。上述實驗表明,對于收發(fā)端提供外部時鐘的晶振偏差帶來的時點累計誤差的問題,可以通過①精選晶振基礎頻率;②利用基礎頻率不準確但穩(wěn)定性好的晶振馴服微處理器內部高頻RC振蕩器輸出更精確的計數(shù)頻率;③對采樣結果進行線性回歸并事后校正使誤差降低在可接受的微秒級的范圍內。這些方案均可滿足準確輸出事件發(fā)生時點的目的。
圖6 晶振累計誤差統(tǒng)計圖
圖7 殘差分析圖
本文介紹了一種無線腦電采集中事件時點精密同步記錄系統(tǒng)的設計原理和實現(xiàn)方法。本文提出了一種基于低成本通用微處理器的方案:將刺激事件通道從腦電數(shù)據(jù)采集通道中獨立出來以不同信道傳輸并設計底層低延遲通信協(xié)議,再通過采集器軟硬件聯(lián)合保障系統(tǒng)固定延時,最終以無線接收端時鐘為基準,通過延時回溯標記事件對應時點以獲得高精度事件時點同步。該方案在消除延時抖動的同時,通過對延時測量并再回溯的方式,以簡單且通用的實現(xiàn)方案達到了高精度的事件時間同步。對于任何集成支持輸入捕獲、輸出比較功能的單片機都能夠實現(xiàn)本方案的編解碼設計。通過實際測試得到的數(shù)據(jù)表明,在對硬件精度要求不高的情況下能夠做到微秒級的事件時點的精密同步。該系統(tǒng)能夠支持便攜式、低功耗的無線腦電采集的應用場景,服務于ERP類BCI研究與應用。