论文部分内容阅读
对脑电信号进行研究是脑科学研究领域的重要内容,在这一领域,脑机接口(Brain Computer Interface,BCI)系统既涉及医学学科又涉及计算机通信与控制等学科,已成为这一领域中的热点课题。采集到的脑电信号在经过硬件处理之后可能仍然包含有大量的噪声,为了保证信号后续处理分析结果的精准性,需要对信号进行滤波等预处理。Kalman滤波是一种高效率滤波方法,能适应多种不同条件的滤波工作,被广泛地使用在信号处理工作、导航、自动控制等领域。本文使用Kalman滤波对采集到的脑电信号进行了滤波处理,经后续试验表明利用其对脑电信号进行预处理可以提高对信号特征的识别率。本文通过分析Matlab与CC++等高级编程语言的优缺点,使用了Matlab与C++两者优势互补的混合编程的方式实现了Kalman滤波,该方法既实现了Matlab强大的数值方面运算能力的跨平台应用,又有高级编程语言执行效率高,界面编写功能强大的优点,并将Kalman滤波器应用于脑电信号的预处理,取得了较好的效果。本篇论文的主要工作有以下几点:1.本文介绍了脑电信号采集与处理中的脑机接口系统的大致组成及其工作流程,详细介绍了本文在脑机接口系统信号处理模块用到的Kalman滤波算法及ST(S-transform,S变换)算法和梯度Boosting(Gradient Boosting,GB)算法相结合的特征提取和分类识别算法的基本原理。2.本文阐述了Matlab与VC++的优点及缺点,介绍了相关文献中前人整理过的传统的VC++6.0这一工具与Matlab混合编程的几种方式,并介绍了当前最新的VC++标准:C++0x/11标准以及VC++6.0的问题及与VS的区别。在此基础上,实现了新版的Visual studio 2010与Matlab R2012b的混合编程。3.通过实例将Visual studio 2010与Matlab R2012b混合编程的思想应用到了脑机接口系统中,在对脑机接口系统预处理模块中的信号滤波后,在此基础上使用了ST算法对采集到的运动想象信号进行了特征提取,并使用GB算法进行了识别分类,并通过实验验证了方法的有效性。