发明名称 一种补齐式原地矩阵转置方法
摘要 本发明公开了一种补齐式原地矩阵转置方法,将二维矩阵A以行数和列数较小的一方作为边长将二维矩阵划分成数个方阵,将不够划分为方阵的部分补齐成为一个方阵,补齐部分不含数据;以K*K的矩阵将方阵再分割,将沿对角线和非对角线的所有K*K矩阵读入随机存储器模块RAM中进行转置处理,将以上经过转置处理得到二维矩阵按顺序从SDRAM读取输出,得到最终转置后的矩阵。本发明的有益效果是适于矩阵行列数中较小者为2的幂次方正整数倍的矩阵的转置,可有效提高SDRAM类存储器的利用效率,提升大矩阵转置类数字信号的处理性能。
申请公布号 CN103760525B 申请公布日期 2017.01.11
申请号 CN201410005244.9 申请日期 2014.01.06
申请人 合肥工业大学 发明人 杜高明;张多利;宋宇鲲;王莉莉;尹勇生;王晓蕾;贾靖华
分类号 G06F17/16(2006.01)I;G01S7/02(2006.01)I;G01S13/90(2006.01)I 主分类号 G06F17/16(2006.01)I
代理机构 安徽省合肥新安专利代理有限责任公司 34101 代理人 何梅生
主权项 一种补齐式原地矩阵转置方法,其特征在于包括如下步骤:步骤1:将需要转置的SAR数据连续存入同步动态随机存储器SDRAM中映射成二维矩阵A(L*W),L代表矩阵的行数,W代表矩阵的列数,其中较小的为2的幂次方的正整数倍;步骤2:以二维矩阵A中行数和列数较小的一方作为边长将二维矩阵A划分成数个方阵,将不够划分为方阵的部分补齐成为一个完整的方阵,补齐部分不含数据;将每个方阵再分割为K*K的矩阵,K是L、W中最小数的约数;步骤3:K*K的矩阵分为不含补齐部分的矩阵和含有补齐部分的矩阵两种:a将沿对角线的所有K*K矩阵按照每次两个的方式读入随机存储器模块RAM中进行转置处理,转置后的矩阵输出到SDRAM中覆盖原矩阵;b将非沿对角线的所有K*K矩阵按照每次处理两个以对角线为对称轴矩阵的方式读入随机存储器模块RAM中进行转置处理,转置后的矩阵输出到SDRAM中以对角线为对称轴覆盖相对称的矩阵;对所有方阵进行以上步骤3的操作;步骤4:将步骤3中得到的二维矩阵从SDRAM中读取输出,完成整个转置过程;所述步骤3中对K*K的矩阵读入随机存储器模块RAM中进行转置处理的过程为若每两个K*K矩阵均不含补齐部分,则先将两个矩阵从SDRAM读取,存入RAM中,然后按照0,K,2K…K(K‑1),1,(K+1),(2K+1)…(K(K‑1)+1)…(K‑1),(2K‑1)…(K<sup>2</sup>‑1)的次序,先跳读RAM前K*K数据,再按照K<sup>2</sup>,(K<sup>2</sup>+K),(K<sup>2</sup>+2K)…(K<sup>2</sup>+K(K‑1)),(K<sup>2</sup>+1),(K<sup>2</sup>+(K+1)),(K<sup>2</sup>+2K+1)…(K<sup>2</sup>+K(K‑1)+1)…(K<sup>2</sup>+K‑1),(K<sup>2</sup>+2K‑1)…(K<sup>2</sup>+K<sup>2</sup>‑1)的次序,跳读RAM后K*K数据;所述步骤3中对K*K的矩阵读入随机存储器模块RAM中进行转置处理的过程,是指若每两个K*K矩阵中仅其中一个含有补齐和非补齐部分,设两个矩阵不含补齐部分分别为C(M,N)和D(R,S),其中M、N、R、S均为小于等于K的正整数,则先将C(M,N)和D(R,S)从SDRAM中读取,存入RAM中,然后按照0,N,2N…N(M‑1),1,(N+1),(2N+1)…(N(M‑1)+1)…(N‑1),(2N‑1)…(N*M‑1)的次序,先跳读前M*N数据,再按照M*N,(M*N+S),(M*N+2S)…(M*N+S(R‑1)),(M*N+1),(M*N+(S+1)),(M*N+(2S+1))…(M*N+(S(R‑1)+1))…(M*N+(S‑1)),(M*N+(2S‑1))…(M*N+(S*R‑1))的次序,跳读RAM后R*S数据;所述步骤3中对K*K的矩阵读入随机存储器模块RAM中进行转置处理的过程,是指两个K*K矩阵中的任意一个只含有补齐部分,则该只含补齐部分的矩阵无需转置。
地址 安徽省合肥市屯溪路193号