共存問題
一個刺激脈衝會使記錄放大器飽和,並把任何棘波埋在一個大上好幾個數量級的假影之下。標準的補救是讀寫交錯:在每個脈衝期間及其後短暫地讓放大器空白(斷開或丟棄),待假影平息後再讀取。空白視窗未能清除的部分,則交由下游的刺激假影去除處理——樣板相減或穩健的棘波偵測。
\eta_{\mathrm{rec}} = 1 - f_{\mathrm{stim}}\, t_{\mathrm{blank}}空白會耗費記錄時間:以每秒 f_{\mathrm{stim}} 個脈衝、每脈衝空白視窗 t_{\mathrm{blank}} 計,只有比例 \eta_{\mathrm{rec}} 的時間可用於讀取——過高的刺激率會讓解碼器挨餓。
每次刺激,都得短暫地把記錄器「蒙眼」,免得巨大的刺激脈衝把它淹沒。把每秒脈衝數乘以每個脈衝所花的空白時間,就是你失去的那段記錄時間——刺激太快,解碼器就幾乎沒有聆聽的時間了。
- \eta_{\mathrm{rec}}
- 仍可用於記錄(讀取)的時間比例。
- f_{\mathrm{stim}}
- 每秒送出的刺激脈衝數。
- t_{\mathrm{blank}}
- 每個脈衝從記錄中偷走的空白(死區)時間。
以每秒 100 個脈衝、每個空白 1 ms 計,約損失一成時間,剩下約九成可供記錄。
延遲預算
承第一篇,回饋有截止期限。端到端的迴路延遲是各階段延遲的總和,而雙向系統要付兩次——讀取弧一次、寫入弧一次。
\tau_{\mathrm{loop}} = \tau_{\mathrm{acq}} + \tau_{\mathrm{proc}} + \tau_{\mathrm{dec}} + \tau_{\mathrm{stim}} + \tau_{\mathrm{perc}}擷取+處理+解碼+刺激+知覺整合。把總和維持在數十毫秒之內,才能讓回饋趕在控制截止期限之前。
整個「讀取–思考–寫入–感受」迴路的總延遲,就是各階段延遲的加總。把整趟來回維持在數十毫秒內,回饋才能及時抵達以引導動作,而不是落後於它。
- \tau_{\mathrm{loop}}
- 整個迴路的總來回延遲。
- \tau_{\mathrm{acq}}
- 擷取(記錄)神經訊號的時間。
- \tau_{\mathrm{proc}} + \tau_{\mathrm{dec}}
- 處理訊號並解碼出命令的時間。
- \tau_{\mathrm{stim}}
- 送出刺激、把回饋寫回去所需的時間。
- \tau_{\mathrm{perc}}
- 大腦感知並整合那個回饋所需的時間。
若五個階段各只花數毫秒,整個迴路仍能舒適地維持在數十毫秒之內。
for t in stream:
stimulate(icms_pattern) # WRITE: deliver ICMS pulse(s)
sleep(t_blank) # amplifier recovers; discard sample
y = record() # READ: spikes after artifact settles
x_hat = decoder.update(y) # velocity-Kalman / ReFIT decode
contact = move_effector(x_hat) # apply command; sense contact force
icms_pattern = encoder(contact) # CLOSE: encode next feedback它真的有幫助嗎?
回報是真實的,但必須謹慎陳述。在閉迴路感覺運動 BCI研究中,加入 ICMS 觸覺回饋往往能加快抓握與物件搬移任務,並降低對持續視覺監看的依賴,因為使用者不必用眼睛看就能對接觸與滑動作出反應。讀取端通常是高效能解碼器,如 ReFIT 卡爾曼濾波器;寫入端則供給它被設計來運用、卻原本缺失的傳入訊號。
共適應與能動性
雙向 BCI 是一個雙學習者系統:解碼器適應神經訊號,而使用者適應人工知覺,學會詮釋一套起初陌生的編碼。跨越多次訓練後,這種共適應能讓即使非仿生的回饋也變得可用。時機得宜、與行為相依的回饋也會提升能動感與具身感——效應器開始感覺像身體的一部分,而這本身就改善了控制。