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