IP Library › Granted Patent US 10,512,410
Granted Patent B2
US 10,512,410 · App. 15/744,865 · Granted Dec 24, 2019

System and method for operant learning brain machine interface by receiving electrodes and neural signals at neural processor

Inventors: Nuno Loureiro (Lisbon, PT); Vitor B. Paixão (Lisbon, PT); Rui M.Costa (Lisbon, PT); Fernando Santos (Lisbon, PT)
Assignee: FUNDAÇÄO D. ANNA SOMMER CHAMPALIMAUD E DR. CARLOS MONTEZ CHAMPALIMAUD
A61B5/04001A61B5/048A61B5/0482A61B5/7267A61F2/72A61F4/00G06F3/015A61B5/0478A61B5/6814
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,512,410
App. No.
15/744,865
Granted
Dec 24, 2019
Kind
B2
Abstract

A method, system and computer readable media for a BMI using a fixed decoder based on ratios of different frequency bands, making the decoder robust, less jittery, and resistant to artifacts. The fixed decoder can be configured to use a limited subset of available channels. The decoder can therefore be optimized for each human subject (frequency bands to use, ratios to process the received signals, which channels, weights, etc.) and then fixed. Output from the fixed decoder can be provided to a training program that implements specific feedback and training parameters, thereby enabling subjects to learn to control devices rapidly, as well as consolidate this control. The training program provides continuous feedback of the current transformation being output by the fixed decoder in conjunction with feedback of the past transformations (e.g., up to a second before) and saliency of the feedback when goals of the task are achieved.

Claims (85)

1. A method for generating an output command by a neural processor through use of an operant learning brain-machine interface, the method comprising:

selecting one or more electrodes from a plurality of electrodes by program code executing on the neural processor;

receiving neural signals at the neural processor from the one or more selected electrodes;

setting thresholds based on the received neural signals;

setting a timer at the neural processor to define an output command rate;

while the timer has not elapsed, executing program code by the neural processor for retrieving and processing the received neural signals; and

calculating a control command through the use of a fixed decoder in the neural processor that receives the retrieved and processed neural signals as input.

2. The method of claim 1 wherein receiving neural signal by the neural processor comprises receiving neural signals from the operant.

3. The method of claim 1 comprising providing the control command by program code executing on the neural processor as an input to a subsequent hardware or software component.

4. The method of claim 1 comprising performing a check by program code executing on the neural processor to determine if a current task is complete.

5. The method of claim 1 comprising setting the timer by program code executing on the neural processor to define a subsequent output command rate and retrieving and processing the received neural signals while the timer has not elapsed.

6. The method of claim 1 wherein selecting one or more electrodes from a plurality of electrodes comprises:

presenting a task to the operant under the control of program code executing at the neural processor;

acquiring neural activity of the operant during presentation of the task by the neural processor;

applying selection criteria by the neural processor to the acquired neural activity; and

selecting by the neural processor one or more electrodes that exceed the selection criteria.

7. The method of claim 6 wherein acquiring neural activity comprises starting an electrode selection timer by program code executing at the neural processor to define a window over which the neural processor is to acquire neural activity.

8. The method of claim 6 wherein selecting by the neural processor comprises selecting a subset of electrodes by the neural processor that exceed the selection criteria.

9. The method of claim 1 wherein processing the received neural signals comprises:

attenuating signal noise on one or more channels contained within the received neural signals;

calculating a spectral density for the one or more attenuated channels; determining

mean power in one or more selected bands for the one or more channels; and

determining power ratios for the one or more channels.

10. The method of claim 9 wherein determining power ratios for a given channel from the one or more channels is determined by program code executing on the neural processor according to calculate the ratio

γ

·

θ

β

·

δ

.

11. The method of claim 9 wherein calculating the control command comprises program code instructing the neural processor to calculate:

log

⁢

∑

chn

=

1

n

⁢

ratio

chn

⁡

(

n

)

.

12. Non-transitory computer readable media comprising program code that when executed by a programmable processor causes execution of a method for generating an output command by a neural processor through use of an operant learning brain-machine interface, the program code comprising:

program code for selecting one or more electrodes from a plurality of electrodes by program code executing on the neural processor;

program code for receiving neural signals at the neural processor from the one or more selected electrodes;

program code for setting thresholds based on the received neural signals; program

code for setting a timer at the neural processor to define an output command rate;

program code for and processing the received neural signals by the neural processor while the timer has not elapsed; and

program code for calculating a control command through the use of a fixed decoder in the neural processor that receives the retrieved and processed neural signals as input.

13. The computer readable media of claim 12 comprising program code for providing the control command as an input to a subsequent hardware of software component.

14. The computer readable media of claim 12 comprising program code for performing a check on the neural processor to determine if a current task is complete.

15. The computer readable media of claim 12 comprising program code for setting the timer to define a subsequent output command rate and program code for retrieving and processing the received neural signals while the timer has not elapsed.

16. The computer readable media of claim 12 wherein selecting one or more electrodes from a plurality of electrodes comprises:

program code for presenting a task to the operant;

program code for acquiring neural activity of the operant during presentation of the task by the neural processor;

program code for applying selection criterial by the neural processor to the acquired neural activity; and

program code for selecting, by the neural processor, one or more electrodes that exceed the selection criteria.

17. The computer readable media of claim 16 wherein program code for acquiring neural activity comprises program code for starting an electrode selection timer to define a window over which the neural processor is to acquire neural activity.

18. The computer readable media of claim 16 wherein program code for selecting one or more electrodes comprises program code for selecting a subset of electrodes by the neural processor that exceed the selection criteria.

19. The computer readable media of claim 12 wherein program code for processing the received neural signals comprises:

program code for attenuating signal noise on one or more channels contained within the received neural signals;

program code for calculating a spectral density for the one or more attenuated channels;

program code for determining mean power in one or more selected bands for the one or more channels; and

program code for determining power ratios for the one or more channels.

20. The computer readable media of claim 19 wherein program code for calculating the control command comprises program code for calculating

log

⁢

∑

chn

=

1

n

⁢

ratio

chn

⁡

(

n

)

.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2018
From: LOUREIRO, NUNO; VITOR B. PAIXÃO, VITOR; RUI M.COSTA, RUI; SANTOS, FERNANDO
To: FUNDAÇÃO D. ANNA SOMMER CHAMPALIMAUD E DR. CARLOS MONTEZ CHAMPALIMAUD
Reel/Frame 046330/0288 →
Priority Claims (1)
PT 108690 · Jul 13, 2015 · national
Continuity (1)
Related Publication 20180199840A1 · Jul 19, 2018