论文部分内容阅读
矩阵特征值分解被应用于科研和工程的很多领域,如主成分分析算法、人工视觉等。因此,对矩阵特征值分解的硬件实现进行研究,寻找一种较好的硬件实现策略具有十分重要的意义。在现有的矩阵特征值分解算法中,乘幂法适合于求解稀疏矩阵的主特征值,反幂法适合于知道矩阵特征值求解相应特征向量的情况,而作为乘幂法推广的子空间迭代法非常适合于求解大型稀疏矩阵的特征值。对于对称矩阵,有三种方法可以求解其特征值:Jacobi旋转法、单侧旋转法和QR方法。Jacobi旋转法在利用矩阵的正交变换对矩阵进行对角化求取矩阵特征值,并且在求解特征值的同时可以很方便的利用正交变换求解出特征值对应的特征向量。单侧旋转法是Jacobi方法的变形,它只利用单侧旋转来先求取矩阵特征值的平方,再求取矩阵的特征值。QR方法是基于QR分解的一种求取矩阵特征值的方法,它将矩阵通过分解变成一个上三角矩阵,然后求解其特征值。对于Jacobi算法的硬件实现,论文经过分析总结提出了两种大的结构:串行计算机构和并行计算结构。串行计算结构又根据具体计算过程的不同分成了两种方法,一种方法是先寻找矩阵非对角元素的最大元,然后对其相应的行列进行Jacobi旋转;另一种方法是通过遍历的方法来对矩阵的行列依次进行Jacobi旋转。并行计算结构是一种阵列型的结构,它由对角线处理单元和非对角线处理单元通过一定的连接组成,每个处理单元处理四个矩阵元素,在一次处理后跟相邻的单元进行数据交换进行新的一次计算。CORDIC算法将一个向量[x,y]旋转θ角度分解成连续的±arctan2-i(i=0,1,…b)角度的旋转。利用它可以将每次Jacobi运算转换成只有加法和移位的多次迭代运算和一个比例因子的缩放运算。它非常适合应用于对Jacobi算法的硬件实现。论文通过CORDIC迭代来实现Jacobi算法的两种计算结构,利用VerilogHDL来进行硬件实现描述,然后对设计进行了验证和数据采集,通过几种结构的性能对比,确定并行计算结构为最佳实现方案。