巴特尔使用MATLAB开发信号处理和机器学习算法,并实时运行算法。
研究人员向参与者展示了一个电脑生成的虚拟手的动作,比如手腕的弯曲和伸展,拇指的弯曲和伸展,以及手的张开和闭合,并让参与者思考用自己的手做同样的动作。
在MATLAB环境下,该团队开发了算法来分析植入电极阵列中96个通道的数据。利用小波工具箱™, 他们进行小波分解以分离控制运动的大脑信号的频率范围。
他们在MATLAB中对分解结果进行变换,计算平均小波功率(MWP),将单个通道每100毫秒窗口捕获的3000个特征减少到单个值。
得到的96个MWP值被用作机器学习算法的特征向量,该算法将特征转换为个体动作。
该团队使用MATLAB测试了几种机器学习技术,包括判别分析和支持向量机(SVM),确定了一种针对性能优化的定制SVM。金宝app
在测试过程中,团队通过让参与者尝试视频中显示的动作来训练SVM。他们使用经过训练的SVM输出来制作计算机生成的虚拟手的动画,参与者可以在屏幕上操作该虚拟手。对相同的SVM输出进行缩放,并用于控制NMES套管的130个通道。
当参与者移动手臂和手进行简单的运动时,所有信号处理、解码和机器学习算法都在MATLAB中在台式计算机上实时运行。
Battelle的工程师们目前正在使用MATLAB为第二代NeuroLife系统开发算法,该系统将包括加速计和其他传感器,以使控制算法能够监控手臂的位置并检测疲劳。