一种低复杂度实现矩阵QR分解的方法及装置制造方法及图纸

技术编号:26262495 阅读:22 留言:0更新日期:2020-11-06 18:00
本发明专利技术提供一种低复杂度实现矩阵QR分解的装置及方法,包括有如下步骤:S1、设系统最大接收天线为m_max,最大层数为n_max,m_max>=n_max;S2、获取复信道得出矩阵H及复接收信号向量y,H包含m行n列复数据,其中m>=n,y包含m行1列复信号。本发明专利技术中,采用Givens旋转的QR分解方法,利用CORDIC实现,资源消耗较低,方便硬件实现,使用增广矩阵进行QR分解,以增加1列数据的运算量的代价,避免了输出Q矩阵及(Q^T)y的计算,通过将任意m*(n+1)(m>=n)矩阵扩充为m_max*(m_max+1)矩阵实现一套QR分解方案对任意m*(n+1)矩阵QR分解适用,采用Givens旋转的QR分解方法,利用CORDIC实现,资源消耗较低,方便硬件实现,使用增广矩阵进行QR分解,以增加1列数据的运算量的代价,避免了输出Q矩阵及(Q^T)y的计算。

【技术实现步骤摘要】
一种低复杂度实现矩阵QR分解的方法及装置
本专利技术涉及无线通信
,特别的为一种低复杂度实现矩阵QR分解的方法及装置。
技术介绍
在多信号检测系统中,矩阵QR分解是一个常用的技术。QR分解的实现方式有多种,常用的有HouseholderQR分解,Gram-Schmidt法QR分解及基于Givens旋转的QR分解。现有技术基于三种方法都有。但存在以下缺点:1、HouseholderQR分解,Gram-Schmidt法QR分解对乘除法器个数有要求,并且位宽较大,比较消耗资源。2、Givens旋转的QR分解可以通过CORDIC(坐标旋转数字计算方法)实现,只需要加法、移位及一个乘法即可实现,方便硬件实现。但为了保证性能,迭代次数较大,对所有数据均使用固定迭代次数,功耗较大。3、由于接收天线及层数m*n存在多种组合,需要实现多套QR分解,浪费资源。4、对于方程y=Hx,先做H的QR分解,再进行求解方程,需要在对H做QR分解的同时对一个单位阵I做相同的操作,以输出Q矩阵,且需要计算(Q^T)y,造成功耗及资源的浪费。5、对于解方程应用场景,输出的R矩阵,一般还要再进行求解,求解时需要用到除法,除法的资源开销较大,使得QR的结果使用并不方便。
技术实现思路
本专利技术提供的专利技术目的在于提供一种低复杂度实现矩阵QR分解的方法及装置,可有效解决上述
技术介绍
中的问题。为实现以上目的,本专利技术通过以下技术方案予以实现:一种低复杂度实现矩阵QR分解的方法,包括有如下步骤:S1、设系统最大接收天线为m_max,最大层数为n_max,m_max>=n_max。S2、获取复信道得出矩阵H及复接收信号向量y,H包含m行n列复数据,其中m>=n,y包含m行1列复信号,组成增广矩阵H1=[Hy]。S3、对矩阵H2,从第一行开始经过第一个CORDIC迭代单元,每个CORDIC迭代单元有相同结构。S4、在S3中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第二个CORDIC迭代单元。…以此类推。S(m_max+1)、在S(m_max)中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第m_max-1个CORDIC迭代单元;S(m_max+2)、在S(m_max+1)中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第m_max个CORDIC迭代单元;S(m_max+3)、当m_max行的数据全部走完上述步骤后,CORDIC迭代单元输出的第一个数据a=real(a),再根据div_en判断是否更新为1/a,若该a为0,则不变,更新后,分别从第i个CORDIC迭代单元输出上三角矩阵RR的第i行非零元素;S(m_max+3)、从RR矩阵中输出前m行的前n+1列元素组成上三角矩阵R输出。进一步的,根据S2中的操作步骤,所述增广矩阵H1包含m行,n+1列,将复矩阵H1扩充为m_max行m_max+1列复矩阵H2,通过填0的方式扩充进一步的,在初始化m_max行m_max+1列矩阵RR为全零,CORDIC迭代次数为16。进一步的,根据S3中的操作步骤,还包括以下步骤:S301、一行数据a进入迭代单元,使用CORDIC对整行数据进行旋转,使得第一个数据a由复数数据变换为实数数据。S302、将S301步骤中更新的一行数据a,与RR中对应的行对应位置数据进行CORDIC算法旋转,使S301步骤中的第一个数据a变为0,更新当前数据输出,更新RR中对应行对应位置数据。进一步的,S4直到S(m_max+2)中的操作步骤与S3中操作步骤相同。一种低复杂度实现矩阵QR分解装置,包括:检测系统,所述检测系统包括分解单元、第一CORDIC单元、第二CORDIC单元…第m_maxCORDIC单元、一个寄存器和倒数模块。进一步的,所述分解单元用于对接收信号的信道矩阵进行QR分解的准备;所述CORDIC单元用于对数据进行QR分解,其由两个CORDIC组成,第一个CORDIC对整行数据做相同的旋转,该旋转使得该行第一个数据变为实数;第二个CORDIC2做第K行第一列数据与第一行第一列数据的旋转,使得第K行第一列的数据变为0,第K行和第一行其它数据做相同的旋转;所述寄存器可配两个参数组,参数组一对CORDIC每次迭代过程中的数据进行监测,当满足条件时,提前结束迭代,避免过多的迭代次数,浪费功耗;参数组二用于控制倒数模块;所述倒数模块可灵活配置输出的对角线元素为R11或者1/R11。本专利技术提供了一种低复杂度实现矩阵QR分解的方法及装置。具备以下有益效果:(1)、本专利技术中:采用Givens旋转的QR分解方法,利用CORDIC实现,资源消耗较低,方便硬件实现,使用增广矩阵进行QR分解,以增加1列数据的运算量的代价,避免了输出Q矩阵及(Q^T)y的计算。(2)、本专利技术中:通过将任意m*(n+1)(m>=n)矩阵扩充为m_max*(m_max+1)矩阵实现一套QR分解方案对任意m*(n+1)矩阵QR分解适用。(3)、本专利技术中:通过寄存器可配两个参数组,参数组一对CORDIC每次迭代过程中的数据进行监测,当满足条件时,提前结束迭代,避免过多的迭代次数,浪费功耗,可以对很多特定数,有效的降低迭代次数。由于寄存器可配,方便我们对性能和功耗进行灵活选择。参数组二控制倒数模块。(4)、本专利技术中:自带一个可配置高精度低复杂度求倒数模块,使得可灵活配置输出的对角线元素为R11或者1/R11,求逆后求解方程时,只需要做一个乘法即可,若不求逆时则需要使用除法,由使用者配置决定输出模式。(5)、本专利技术中:由A矩阵的QR分解结果得Q’Q=D,B=QR,B与A的误差大约千分之一,D与单位阵的误差大约千分之一,满足性能要求。附图说明:图1为本专利技术的总流程图;图2为本专利技术的QR分解整体流程图;图3为本专利技术的一个CORDIC单元流程图;图4为本专利技术的系统框图。具体实施方式以下参照具体的实施例来说明本专利技术。本领域技术人员能够理解,这些实施例仅用于说明本专利技术,其不以任何方式限制本专利技术的范围。实施例1:参照图1-4:一种低复杂度实现矩阵QR分解的方法,包括有如下步骤:设系统最大接收天线为m_max,最大层数为n_max,m_max>=n_max,实现步骤如下:步骤一:获取复信道估计矩阵H及复接收信号向量y,H包含m行n列复数据,其中m>=n,y包含m行1列复信号,组成增广矩阵H1=[Hy],H1包含m行,n+1列。将复矩阵H1扩充为m_max行m_max+1列复矩阵H2,通过填0的方式扩充。初始化m_max行m_max+1列矩阵RR为全零,CORDIC迭代次数为16,die_para,dieabspara,div_en。步骤二:对矩阵H2,从第一行开始本文档来自技高网...

