论文部分内容阅读
独立分量分析(Independent Component Analysis,ICA)是一种从多元混合信号中分离出独立分量的算法,其通过运用统计学原理,揭示出混合信号中的隐藏成分和内在因子,在生物医学、声音处理、图像处理以及远程通信等领域有着广泛的应用。 但是因为ICA算法十分复杂,计算量大,当输入数据规模较大时,现有的基于软件的系统很难完成ICA算法的实时处理。对高性能计算的迫切需求,使得研究者们将目光转向了FPGA(Field Programmable Gate Arrays)平台。基于FPGA平台的ICA系统在加速效果、功耗以及成本等方面具有一定的优势,因此,在FPGA上实现ICA算法成为了该领域一个热点研究方向。 本文所设计的ICA系统既能满足实时性的需求,又具有很好的可扩展性,本文主要做了以下几个方面的工作: 1.本论文深入分析了FastICA算法硬件实现的关键点,从平衡系统资源消耗与加速比、提高计算的并行性以及使得系统具有可扩展性等方面进行了讨论和分析。 2.本论文对一些矩阵的基本运算的硬件实现进行了研究与讨论。如矩阵的零化,求矩阵的特征值和特征向量,矩阵的正交化等。 3.本论文在FPGA上所实现的FastICA架构可以适用于不同输入规模的数据。当前端信号采集模块的采样率、采样时间以及采样通道发生改变时,本设计通过对存储单元以及运算单元之间的组织配合,可以使得最终仍能得到正确的计算结果。 4.本论文所提出的FastICA架构能满足不同系统实时性的需求。设计中借鉴了宏流水的思想,将计算单元用环形连接起来,可以根据系统对实时性的需求以及资源情况来动态配置计算所用的资源,从而提高了系统的性能功耗比。 5.本论文在Xilinx ML605 FPGA平台上对所提出的架构进行了实现,分别以四通道和八通道信号为例,对所提出结构的正确性进行了验证,与软件平台对比,本系统加速比在10倍以上,且当输入数据规模增加时,加速比会更大,与其他研究中FPGA中所提出的架构相比,本系统体现了很好的可扩展性。