[0033] 所述矩阵A是由所有用户的信道估计组成的系统矩阵,所述最大矩阵阶数M是阵列天线的天线根数,所述阶数N是一旦设备出现异常,部分天线损坏之后,剩余的有效天线根数,且N
[0034] 其中,根据所述N阶矩阵A和所述M-N阶矩阵B构造M阶矩阵C,包括:
[0035] 根据公式
[0036] 或
[0037] 将所述N阶矩阵A和所述M-N阶矩阵B构造为M阶分块对角矩阵C。
[0038] 与现有技术相比,本发明至少具有以下优点:
[0039] 该矩阵求逆方法逻辑简单,复杂度低,适用于各种灵活多变的场景,减少了逻辑判断,而且不会导致求逆过程的内存和计算量的改变。
附图说明
[0040] 为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041] 图1是本发明实施例一提供的一种数据信号的处理设备结构示意图;
[0042] 图2是本发明实施例二提供的一种数据信号的处理方法流程示意图。
具体实施方式
[0043] 矩阵在信号处理领域有着广泛的应用,在实际应用中,由于存在所处理的矩阵阶数的不确定性,可导致矩阵求逆方法不利于工程实现。具体的,现有技术中,存在以下问题:
[0044] (1)过于灵活,逻辑复杂。过于灵活的实现方法不适合工程实现,会导致设备中的逻辑判断复杂化,反而更容易出现问题,例如,天线噪声矩阵求逆的过程中,天线损坏根数不同将导致矩阵阶数不同,从而影响了矩阵求逆装置中的判断流程、内存以及计算量。
[0045] (2)矩阵求逆计算方法受到限制。对于分块矩阵求逆法来说,随着矩阵阶数不同,其被分成的子矩阵的维数也会变化,对于工程实现来说,需要支持各种阶数的子矩阵的求逆,增加了实现的复杂度,并会导致分块矩阵求逆法在工程中的应用受到限制。
[0046] (3)不固定阶数的矩阵会影响DSP(Digital Signal Processing,数字信号处理)和FPGA(Field Programmable Gate Array,现场可编程门阵列)等通用芯片的软件优化。目前通信设备中,常用的是DSP、FPGA等芯片,此类芯片的特点是采用软件流水优化技术,即通过对循环重新进行建构,使得每次迭代执行的指令是属于原循环不同迭代过程的。但是循环的次数如果不固定,则会使得该技术的效果有所降低,从而导致相对于固定循环次数而言,计算量大幅上升,最终影响设备性能。
[0047] 针对上述问题,本发明实施例提供一种数据信号的处理方法和设备,针对阶数不确定的矩阵,在不影响所要处理的矩阵求逆特性的情况下,将阶数不确定的矩阵求逆转化为阶数确定的矩阵求逆,从而适合工程应用。
[0048] 下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049] 实施例一
[0050] 本发明实施例一提供一种数据信号的处理设备,用于将阶数不确定的矩阵求逆转化为阶数确定的矩阵求逆,从而适用于灵活多变的场景。本发明实施例中,该设备适用的场景包括但不限于:通信系统协议(如TD-SCDMA系统)和其他领域工程。
[0051] 如图1所示,该数据信号的处理设备包括:N阶矩阵输入模块11、N阶矩阵阶数判断模块12、子矩阵构造模块13、M阶矩阵构造模块14、M阶矩阵求逆模块15、N阶矩阵求逆结果模块16。上述各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。其中:
[0052] N阶矩阵输入模块11,用于获取作为输入的数据信号的N阶矩阵A。
[0053] 本发明实施例中,输入的数据信号为根据实际情况计算出的N阶矩阵A,输出的数-1据信号为N阶矩阵A的逆矩阵A ;针对输入的数据信号N阶矩阵A,N阶矩阵输入模块11可获取到N阶矩阵A。
[0054] N阶矩阵阶数判断模块12,用于判断阶数N与最大矩阵阶数M(M为实际情况中支持的最大矩阵阶数)的大小关系,并当阶数N小于最大矩阵阶数M时,获得阶数判断结果M-N。
[0055] 子矩阵构造模块13,用于构造行列式不等于0的M-N阶矩阵B。
[0056] 其中,根据M-N的结果,子矩阵构造模块13可构造M-N阶矩阵B,在构造过程中,只要矩阵B的行列式不等于0(即det(B)≠0)即可,实际应用中可以任意构造行列式不等于0的M-N阶的矩阵B。例如,子矩阵构造模块13可以构造行列式不等于0的M-N阶单位矩阵为该矩阵B;该构造方式本发明实施例中不再详加赘述。
[0057] M阶矩阵构造模块14,用于根据N阶矩阵A和M-N阶矩阵B构造M阶矩阵C。具体的,M阶矩阵构造模块14具体用于根据公式
[0058]
[0059] 将N阶矩阵A和M-N阶矩阵B构造为M阶分块对角矩阵C。或者,M阶矩阵构造模块14还可用于根据公式
[0060]
[0061] 将N阶矩阵A和M-N阶矩阵B构造为M阶分块对角矩阵C。
[0062] M阶矩阵求逆模块15,用于对M阶矩阵C进行求逆计算得到逆矩阵D。本发明实施例中,该求逆方法可以根据实际需要任意选择,例如,选择Cholesky(乔立斯)分解法、分块矩阵求逆法等求逆方法,此处求逆方法不限,只用设计一种针对M阶矩阵的求逆方法即可。
[0063] N阶矩阵求逆结果模块16,用于根据逆矩阵D获得作为输出的数据信号的N阶矩-1阵A的逆矩阵A 。
[0064] 具体的,结合阶数判断结果,当M阶矩阵构造模块14根据公式
[0065]
[0066] 将N阶矩阵A和M-N阶矩阵B构造为M阶分块对角矩阵C时,N阶矩阵求逆结果模块16具体用于根据如下公式
[0067]
[0068] 获得N阶矩阵A的逆矩阵A-1,其中,dij为逆矩阵D的第i行第j列的元素,1≤i≤N,1≤j≤N。或者,
[0069] 当M阶矩阵构造模块14根据公式
[0070]
[0071] 将N阶矩阵A和M-N阶矩阵B构造为M阶分块对角矩阵C时,阶矩阵求逆结果模块16具体用于根据如下公式
[0072]
[0073] 获得N阶矩阵A的逆矩阵A-1,其中,dij为逆矩阵D的第i行第j列的元素,M-N+1≤i≤M,M-N+1≤j≤M。
[0074] 本发明实施例中,上述功能是针对N小于M时的功能,在N阶矩阵阶数判断模块12中,如果判断结果为确定阶数N等于最大矩阵阶数M;则可以分为以下情况:
[0075] 情况一:N阶矩阵阶数判断模块12将阶数判断结果通知给N阶矩阵求逆结果模块-116,由N阶矩阵求逆结果模块16根据N阶矩阵A获得N阶矩阵A的逆矩阵A(即直接对N-1
阶矩阵A执行求逆获得逆矩阵A )。
[0076] 情况二:当N阶矩阵阶数判断模块12确定阶数N等于最大矩阵阶数M时,即M-N=0,则子矩阵构造模块13不需要生成矩阵B,而当不存在矩阵B时,则M阶矩阵构造模块14可确定C=A。
[0077] 因此,M阶矩阵构造模块14还用于构造与N阶矩阵A相同的矩阵C’,M阶矩阵求逆模块15,还用于对矩阵C’进行求逆计算得到逆矩阵D’,N阶矩阵求逆结果模块16还用-1于根据逆矩阵D’获得N阶矩阵A的逆矩阵A 。
[0078] 上述为针对图1所示各个功能模块的功能描述,针对图1所示的设备结构图,相应的数据流程包括:
[0079] 首先输入的数据信号进入N阶矩阵输入模块11、由N阶矩阵输入模块11获取N阶矩阵A,之后由N阶矩阵阶数判断模块12将阶数判断结果分别发送给子矩阵构造模块13、M阶矩阵构造模块14和N阶矩阵求逆结果模块16;子矩阵构造模块13结合阶数判断结果输出矩阵B给M阶矩阵构造模块14;M阶矩阵构造模块14结合矩阵B和输入的数据信号输出M阶矩阵C给M阶矩阵求逆模块15;M阶矩阵求逆模块15输出逆矩阵D给N阶矩阵求逆结果模块16;N阶矩阵求逆结果模块16结合阶数判断结果,最终得到输出的数据信号A的逆-1矩阵A 。
[0080] 综上所述,本发明实施例中,针对阶数不确定的矩阵,在不影响所要处理的矩阵求逆特性的情况下,将阶数不确定的矩阵求逆转化为阶数确定的矩阵求逆,从而适合工程应用。该方法逻辑简单,复杂度低,适用于各种灵活多变的场景,减少了逻辑判断,同时不会导致求逆模块的内存和计算量的改变。而且对矩阵求逆算法没有限制,循环次数的固定更加适用于软件流水优化技术。
[0081] 实施例二
[0082] 基于上述的数据信号的处理设备,本发明实施例二提供一种数据信号的处理方法,针对阶数不确定的矩阵,在不影响所要处理的矩阵求逆特性的情况下,将阶数不确定的矩阵求逆转化为阶数确定的矩阵求逆,如图2所示,该方法包括:
[0083] 步骤201,矩阵求逆设备获取作为输入的数据信号的N阶矩阵A,并当阶数N小于最大矩阵阶数M时,构造行列式不等于0的M-N阶矩阵B。
[0084] 具体的,构造行列式不等于0的M-N阶矩阵B,包括:构造行列式不等于0的M-N阶单位矩阵为矩阵B。
[0085] 步骤202,矩阵求逆设备根据N阶矩阵A和M-N阶矩阵B构造M阶矩阵C,并对M阶矩阵C进行求逆计算得到逆矩阵D。
[0086] 具体的,根据N阶矩阵A和M-N阶矩阵B构造M阶矩阵C,包括:
[0087] 根据公式
[0088]
[0089] 将N阶矩阵A和M-N阶矩阵B构造为M阶分块对角矩阵C。或者,
[0090] 根据公式
[0091]
[0092] 将N阶矩阵A和M-N阶矩阵B构造为M阶分块对角矩阵C。
[0093] 步骤203,矩阵求逆设备根据逆矩阵D获得作为输出的数据信号的N阶矩阵A的逆矩阵A-1。
[0094] 具体的,根据逆矩阵D获得N阶矩阵A的逆矩阵A-1,包括:
[0095] 方式一:当根据公式
[0096]
[0097] 将N阶矩阵A和M-N阶矩阵B构造为M阶分块对角矩阵C时,则根据公式[0098]-1
[0099] 获得N阶矩阵A的逆矩阵A ,其中,dij为逆矩阵D的第i行第j列的元素,1≤i≤N,1≤j≤N。
[0100] 方式二:当根据公式
[0101]
[0102] 将N阶矩阵A和M-N阶矩阵B构造为M阶分块对角矩阵C时,则根据公式[0103]
[0104] 获得N阶矩阵A的逆矩阵A-1,其中,dij为逆矩阵D的第i行第j列的元素,M-N+1≤i≤M,M-N+1≤j≤M。
[0105] 本发明实施例中,当阶数N等于最大矩阵阶数M时,方法还包括:根据N阶矩阵A-1获得N阶矩阵A的逆矩阵A ;或者,构造与N阶矩阵A相同的矩阵C’,对矩阵C’进行求逆-1
计算得到逆矩阵D’,并根据逆矩阵D’获得N阶矩阵A的逆矩阵A 。
[0106] 实施例三
[0107] 为了更加清楚的阐述本发明实施例提供的技术方案,以TD-SCDMA系统中采用智能天线技术为例,由各个天线噪声组成的噪声相关矩阵Rn,假设天线根数为M,则Rn矩阵是M阶矩阵,表示如下:
[0108]
[0109] 实际应用中,如果第二根、第三根天线损坏,则Rn矩阵退化为(M-2)阶矩阵Rn,表示如下:
[0110]
[0111] 因此,退化后的Rn和原来的矩阵Rn相比,由于第二根和第三根天线的损坏,导致无法获得第二根、第三根天线和其他天线的相关结果。这种情况下,将Rn作为输入数据输入到本发明实施例提供的矩阵求逆设备,M阶矩阵构造模块14输出M阶矩阵Rn为:
[0112]
[0113] 其中B矩阵是一个2阶矩阵,为子矩阵构造模块13输出的结果,B矩阵要求其可逆,即det(B)≠0,简化处理时,可以使
[0114] 进一步的,M阶矩阵求逆模块15对Rn求逆,得到其逆矩阵Q,N阶矩阵求逆结果模块16根据Rn的逆矩阵与Q的关系输出最终结果
[0115]
[0116] 综上所述,本发明实施例中,针对阶数不确定的矩阵,在不影响所要处理的矩阵求逆特性的情况下,将阶数不确定的矩阵求逆转化为阶数确定的矩阵求逆,从而适合工程应用。该方法逻辑简单,复杂度低,适用于各种灵活多变的场景,减少了逻辑判断,同时不会导致求逆模块的内存和计算量的改变。而且对矩阵求逆算法没有限制,循环次数的固定更加适用于软件流水优化技术。
[0117] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0118] 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0119] 本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0120] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0121] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。