当前位置:主页 > 科技论文 > 电子信息论文 >

基于CORDIC矩阵奇异值分解的FPGA实现

发布时间:2021-04-09 15:57
  在矩阵的奇异值分解(singular value decomposition,SVD)过程中,随着矩阵维数的增加,SVD的计算量呈指数型增长,从而降低了算法运行的实时性。针对这个问题,基于Hestenes-Jacobi数值计算方法,提出了一种改进的基于坐标旋转数字计算机(coordinate rotation digital computer,CORDIC)的逻辑设计,该逻辑设计采用并行的全流水线设计思想,能够提高Jacobi平面旋转变换的运行速度,进而加快任意维矩阵奇异值分解的计算速度。分析了基于Hestenes-Jacobi方法的SVD的数值计算过程,介绍了CORDIC算法的基本原理,并具体说明了基于CORDIC算法的Jacobi平面旋转模块的设计,利用Verilog语言实现设计并验证,在现场可编程门阵列(field-programmable gate array,FPGA)上运行该逻辑设计单元,与Matlab软件的运行结果进行对比。实验测试结果表明,该结构能够减少计算时间,适应高速数据处理的要求。 

【文章来源】:重庆邮电大学学报(自然科学版). 2020,32(03)北大核心CSCD

【文章页数】:7 页

【部分图文】:

基于CORDIC矩阵奇异值分解的FPGA实现


平面旋转变换

电路图,顶层设计,奇异值分解,电路


具体的奇异值分解实现电路的顶层设计如图2,图2中的COM_Top模块为奇异值分解的Hestenes-Jacobi正交化变换单元,实现列对向量的正交化运算过程,本例设计了4个COM_Top模块,进行并行运算。电路采用2个双端口RAM单元,分别用于存储左奇异向量 和右奇异向量,Addr单元即对应算法1中Addr函数,并行读取矩阵A的列向量,输出作为RAM单元的地址。Converge模块为收敛判决模块,用于判断运算是否达到预期的收敛精度。Norm模块为归一化模块,用于对正交变换后的矩阵进行归一化,依次输出奇异值。状态机作为控制单元,提供同步和控制信号,在整个分解过程中每个模块执行不同的任务。Hestenes-Jacobi方法的核心思想是实现一系列的列向量对的正交化变换。因此,本文主要是在对COM_Top模块以及其子模块的具体实现进行改进。因此,下面针对COM_Top的具体设计进行说明。COM_Top模块由3个部分组成:向量乘积运算模块,旋转角度运算模块以及旋转变换运算模块,如图3。

硬件结构图,硬件结构,模块,正交化


Hestenes-Jacobi方法的核心思想是实现一系列的列向量对的正交化变换。因此,本文主要是在对COM_Top模块以及其子模块的具体实现进行改进。因此,下面针对COM_Top的具体设计进行说明。COM_Top模块由3个部分组成:向量乘积运算模块,旋转角度运算模块以及旋转变换运算模块,如图3。COM_Top模块的运算过程如下:当初始矩阵数据存入双口RAM中完毕后,数据在状态机的控制下进入向量乘积运算运算单元,计算求得2个列向量的内积值,将向量的内积值输出至旋转角度运算单元。根据(8)式可知,旋转变换矩阵的三角函数角度值可通过向量的3个内积值计算得到。在计算得到角度值θ后,直接将角度值以及需要正交化的列向量送入旋转变换运算单元进行正交化。

【参考文献】:
期刊论文
[1]基于FPGA数字PLL谐振频率的跟踪研究[J]. 余成波,张林,龙曦.  重庆理工大学学报(自然科学). 2019(04)
[2]基于分块和NSCT-SVD的彩色图像数字水印算法[J]. 张倩倩,詹永照,林涵阳.  江苏大学学报(自然科学版). 2017(05)
[3]基于改进的MCA和K-SVD的图像稀疏表示去噪算法[J]. 邓翔宇,刘增力.  四川大学学报(自然科学版). 2016(04)

硕士论文
[1]基于FPGA的矩阵奇异值分解加速方案的设计与实现[D]. 马亚峰.北京交通大学 2017
[2]基于GPU平台的SVD并行计算研究与实现[D]. 唐吉卓.电子科技大学 2014
[3]并行JACOBI方法求解矩阵奇异值的研究[D]. 郭强.苏州大学 2011



本文编号:3127904

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/3127904.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户64499***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com