节点文献

定点参考独立分量分析算法的FPGA实现

FPGA Implementation of Fixed-point ICA-R Algorithm

【作者】 王佑锋

【导师】 林秋华;

【作者基本信息】 大连理工大学 , 电路与系统, 2008, 硕士

【摘要】 参考独立分量分析(independent component analysis with reference,ICA-R)是一种半盲分离算法。它将源信号的部分先验知识以参考信号形式引入到传统ICA算法中,从而在一定的量度下只抽取与参考信号最为接近的期望源信号。由于利用了部分先验信息,ICA-R算法在解决分离信号顺序不确定性、提高分离效率和分离性能方面均优于传统全盲ICA,在语音分离、功能磁共振成像信号分析等方面取得了良好的应用结果。然而,ICA-R算法的计算复杂度较大,分离速度还难以达到实时性要求,限制了其在实际中的应用。为此,有人提出了定点ICA-R算法,在算法层面减小了计算复杂度,但与实时分离仍有差距。考虑到硬件实现能为算法提供一个理想的并行运行环境,从而更加有效地解决实时性问题,本文在比较了通用处理器、DSP、ASIC和FPGA等几种硬件实现方案后,择优选择了基于FPGA实现定点ICA-R算法的硬件实现方案。本文主要的研究工作有:(1)比较了FPGA的传统设计方法和基于DSP开发平台的现代设计方法,选取了后者并熟悉了MATLAB/Simulink和System Generator等开发环境。(2)研究了定点ICA-R算法的原理、主要功能和分离过程,依照算法的流程进行了功能模块划分,主要包括输入模块、解混模块、判断模块、权向量更新模块和输出模块。(3)基于MATLAB/Simulink和System Generator,对各个子模块分别进行了FPGA设计实现。其中,权向量更新模块的非线性函数实现影响算法精度,本文研究并使用了查找表和分段线性逼近等两种方法加以实现,并分析比较了两种方法的优劣。(4)加入了时序调整电路和循环控制电路,连接各个模块,完成了整个算法设计。(5)进行了细致的系统仿真,分析了仿真结果。为了验证FPGA实现的定点算法性能,使用了正弦循环信号和语音信号等不同的源信号及其随机混合信号做了大量的仿真试验,并将仿真结果与MATLAB环境下得到的仿真结果进行了比较与分析,结果表明了本文设计的有效性。

【Abstract】 Independent component analysis with reference (ICA-R) is a semi-blind source separation algorithm. It incorporates some prior information about the sources into the conventional ICA to extract the desired sources under some measurements. Compared with traditional ICA, ICA-R outputs only signals of interest in a predefined order, provides much improved performance and has fast convergency speed by using a little prior information. It has been efficiently applied to many fields such as speech processing and fMRI (functional magnetic resonance imaging) data analysis.However, the computation complexity of ICA-R discourages its time sensitive application. As such, fixed-point ICA-R algorithm is given to reduce the computation complexity of ICA-R at the arithmetic level. However, the fixed-point ICA-R algorithm still cannot meet the requirement of real-time separation. It is well known that hardware implementation of an algorithm provides an optimal parallelism environment, and thus can provide faster and real-time solutions. After comparison with general-purpose processor (GPP), DSP and ASIC, we chose FPGA to implement fixed-point ICA-R algorithm.The main works of this thesis are as follows. (1) described traditional design technique and DSP-based implementation platform technique, the second technique is used and MATLAB/Simulink and System Generator are accordingly studied. (2) briefly introduced the fixed-point ICA-R algorithm, and classified the algorithm into five modules, which were input module, unmixing module, weight vector updating module, judgment module, and output module, respectively. (3) designed each of five modules based on FPGA. To efficiently implement the nonlinear function in the weight vector updating module, we presented and compared two approaches, one was to construct a look-up table (LUT), the other was to use the piecewise linear approximation. (4) added control blocks and completed the system-level design of the algorithm. (5) carried out extensive experiments with various synthesized sources and their random mixtures to illustrate the efficacy of the FPGA implementation of fixed-point ICA-R algorithm. The synthesized signals include sine wave signal, speech signal and many noise signals. The experiment results show that the hardware design is correct and efficient.

【关键词】 FPGAICA-RSystem Generator非线性函数
【Key words】 FPGAICA-RSystem GeneratorNonlinear Function
节点文献中: 

本文链接的文献网络图示:

本文的引文网络