Windows95/98環境下神經信號的采集和分析系統
摘要:介紹了神經放電信號的一些特征,并介紹了針對Windows95/98操作系統的特點所設計的一種神經信號實時采集和分析硬、軟件系統,該系統為分析神經信號提供了一種基本的方法。
關鍵詞:神經信號 神經信號的甄別 中斷 虛擬設備驅動程序
在神經生物學研究中,常常需要把微電極插到腦中神經細胞附近,記錄單個神經細胞的放電(即動作電位)活動,以了解神經細胞的正常功能和異常變化。神經細胞的放電是一種尖峰狀脈沖式數字信號,波幅約100~150mV,持續時間約1~2ms,重復頻率最高可達數百赫茲。神經細胞在靜息時存在不規則的基礎放電活動,在受到刺激后會發生反應,表現為其放電頻率在基礎放電背景上的增高或者降低,而這些增高或降低的部分則代表有效的神經信息。由于神經細胞對刺激的反應會在刺激后某個固定的時間段出現,而基礎放電則是隨機出現的,因而目前常用的處理神經信息的辦法是對神經細胞進行多次重復的刺激,同時把某對每次刺激的反應結果疊加起來,做成所謂“刺激后的時間直方圖”和“鋒電位間隔直方圖”,從而將這種有效信息的統計學規律顯現出來。根據研究工作的需要,我們開發了一套基于Windows95/98系統的神經信號采集和分析系統。該系統能夠滿足神經生物學研究的需要,并具有一定的推廣前景。
1 系統構成
整個系統由硬件系統和軟件系統兩大部分構成。硬件系統主要包括微電極放大器、窗口甄別器、數據采集卡和微型計算機。如圖1所示,將玻璃微電極插入動物腦中拾取神經細胞的放電信號,并由微電極放大器將信號放大。經放大后的神經細胞放電信號送入窗口甄別器進行信號的選取和波形的轉換,然后將轉換所獲得的與神經細胞放電信號一一對應的TTL脈沖信號送入數據采集卡,通過卡上的A/D轉換器將此信號采集進計算機內。計算機的任務是對神經細胞的放電信號進行分析處理、存儲實驗數據、顯示輸出處理結果。
軟件系統是基于Windows95/98環境自編的信號采集和分析系統,可以做出神經細胞放電信號的刺激后時間直方圖和鋒電位時間時隔直方圖。為了讓系統在Windows95/98下能可靠工作,我們針對數據采集卡編寫了虛擬設備驅動程序。通過VxD對硬件操作,既可以使程序穩定可靠地對硬件設備進行讀寫,又可以滿足實時處理信號的要求。
1.1 系統中各硬件的設計
1.1.1 窗口甄別器
由于神經細胞在腦內是處于容積導體之中,因而被微電極拾取到的往往是不止一個神經細胞的放電信號。窗口甄別器的作用在于可以使實驗者根據神經放電信號的幅度設置電平窗口,從幾個幅度不一的神經細胞放電中有選擇地獲取某一個細胞的放電信號并將所選取的信號轉換成TTL脈沖,使計算機能夠準確地加以識別。窗口甄別器實質上是一個施密特觸發器,但為適應于神經生物學實驗的需要而增設了一附加電路,如窗口線增輝發生和調節電路、刺激偽跡抑制電路和TTL信號輸出的音響電路等。圖2為窗口甄別器作用示意圖。凡進入甄別窗口內的神經細胞放電信號均可觸發施密特電路,從而在儀器的輸出端獲得一個與神經放電信號時間上相對應的TTL脈沖。實驗者可以根據需要調節上、下兩根窗口甄別線的高低來選定欲采集和分析的神經放電信號,摒棄其它不需要的放電信號。
1.1.2 數據的采集和量化
數據的采集通過數據采集卡(AC1810型,北京雙諾技術有限公司)完成。該數據采集卡有一個最高采樣率為100kHz的A/D轉換器,量化精度為12bits。該卡提供8通道雙端輸入,每通道帶一個采樣保持器,可并行采集8路信號。同時,卡上帶有1K字的FIFO緩存,當FIFO緩存半滿時,會發出中斷信號。
由于本系統除了采集神經細胞放電這種數字電信號外,還要同時采集其它的模擬電信號(如腦電、心電、肌電和血壓變化等)。為方便起見,在信號采集模塊中把這兩種性質不同的輸入信號都通過A/D采樣方式輸入計算機。另外,由于鋒電位間隔直方圖分析神經細胞放電信號需要有0.1ms的時間間隔分辨率,我們選擇10kHz/通道的采樣率。
1.1.3 微型計算機
由于普通PC兼容機價格低廉、支持軟件眾多,我們選用了80x86系列的微型計算機來處理數據和顯示處理結果。
1.2 軟件編程
由于Windows95/98系統日益普及,我們選擇了Windows95/98系統為軟件的系統平臺。軟件系統由VxD、動態鏈接庫和應用程序三個部分共同構成。在Windows95/98操作系統中,應用程序運行在第3特權級。如果應用程序執行了受限制指令,特別是執行了任務轉換和中斷處理等指令時,會引發處理器產生中斷,結果Windows系統將會給出錯誤信息,并可能終止這一程序。因此,對硬件的操作必須通過運行在第0特權級上的VxD進行,與硬件無關的數據分析和處理部分則可以交給應用程序完成。Windows95/98是分時多任務系統,為了能及時地將數據從A/D轉換器的FIFO緩存中取出,避免因線程處于等待狀態而丟失數據,信號采集模塊采用了中斷采樣方式采集數據。按結構分,可以把軟件系統分為信號采集模塊和數據處理模塊兩大部分。信號采集模塊由VxD和數據處理模塊兩大部分。信號采集模塊由VxD和DLL構成,數據處理模塊則放在應用程序中。信號采集模塊通過消息機制向數據處理模塊傳遞信息,數據處理模塊通過Windows的API函數DeviceIoControl()完成與信號采集模塊的數據通訊。
1.2.1 信號采集模塊
信號采集模塊的流程圖如圖3所示。VxD負責進行實際的I/O操作,并完成中斷采樣。DLL封裝了應用程序與VxD之間進行數據交換的接口。通過DLL可以使應用程序和VxD相對獨立,便于日后軟、硬件的升級和維護。VxD在初始化的過程中,掛鉤中斷,并向系統申請一塊緩沖區,用于存放中斷采集的數據。在工作過程中,當操作系統響應數據采集卡發出的中斷請求后,即調用VxD內的中斷服務程序。中斷服務程序則將數據采集卡FIFO內的數據讀入VxD的緩存區,并向應用程序發送一個消息,然后退出中斷服務程序。應用程序在接收到VxD發來的消息后,通過消息響應函數把VxD緩存區內的數據讀取到應用程序的臨時數據區,然后將A/D轉換器采集的數據按照通道來源分配到與各個通道相對應的文檔類實例的數據區中。
1.2.2 數據處理模塊
如前所述,為了揭示神經細胞對刺激反應的統計規律,所采集的神經細胞放在電信號要被處理成刺激后時間直方圖和鋒電位間隔直方圖,處理過程的流程見圖4.首先根據信號采集模塊輸入的TTL脈沖信號,計算出每次神經細胞放電所對應的時間。對于刺激后時間直方圖,這些時間數據被轉換成效電時刻與同步起始時間點之間的時間的時間間隔數據。根據這些時間間隔數據,將直方圖上單位時間內的放電次數加和,得到神經細胞放電頻率隨時間變化的函數圖,即做成基于單次掃描實驗結果的刺激后時間直方圖,從而揭示出神經細胞對刺激反應的統計學規律。在此基礎上,也可以進一步做出基于多次掃描實驗結果的刺激后時間直方圖,即將每一次掃描所得到的單次掃描刺激后時間直方圖從同步起始點開始逐點地疊加起來,繪制成累加的刺激后時間直方圖,以更好地揭示神經細胞對刺激反應的統計學規律。對于鋒電位電隔直方圖,則根據每次神經細胞放電對應的時間,計算出相鄰兩次放電之間的時間間隔,然后按鋒電位的時間間隔做成鋒電位間隔事件分布直方圖,以揭示神經信息編碼的變化情況。與刺激后時間直方圖一樣,也可以將這種直方圖做成多次掃描的累加峰電位間隔直方圖。
應用程序是按照文檔-視結構編寫的,每一個通道對應于一個文檔類實例,每個通道的數據都存放在對應于該通道的文檔類實例中。上面所述的數據處理方法也放在文檔類中,每個文檔用多個與該文檔相關聯的視圖,來顯示對同一數據進行不同方法的數據處理所得到的結果。通過調用文檔類的方法,計算出刺激后時間直方圖數據和鋒電位間隔直方圖數據,然后與在該文檔相關聯的視類中繪制刺激后時間直方圖和鋒電位間隔直方圖,并由文檔類將每次放電的時刻作為原始數據保存。
2 應用實例
圖5是本系統實際使用的一個例子。其中圖A為刺激后時間直方圖應用實例。直方圖橫座標是時間,縱座標是神經細胞的放電頻率,實驗記錄的是一個貓小腦浦肯野細胞對刺激的反應。從圖可見細胞在受到刺激后放電頻率顯著增高,即其對刺激產生了興奮反應,隨后其放電頻率逐漸恢復到基礎狀態。圖B和C分別顯示該細胞的刺激前和刺激后鋒電位間隔直方圖,兩圖的分析窗口分別顯示于圖A上方。比較B和C兩圖,發現該細胞放電的時間間隔峰在受到刺激后左移,提示其在刺激前后編碼的信息發生了變化。
該系統為神經生物學及其相關學科(如生理學、藥理學等)的教學和科研提供了一個有力的數據分析手段,具有廣泛的應用前景。
評論