【技术保护点】
1.一种低复杂度实现矩阵QR分解的方法,其特征在于,包括有如下步骤:/nS1、设系统最大接收天线为m_max,最大层数为n_max,m_max>=n_max;/nS2、获取复信道得出矩阵H及复接收信号向量y,H包含m行n列复数据,其中m>=n,y包含m行1列复信号,组成增广矩阵H1=[H y];/nS3、对矩阵H2,从第一行开始经过第一个CORDIC迭代单元,每个CORDIC迭代单元有相同结构;/nS4、在S3中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第二个CORDIC迭代单元;/n…以此类推;/nS(m_max+1)、在S(m_max)中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第m_max-1个CORDIC迭代单;/nS(m_max+2)、在S(m_max+1)中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第m_max个CORDIC迭代单元;/nS(m_max+3)、当m_max行的数据全部走完上述步骤后,CORDIC迭代单元输出的第一个数据a=real(a),再根据div_en判断是否更新为1/a,若该a为0,则不变,更新后,分别从第i个CORDIC迭代单元输出上三角矩阵RR的第i行非零元素;/nS(m_max+3)、从RR矩阵中输出前m行的前n+1列元素组成上三角矩阵R输出。/n...

【技术特征摘要】
20200624 CN 20201059062681.一种低复杂度实现矩阵QR分解的方法,其特征在于,包括有如下步骤:
S1、设系统最大接收天线为m_max,最大层数为n_max,m_max>=n_max;
S2、获取复信道得出矩阵H及复接收信号向量y,H包含m行n列复数据,其中m>=n,y包含m行1列复信号,组成增广矩阵H1=[Hy];
S3、对矩阵H2,从第一行开始经过第一个CORDIC迭代单元,每个CORDIC迭代单元有相同结构;
S4、在S3中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第二个CORDIC迭代单元;
…以此类推;
S(m_max+1)、在S(m_max)中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第m_max-1个CORDIC迭代单;
S(m_max+2)、在S(m_max+1)中输出的每一行,从第二行开始,将每一行的第二列开始的数据,经过第m_max个CORDIC迭代单元;
S(m_max+3)、当m_max行的数据全部走完上述步骤后,CORDIC迭代单元输出的第一个数据a=real(a),再根据div_en判断是否更新为1/a,若该a为0,则不变,更新后,分别从第i个CORDIC迭代单元输出上三角矩阵RR的第i行非零元素;
S(m_max+3)、从RR矩阵中输出前m行的前n+1列元素组成上三角矩阵R输出。


2.根据权利要求1所述的一种低复杂度实现矩阵QR分解的方法,其特征在于,根据S2中的操作步骤,所述增广矩阵H1包含m行,n+1列,将复矩阵H1扩充为m_max行m_max+1列复矩阵H2,通过填0的方式扩充。


3.根据权利要求2所述的一种低...

【专利技术属性】
技术研发人员:谭定富
申请(专利权)人:上海擎昆信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1