基于omp算法在gpu上实现稀疏信号恢复的方法

文档序号:6371746阅读:1250来源:国知局
专利名称:基于omp算法在gpu上实现稀疏信号恢复的方法
技术领域
本发明属于信号处理技术领域,特别涉及一种基于OMP算法在GPU上实现稀疏信号恢复的方法。
背景技术
近年来,压缩感知理论得到广泛关注,其说明在信号满足稀疏性的前提下,用远小于奈奎斯特采样率的采样频率对数据进行采样,即能够完全恢复出原始信号。压缩感知用下面的数学表达式阐述为对于原始信号X G Rn,通过观测矩阵①G Rmxn,得到观测向量y G Rm :y=Ox (I) 其中M << N,x中显著元素个数为S,S << N。CS理论研究的是已知观测y,估计满足式(I)的最稀疏解x,即找到一个ieRA'满足min Iili.,, s.t. y =<1>\(2)其中,||-| I。表示Ltl范数,即计算非零元素个数。目前,正对式(2)的优化问题,提出了一系列的求解算法,包括近似LI优化、贪心算法、Focuss算法等,这些算法在特定场景下都能有效恢复出稀疏信号。然而,这类算法的共同特点是计算复杂度高,在求解大规模数据时,传统CPU串行实现运行时间长,无法实时恢复出原始稀疏信号;而借助大型计算机或者集群虽然能够实现快速计算,但所需成本高,不能满足工程应用的需求。近年来,图形处理器(Graphics Processing Unit, GPU)演变成一个高速并行化的多核、多线程通用应用平台,在解决计算密集型问题上具有很高的性价比。本发明尝试利用GPU这一平台来提高OMP算法的执行速度。以下的文章和专利文献,基本覆盖了该领域主要的背景技术。为了交待出技术的发展过程,我们按时间顺序排列,并逐个介绍文献的主要贡献以及缺点。I. Tropp J A,Gilbert A C. Signal recovery from random measurementsvia orthogonal matching pursuit[J]. IEEE Transactions on InformationTheory, 2007,53(12):4655-4666.文献中,基于贪心算法提出了一种求解零范数最小优化的算法,该算法相对于基于一范数近似的凸优化算法计算复杂度更小,分辨率更高。相对于传统的匹配跟踪算法,每次迭代过程中正交投影增加了成功恢复的概率和收敛速度。2. Sangkyun Lee S W. Implementing algorithms for signal andimage reconstruction on graphical processing units.Computer SciencesDepartment, University of Wisconsin-Madisonj Tech. Rep.,November, 2008.文献中,Wisconsin大学的Sangkyun Lee等人在GPU平台上实现了压缩感知的SpaRSA算法。SpaRSA算法是凸优化算法的一种,计算复杂度比较大,即使在GPU平台上实现依然需要较长的计算时间。同时,SpaRSA算法具有凸优化类算法的共同缺点,就是存在较高的旁瓣。3. Andrecut M. Fast GPU implementation of sparse signal recovery fromrandom projections[J]. Engineering Letters. 2009, 17(3):151-158.在此文献中,Calgary大学的Andrecut等人实现了匹配追踪(Matching Pursuit,MP)算法的GPU并行化。该方法存在的缺点就是MP算法本身的收敛速度慢,在基相关性较大时,成功恢复的概率小。

发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种基于OMP算法在GPU上实现稀疏信号恢复的方法,将OMP算法在GPU上并行实现,从而将稀疏信号恢复。为了实现上述目的,本发明采用的技术方案是
基于OMP算法在GPU上实现稀疏信号恢复的方法,包括以下步骤步骤一在GPU上生成观测矩阵O,矩阵中元素根据下面的公式计算
权利要求
1.基于OMP算法在GPU上实现稀疏信号恢复的方法,其特征在于,包括以下步骤 步骤一在GPU上生成观测矩阵O,矩阵中元素根据下面的公式计算
2.根据权利要求I所述在GPU上实现稀疏信号恢复的方法,其特征在于,所述步骤一中观测矩阵O为DCT矩阵的随机抽行阵,其中,随机抽行操作由计算机模拟生成,通过产生一系列的伪随机数来确定抽行位置。
3.根据权利要求I所述在GPU上实现稀疏信号恢复的方法,其特征在于,在GPU上为所述观测矩阵O分配大小为MXN ;float型的存储空间。
4.根据权利要求I所述在GPU上实现稀疏信号恢复的方法,其特征在于,所述步骤一中生成观测矩阵O是在GPU上并行进行的,具体是将该生成任务分配到64个线程中,线程i负责生成
5.根据权利要求I所述在GPU上实现稀疏信号恢复的方法,其特征在于,所述乘法操作的并行实现分为粗粒度并行和细粒度并行,在矩阵与向量乘法0Tr中,矩阵Ot各行与r之间执行向量乘法是粗粒度并行,由线程块来完成,线程块i负责执行Vi =〈t,r>,其中〈.,. > 表示两个向量计算内积;在Vi =〈ct” r>计算过程中元素与元素执行乘法操作由多线程并行完成,此为细粒度的并行;具体实现为,线程块i的线程j负责执行
6.根据权利要求I所述在GPU上实现稀疏信号恢复的方法,其特征在于,所述二范数的计算由多个线程并行执行。
全文摘要
基于OMP算法在GPU上实现稀疏信号恢复的方法,在GPU上生成观测矩阵,选择观测矩阵中与残差相关性最大的列补充到基矩阵中,残差为实际观测与估计信号所产生的观测之间的差异,基矩阵为非零元素索引值在观测矩阵中对应的列向量组成的矩阵;利用最小二乘方法在第k步的基矩阵上估计原始信号的非零元素;继续在GPU中选择观测矩阵中与残差相关性最大的列补充到基矩阵中,当真实观测与估计观测的方差低于指定门限值,结束迭代操作,本发明的优点是GPU对OMP算法的并行实现,结合了OMP算法计算复杂度小、收敛速度快的优点,同时充分发挥GPU算法对于矢量计算加速性能显著的特点,有效提高了稀疏恢复算法的运行速度。
文档编号G06F17/16GK102750262SQ20121021622
公开日2012年10月24日 申请日期2012年6月26日 优先权日2012年6月26日
发明者孟华东, 张颢, 王希勤, 陈帅 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1