龐 勛,姚 鐳
(上海大學微電子學院,上海 200444)
腦機接口系統是指人和動物與外界設備建立直接連接的系統,通常用于監測腦部的一些疾病,例如癲癇、自閉癥和成癮癥等[1]。在植入式腦機接口系統中,前端多通道神經信號采集IC 受到電極阻抗、應用環境、系統功耗以及系統面積等因素影響,在信號采集過程中,將會引入更多的噪聲和干擾。而從低信噪比的原始采集信號中實時檢測出動作電位,對于神經科學研究具有重要意義。與芯片外的后處理方式相比,片上實時檢測動作電位(Action Potential, AP)通過傳輸有效信息,可以將通信帶寬從每秒數十兆字節減少到幾千字節[2],以實現無線傳輸。
動作電位檢測算法可以分為閾值檢測算法和模板匹配算法[3-4],以及最近幾年流行的深度學習算法。首先,不管是早期人為設置閾值[5],還是后來出現的各種衍生算法,如計算輸入信號均方值、自動閾值計算的雙閾值AP 信號檢測方法[6]等算法,這些算法都只關注了單一的時域信息,當信號信噪比降低時,都會發生漏檢和誤檢。而深度學習算法[7]雖然可以取得不錯的檢測效果,但是資源消耗較大,例如,用于動作電位檢測的卷積神經網絡[8]有近70 萬權重參數。而模板匹配算法[9]是通過原始采集信號與動作電位模板的相似程度來判定是否檢測到動作電位。另外,基于離散小波變換的模板匹配算法[6],對于原始采集信號的強度和信噪比要求苛刻,同時需要設置大量濾波器參數,不利于實現片上檢測系統。
綜上所述,模板匹配算法在低信噪比環境下表現優于閾值檢測算法,算法復雜度小于深度學習算法模型。然而,模板匹配算法依賴于模板質量,本文在模板匹配的基礎上,引入信號歸一化,去除冗余信息,有效地解決模板之間差異過大的問題。同時,本文根據算法原理設計動作電位檢測系統,在中芯國際180 nm 數字工藝下設計并流片,測試檢測IC 的檢測效果及功耗。
本文改進和擴展了單一的模板匹配算法,在模板匹配的基礎上,將輸入信號與閾值模板向量歸一化,提高檢測性能和抗噪能力。在VLSI 結構設計中,優化模長計算方式,并設置每幀輸入向量的篩選機制,減少檢測芯片的計算量與功耗。
模板匹配的核心是計算輸入信號與預置模板的卷積,得到兩者的相關性[10]。若將每次輸入的信號向量視作1 幀,則第m幀輸入信號與模板信號的相關程度的計算公式如下:
式中:Xm是第m幀輸入向量,采樣長度為N,即Xm=[x[m],x[m- 1] ,…,x[m-N+ 1]]T;t是預置的模板向量,有N個采樣點,即t=[t[ 1 ],t[ 2 ],…,t[N- 1]]T。通過式(1)計算相關性值,值越大,相關程度越接近。
在動作電位檢測中,神經信號歸一化可以改善特征提取的效果,突出動作電位的特征,提高算法分類識別能力。引入信號歸一化后,可得:
神經信號是由采集芯片不間斷地輸入,則輸入信號Xm和Xm-1之間重復出現了N- 1 個點,所以計算,不妨先計算,計算公式如下:
式中:x[m-N]為輸入向量Xm-1的第一個數據,相比向量模長的定義,極大地減少了計算量。
當輸入信號與動作電位模板的相似程度超過特定閾值α時,則判定輸入信號為動作電位,判定條件為:
式中:α∈[0.5,0.6] 時,便可以取得不錯的檢測效果[11]。
為節省計算量,需將每幀輸入向量和動作電位的峰值對齊,并通過式(5)篩選輸入向量:
動作電位檢測IC 主要用于接收前端采集IC 中的數模轉換器輸出,可預先選擇是否更新算法中的模板數據和閾值,避免模板過于陳舊時,影響檢測芯片的識別準確度[12]。
動作電位檢測系統整體分為片外模板提取和片上檢測兩部分。片外模板提取可以在不受功耗和性能約束的情況下,選取精確、優質的模板,并通過SPI 接口隨時更新片上檢測IC 中的模板和閾值信息。動作電位檢測系統工作流程如圖1 所示。

圖1 動作電位檢測系統工作流程
根據算法原理,片上動作電位檢測芯片包含3 個步驟:
1)數據的預處理,將輸入信號和模板信號的極值對齊,并檢測局部峰值電位是否滿足式(5),篩選符合條件的輸入信號。
2)主要實現輸入信號和模板信號的卷積,并計算輸入向量模長平方,以計算歸一化后的輸入向量。
3)輸出比較,即根據式(4)判斷輸入是否為動作電位。
動作電位檢測系統主要分成數據預處理、卷積、歸一化和比較器四個模塊,如圖2 所示。

