欢迎来到天天文库
浏览记录
ID:32358725
大小:216.95 KB
页数:8页
时间:2019-02-03
《任意维矩阵求逆的fpga设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、任意维矩阵求逆的FPGA设计与实现王锐胡永华马亮杜福慧(合肥工业大学微电子设计研究所wangrui@hfut.edu.cn)摘要:矩阵运算广泛应用于各类电路计算中,矩阵运算的硬件实现能够充分发挥硬件的速度和并行性。其中矩阵求逆是矩阵运算中重要的运算,针对目前多维矩阵难以设计的情况,本文提出了一种任意维矩阵求逆的硬件实现方法,实验达到了预期目标。任意维矩阵求逆的硬件实现在数字信号处理领域将具有广泛的应用前景。关键字:任意维矩阵求逆LU分解现场可编程门阵列Abstract:Matrixoperationiswidelyusedindifferentkindsofcirc
2、uitcalculation.Hardwareimplementationofmatrixoperationcanfullyrealizethespeedandparallelofthehardware.Matrixinversionisakindofveryimportantmatrixoperation.Duetothedifficultyofdesignofmulti-dimensionmatrix,akindofhardwareimplementationmethodofarbitrarydimensionmatrixinversionisproposeda
3、ndtheresultoftheexperimentcanmeettherequirement.Thehardwareimplementationofarbitrarydimensionmatrixinversionwouldhavemorewidelyapplicationprospectindigitalsignalprocessingfield.Keyword:arbitrarydimensionmatrixinversionLUdecompositionFPGA矩阵运算是数字信号处理领域内的基本操作,广泛应用于各类电路计算中,在诸如DCT变换、LDPC编解码
4、领域应用非常广泛。目前大部分矩阵运算都是利用软件来实现,但是随着矩阵维数的增长,软件处理的速度也会大幅度变慢。矩阵运算的硬件实现能够充分发挥硬件的速度和并行性,目前文献上只报道了固定维数的矩阵运算,尚无法完成任意维矩阵的硬件实现。矩阵求逆是非常重要的矩阵运算,而矩阵分解是矩阵求逆的重要环节。矩阵分解的方法很多,主要有LU分解法(TriangularMatrixDecomposition)、QR分解法(QRDecomposition)、奇异值分解法(SingularValueDecomposition)等,其中LU分解法和QR分解法最常用。LU分解法是将给定的矩阵分解
5、为下三角矩阵和上三角矩阵的乘积。QR分解法利用正交相似变换将一个给定的矩阵逐步约化为上三角矩阵或拟上三角矩阵。其中LU分解法在矩阵求逆运算方面应用非常广泛,本文在研究基于LU分解的矩阵求逆的基础上,提出了一种任意维矩阵求逆的硬件实现方法。文章共分四部分,第一部分提出任意维矩阵求逆的算法,第二部分介绍了硬件设计,第三部分是实验,第四部分是结论与展望。1.算法分析矩阵求逆的算法流程为:1)进行LU分解;2)对分解后的L阵(下三角矩阵)和U阵(上三角矩阵)进行求逆;3)L阵的逆矩阵和U阵的逆矩阵相乘,即可求得原来矩阵的逆。即:−1−1−1−1A=(L⋅U)=U⋅LA-1=
6、(L·U)-1=U-1·L-1对于超大型矩阵的求逆运算,可以考虑对矩阵进行棋盘式分块,分别对各个子矩阵进行运算,这样就降低了同时运算的数据量,可实现任意维矩阵的运算。因此任意维矩阵的求逆,即可称为块矩阵求逆,可以分为块矩阵的LU分解、块L矩阵和块U矩阵求逆、块矩阵乘法这三个步骤,下面分别讨论。块矩阵分解后的子矩阵选择4x4矩阵,这是因为其具有代表性,即既可作为矩阵分块后的子矩阵,也可作为分块前的矩阵。1.1块矩阵的LU分解算法K.Hwang在1982年提出了任意维矩阵的块LU分解算法[1],算法流程如下:A=(a)2A假设输入为一个n×nn×n矩阵A=(aij)ij
7、,分解为k2k个m×m子矩阵Aijij,其中i,j=1,2,…,k,n=km。输出:k(k+1)个子矩阵LpqLpq,其中,q≤pq≤p=1,2,…,k,子矩阵UrsUrs,s≥rs≥r=1,2,…,k,每个子矩阵为m×mm×m。算法过程:ALUL⋅U=Aa)把A1111分解成L1111和U1111,使L11·U11=a11111111;−1−1LUb)计算逆矩阵L-11111和U-11111,−1−1L=A⋅UU=L⋅A计算Lp1=Ap1·U-111;U1p=L-111·A1p,p1p111;1p111p,p=2,3,…,k;c)循环嵌套计算Forq从2到(k
此文档下载收益归作者所有