定点参考独立分量分析算法的FPGA实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
参考独立分量分析(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环境下得到的仿真结果进行了比较与分析,结果表明了本文设计的有效性。
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.
引文
[1]A.Hyvarinen,J.Karhunen,E.Oja.Independent Component Analysis.John Wiley & Sons,Inc.,New York,2001.
    [2]Ristaniemi T,Joutsensalo J.On the performance of blind source separation in CDMA downlink.Proceedings of the International Workshop on Independent Component Analysis and Signal Separation.Aussois,France,1999:437-441.
    [3]Rajapakse J C,Cichocki A,Sanchez A V.Independent component analysis and beyond in brain imaging:EEG,MEG,fMRI,and PET.Proceeding of the 9th international Conference On Neural information Processing.2002,1:404-412.
    [4]Bell A,Sejnowski T.The "independent components" of natural scenes are edge filters.Vision Research.1997,37:3327-3338.
    [5]Budillon A,Cuozzo G.Application of over complete ICA to SAR image compression.2005International Proceeding on Geo science and Remote Sensing.2005,1:152-155.
    [6]Comon P.Independent component analysis,a new concept.SP,1994,36:287-314.
    [7]Lu W,Rajapakse J C.ICA with Reference,Proc.Third Int.Conf.on Independent Component Analysis and Blind Source Separation(ICA 2001),2001:120-125.
    [8]LuW,Rajapakse J C.Approach and ApPlications of Constrained ICA,IEEE Trans.Neural Nets.2005(16):203-212.
    [9]Zheng,Y.R.,Lin,Q.H.,Yin,F.h.,et al.Speech Enhancement Using ICA with EMD-based Reference,The 60h International conference on Independent Component Analysis and Blind Signal Separation.Charleston,South Carolina,USA,2006.
    [10]郑永瑞.参考独立分量分析算法及应用研究:(硕士学位论文).大连:大连理工大学,2005.
    [11]A.B.Lim,J.C.Rajapakse,A.R.Omondi.Comparative Study of Implementing ICNNs on FPGAs.Proc.of Intenrational Joint Confeernce on Neural Networks.vol.1,2001:177-182.
    [12]F.Satar,C.Charayaphan.Low-cost design and implementation of an ICA-based blind source separation algorithm.7th Annual IEEE International Proceedings of IEEE International ASIC/SOC Conference,2002:15-19.
    [13]C.Charoensak,and F.Sattar.System-level design of low-cost FPGA hardware for real-time ICA-based blind source separation,Proceedings of IEEE International ASIC/SOC Confeernce,2004:139-140.
    [14]C.Charoensak,F.Sattar.A Single-Chip FPGA designo for real-time ICA-based blind source separation,Proceedings of IEEE International Confeernce,2005:5822-5825.
    [15]C.Charoensak,F.Sattar.Design of low-cost FPGA hardware for real-time ICA-based blind source separation algorithm,EURASIP Journal on Applied Signal Processing,2005:18,3076-3086.
    [16]C.M.Kim,H.M.Park,T.Kim,etal.FPGA implementation of ICA algorithm for blind signal separation and adaptive noise canceling.IEEE Transactions on Neural Networks,vol.14,no.5,2003:1038-1046.
    [17]Hongtao Du,Hairong Qi.An FPGA Implementation of Parallel ICA for Dimensionality Reduction in Hyperspectral Images.IEEE,2004:3257-3260.
    [18]Zhongfeng Li,Qiuhua Lin.FPGA Implementation of Infomax BSS Algorithm with Fixed-Point Number Representation.Proceedings of International Conference on Neural Networks and Brain,vol.1,Beijing,China,2005:889-892.
    [19]Kuo-Kai Shyu,Ming-Huan Li.FPGA Implementation of FastICA based on Floating-Point Arithmetic Design for Real-Time Blind Source Separation.IEEE,2006:2785-2792.
    [20]马建国,孟宪元.电子设计自动化技术基础.北京:清华大学出版社,2004.
    [21]李景华,杜玉远.可编程逻辑器件及EDA技术.沈阳:东北大学出版社,2008.
    [22]黄志强,潘天保,吴鹏等.Xilinx可编程逻辑器件的应用与设计.北京:机械工业出版社,2007
    [23]http://www.xilinx.com.
    [24]http://www.altera,com.
    [24]http:/www.fpga.com.cn.
    [25]孙航.Xilinx可编程逻辑器件的高级应用与设计技巧.北京:电子工业出版社,2004.
    [26]Xilinx.Xilinx System Generator for DSP Version 9.1.01 User's Guide,2007.
    [27]纪志成,高春能.FPGA数字信号处理设计教程.西安:西安电子科技大学出版社,2008.
    [28]Altera.Altera DSP Builder Version 8.0 User's Guide,2008.
    [29]薛小刚,葛毅敏.Xilinx ISE 9.X FPGA/CPLD设计指南.北京:人民邮电出版社,2007.
    [30]Hyv(a|¨)rinen A,A family of fixed-point algorithms for independent component analysis.In Proc on Acoustics,Speech and Signal Processing.Munich,Germany.1997:3917-3920.
    [31]Hyv(a|¨)rinen A.New approximations of differential entropy for independent component analysis and projection pursuit.Advances in Neural Information Processing Systems,1998,10:273-279.
    [32]Hyv(a|¨)rinen A.Independent Component Analysis:Algorithm and Applications.Neural Networks,2000,13:411-430.
    [33]高亚军,张冠杰,陈矛.基于System Generator的DBF的建模与仿真.火拉雷达技术.2006,35:23-26.
    [34]http://picachu.blogchina.com/blog/Picachu.查找表(Look-Up-Table)的原理与结构(FPGA).

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700