圖2 動作電位檢測系統結構
數據預處理模塊主要根據極值幅度篩選神經信號,在該模塊中,輸入信號和模板信號都是有符號的8 bit數據,且模板動作電位長度為48 個采樣點。卷積模塊實現輸入信號與模板動作電位的卷積運算,計算兩者之間的相似程度。卷積模塊使用48 個乘法器組,在兩個時鐘周期內可得到卷積結果。
歸一化模塊用于計算輸入信號的歸一化。根據式(3),先計算輸入向量模長的平方,然后開根號得到輸入向量模長。在開根號部分,采用逐次逼近方法,通過16 次迭代可以得到精確的16 位模長結果。最后,在比較器模塊中對所有數據幀截取相同長度的小數位,結合預先設置的閾值,根據式(4)來判定輸入的數據幀是否為動作電位。相比于直接輸出采集芯片的8 bit 數據流,經過動作電位檢測芯片處理后,數據流變為1 bit,有效地降低了傳輸帶寬。
動作電位檢測系統包含SPI 從機接口,用于配置更新動作電位模板和閾值。由于模塊并非同時工作,如SPI 接口只用于更新數據,故插入門控時鐘和使能信號,可以有效降低檢測芯片功耗。
本節主要進行算法模型測試和流片后的測試與分析。算法測試主要在不同噪聲水平下,評估本文算法、模板匹配算法和閾值比較算法的性能表現。在硬件測試部分,結合FPGA 進行測試,評估檢測芯片在低信噪比環境下的性能表現。
2.1.1 真實采集數據集
實驗室真實數據來自真實動物實驗,將采集芯片植入小鼠腦部,收集真實數據。電極植入小鼠的聽覺皮層,通過打響指和不同風格的音樂來刺激老鼠聽覺皮層,并實時采集數據。其中,采集芯片MTXR32P 為實驗室自研的32 通道采集IC,原始神經信號經過SAR-ADC轉化后并行輸出。SAR-ADC 的采樣頻率為31.25 kHz,設定一個輸入神經信號幀為48 個采樣點,則動作電位持續時間在1.5 ms 內。
2.1.2 模擬數據集
在真實采集數據基礎上,模擬真實采集到的神經信號,構建不同噪聲水平的模擬數據。神經信號的模擬數據生成示意圖如圖3 所示。

圖3 神經信號的模擬數據生成示意圖
由于采集電極的阻抗與活躍神經元的距離不同會導致信號強度存在差異,故提取典型的動作電位后,配上不同的權重W來調幅。為模擬神經信號的稀疏性,將調幅后的神經信號隨機散布在神經信號中。最后,通過信噪比計算公式[13],構建多個信噪比的神經信號。單個模擬數據集的長度為24 萬個采樣點,其中,動作電位數量均為521 個。
由于動作電位在神經信號中的稀疏性,動作電位樣本和非動作電位樣本比例失衡,故本文主要采用PRC(Precision Recall Curve)曲線[14]來評估算法模型的性能。PRC 曲線中,查準率(Precision)指正確檢測的動作電位樣本占檢測到的所有動作電位樣本的比例。召回率(Recall)指檢測正確的動作電位數量占實際動作電位數量的比例。最后,可以使用式(6)計算F1-Score 來評價算法模型的綜合性能。
當神經信號動作電位已知且彼此不重疊時,根據圖3 構造4 種不同噪聲水平(-8 dB、-10 dB、-12 dB 和-14 dB)的神經信號。圖4 所示為本文算法模型和閾值比較算法的PRC 曲線。

圖4 PRC 曲線
比較圖4a)和圖4b)可知,本文算法和閾值比較算法在信噪比較高的環境下(-8 dB),都能取得非常好的檢測效果,查準率和召回率都達到90%以上。然而,在低信噪比環境下,閾值比較算法的性能大幅下降,如在信噪比為-12 dB 的數據集中,本文算法在保證90%的查準率下,召回率達到89.64%;而閾值比較算法模型的召回率僅為6.53%,意味在521 個動作電位樣本中,僅檢測出34 個動作電位樣本,漏檢了487 個數據樣本。
當動作電位未知,考慮動作電位之前互相疊加情況,在信噪比為-10 dB 情況下,將本文算法模型與其他動作電位檢測方法進行比較。此時,在片外用一維CNN 網絡對神經信號做動作電位分類,從神經信號中提取動作電位模板。多種算法模型的PRC曲線如圖5所示。

圖5 多種算法模型的PRC 曲線
由圖5 可知,本文算法和模板匹配算法的表現要遠遠好于閾值比較算法,在該信噪比下,閾值比較算法F1-Score 僅為74.3%。當以78%的查準率為基準時,本文算法的召回率為70.44%,而模板匹配算法的召回率僅為43.19%,兩者相差27.25%。在相同查準率下,本文算法總是好于未改進的模板匹配算法。
此外,統計三種算法模型在不同信噪比下的F1-Score,以衡量算法模型的綜合性能。本文算法和模板匹配算法模型均采用閾值α為0.5,而閾值比較算法使用輸入信號均方值的3 倍作為閾值。不同信噪比下模型綜合性能對比結果如表1 所示。

表1 不同信噪比下模型的F1-Score 指標
從表1 中可以看出,當輸入信號的信噪比較高時,三個算法模型的性能差不多,甚至在信噪比為-4 dB時,模板匹配算法取得了99.43%的評價指標。然而,隨著信噪比降低,閾值比較算法模型的綜合性能指標下降最快。模板匹配和閾值比較算法在-12 dB 環境下,相比于-10 dB 環境,綜合性能發生了突變,急劇惡化,此時,帶有歸一化的模板匹配算法模型仍有88.73%的良好表現。
在實驗室真實采集的數據中,32 通道并不是每個通道中都能檢測到動作電位。在截取的長為33 s 的32 通道信號中,每個通道100 萬個采樣點,動作電位較為集中的通道有6 個,共檢測到27 463 個動作電位。
該動作電位檢測芯片是在中芯國際的180 nm 數字工藝下設計完成的。其核心區域尺寸為1.10 mm×0.4 mm,因此面積為0.495 mm2。圖6 所示為檢測芯片的電子顯微圖片,包括了IO 環,使得芯片的總面積增加至0.98 mm2。該芯片共有36 個I/O 引腳,采用QFN48封裝。其中,實際使用的I/O 引腳數量包括電源和地,共計有20 個I/O 引腳,其余的I/O 引腳則用于電源和地的連接。

圖6 數字IC 的電子顯微圖片
在VLSI 設計中,將所有的數據進行了定點量化,非符號參數和符號參數都統一量化成8 bit。對比量化前后的檢測結果,雖然查準率和召回率有不同程度下降,但最高降幅沒有超過0.1%,因此,該芯片在低信噪比環境下表現優秀。如圖7 所示,在信噪比為-10 dB 情況下100 ms 的神經信號中,有5 個動作電位。圖7a)顯示動作電位基本被噪聲淹沒,但是動作電位檢測芯片能夠準確區分出這5 個動作電位。檢測效果如圖7c)所示,輸出為1 bit數據流。

圖7 檢測結果示意圖
在硬件測試中,使用算法測試中的數據集,將其存儲在FPGA 中,通過FPGA 模擬前端采集芯片,將數據傳輸給動作檢測芯片。檢測芯片工作頻率為666 kHz,并且其電源由FPGA 的5 V 電壓經過LDO 轉換為1.8 V 提供,整個系統的連接示意圖和實物圖如圖8 所示。最后,輸出結果通過FPGA 的UART 口轉USB 接口,上傳數據到計算機。

圖8 測試連接圖示意圖及實物圖
根據圖3 的檢測識別示意圖,使用真實實驗數據,得到Vivado 邏輯分析儀成功捕獲的部分檢測圖,如圖9 所示。將輸入信號切換成模擬波形,明顯出現一個鋒電位信號,同時,檢測芯片成功輸出一個時鐘周期的高電平。

圖9 數字檢測芯片部分測試結果
最后,測量結果顯示該芯片在配置工作寄存器時的功耗為701 μW,在檢測神經信號時的功耗為8.07 mW。與其他檢測方式相比,該檢測芯片完全適合集成在采集信號質量不理想以及對實時性要求高的系統中。
本文主要實現了一個神經信號識別檢測芯片及完整的檢測系統。不同于目前主流的離線檢測,該系統具有高準確性和高實時性的特點。同時,為解決模板匹配算法對模板質量過度依賴問題,引入信號歸一化,通過縮小模板之間的差異性,在多模板檢測時取得更好的檢測性能,優于傳統的模板匹配方法。目前,主流片上檢測系統為閾值檢測,而本文的數字檢測芯片在低信噪比環境下,表現遠遠好于閾值檢測系統。此外,通過前端多通道采集芯片,挑選動作電位集中的通道,聯合多個空閑通道檢測芯片,可以實現多模板動作電位檢測。
注:本文通訊作者為姚鐳。