CN1168328C - 一种适用于软件无线电技术实现的迭代运算结构及方法 - Google Patents

一种适用于软件无线电技术实现的迭代运算结构及方法 Download PDF

Info

Publication number
CN1168328C
CN1168328C CNB021039151A CN02103915A CN1168328C CN 1168328 C CN1168328 C CN 1168328C CN B021039151 A CNB021039151 A CN B021039151A CN 02103915 A CN02103915 A CN 02103915A CN 1168328 C CN1168328 C CN 1168328C
Authority
CN
China
Prior art keywords
memory
common factor
sub
unit
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB021039151A
Other languages
English (en)
Other versions
CN1437417A (zh
Inventor
汪东艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Academy of Telecommunications Technology CATT
Original Assignee
Datang Mobile Communications Equipment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CNB021039151A priority Critical patent/CN1168328C/zh
Publication of CN1437417A publication Critical patent/CN1437417A/zh
Application granted granted Critical
Publication of CN1168328C publication Critical patent/CN1168328C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种适用于软件无线电技术实现的迭代运算结构,至少包括:处理器模块、中央控制单元、系统矩阵存储器、主/从公共因子发生器单元、主/从公共因子存储器;关键是:该处理器模块还包括一个以上结构相同的子处理模块,各子处理模块通过多根总线分别与上述各单元相连;每个子处理模块包括子处理器单元、存储器及复用单元,待处理数据经存储器、复用单元输入至子处理器单元处理,子处理器单元处理后的数据又作为下一步待处理数据输入存储器。本发明还同时公开了一种实现迭代运算的方法,采用上述方法和结构,能充分利用硬件资源,提高计算效率,减少硬件资源占用,加快运算处理速度,提高基带处理能力,且实现简单方便,具有良好的性能。

Description

一种适用于软件无线电技术实现的迭代运算结构及方法
技术领域
本发明涉及无线通信中的迭代运算技术,特别是指一种适用于软件无线电技术的,对多个处理器并行工作时多步迭代之间具有多个公共因子的迭代运算进行处理的结构及方法。
背景技术
目前,现代无线通信的主体是移动通信,参照国际电信联盟(ITU)建议M1225,移动通信是在复杂多变的移动环境下工作的,因此必须考虑严重的时变和多径传播的影响。在现代无线通信系统中,特别是在码分多址(CDMA)系统中,为了提高系统容量,提高系统灵敏度和在较低的发射功率下获得较远的通信距离,一般都希望使用智能天线与联合检测技术。
在许多公开发表的技术文献中,都涉及到对智能天线中波束赋形算法的研究,其研究结论是功能越强算法越复杂。然而在移动通信环境下,联合检测技术和波束赋形是必须实时完成的,且完成算法的时间只能以微秒计算。而受现代微电子技术水平的限制,在如此短的时间内,数字信号处理器(DSP)或专用芯片(ASIC)还不能实现过于复杂的实时处理。
另一方面,移动通信的技术和标准还在不断提出和更新,软件无线电技术日益受到高度重视。如何利用数字信号处理器(DSP)或可编程逻辑阵列(FPGA)等其它可编程器件,在公共硬件平台上解决各种不同制式的空间接口问题已成为世界各国众多通信公司的主要研究课题。而且,软件无线电不仅可用于用户终端,解决多模手持机的问题,它还将使用于无线基站。特别是在第三代移动通信技术和标准都还在不断更新的情况下,只有使用软件无线电技术,才可能使产品跟上技术的发展。
在软件无线电技术的实现技术中,已有研究表明可编程逻辑器件具有较好的性能,尤其是针对高并行性运算比目前广泛使用的DSP在性能上具有明显的优势,前者不但可以提高运算速度,更重要的是,它可通过有效而灵活的设计方法提高系统硬件的整体工作效率,即:尽可能使系统中所有逻辑资源处于有效工作状态,降低系统功率。这是目前一些专用芯片以至DSP都无法比拟的。然而,对于迭代性较高的运算,人们一般认为较难在FPGA中以较高的性能价格比来实现。以方程求解为例,比如:已知向量e和矩阵A,由式(1)求解向量 d,其中, A为m×m维非负定Hermite阵。
                  e= A· d                      (1)
那么,用传统方法求解时一般需要以下的三个迭代运算步骤:
步骤一:对矩阵A进行公式(2)所示的分解运算:
                   A=L*TL                   (2)
其中,L为下三角阵,L*T是L的共轭转置矩阵。
步骤二:完成公式(3)所示的迭代运算:
                    L*Ty=e                  (3)
其中,y为待求解的中间变量。
步骤三:完成公式(4)所示的迭代运算:
                   L d=y                     (4)
在上述求解过程中,当A矩阵的数据量很大时,为了提高处理速度,往往需要多个处理器(Processor)并行工作来完成上述各步骤。对于步骤一的运算来说,当采用N个处理器并行完成时,会得到如图2所示的结果,即在最初的运算时间T1内,所有的处理器Processor1,Processor2,...,ProcessorN均处于有效工作状态,而在T1<t<Tn时间段内,Processor1处于空闲状态,在T2<t<Tn时间段内,Processor2处于空闲状态,...,到Tn时间步骤一的运算完成。可以看出,处理器1寿命周期为T1,处理器2寿命周期为T2,处理器3寿命周期为T3,处理器4寿命周期为T4,...,处理器N-1寿命周期为T(n-1),处理器N寿命周期为Tn。当采用多处理器进行迭代运算时,如果各处理器的结构具有如图2所示的性能结构,则称这种运算特性为阶梯状运算特性。如果以Tn作为整个迭代运算的计算时间,则对于处理器1来说,其空闲时间为Tn-T1;对于处理器2来说,其空闲时间为Tn-T2;对于处理器3来说,其空闲时间为Tn-T3;对于处理器4来说,其空闲时间为Tn-T4;...;对于处理器N-1来说,其空闲时间为Tn-T(n-1)。由此,对于该迭代运算单元而言,所浪费掉的硬件资源为:N×Tn-(T1+T2+T3+T4+...+T(n-1))的处理器时间。这意味着,采用越多的处理器来完成,在提高处理速度的同时可能会带来更多的硬件资源浪费。对于步骤二和步骤三的处理运算也具备类似的问题。
基于上述分析,人们在实现这类迭代运算时多倾向于用DSP来实现,由此,人们不得不将一个完整的运算模块划分成多个运算子模块,即:对性能要求较高的并行性运算放在FPGA中实现,而将迭代性较高的运算放在DSP中实现。但是,由此带来了一系列负效应,最突出的就是增加了模块间数据通讯所带来的开销,降低了系统整体性能。由于不断改进的性能更高的智能天线和联合检测算法要求更高的基带处理能力和速度,目前性能最高的DSP或ASIC还不能实现过于复杂的实时处理。因而有必要寻求性能更高的处理方法。
发明内容
有鉴于此,本发明的主要目的在于提供一种适用于软件无线电技术实现的迭代运算结构及方法,使其能充分利用硬件资源,同时可提高计算效率,减少硬件资源占用,加快运算处理速度,提高基带处理能力,且实现简单方便,具有良好的性能。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种适用于软件无线电技术实现的迭代运算结构,至少包括:用于数据处理和计算的处理器模块;用于控制协调各模块工作的中央控制单元;用于存储系统矩阵数据的系统矩阵存储器;用于提取主运算因子的主公共因子发生器单元;用于产生从运算因子的从公共因子发生器单元;存储主运算因子的主公共因子存储器;存储从运算因子的从公共因子存储器;中央控制单元控制主公共因子发生器单元、从公共因子发生器单元和处理器模块;系统矩阵存储器的存储数据作为输入送至从公共因子发生器单元,从公共因子发生器单元与从公共因子存储器相连,从公共因子存储器的输出又与系统矩阵存储器的输入相连,主公共因子发生器单元与主公共因子存储器相连,主公共因子存储器的输出又连至从公共因子发生器单元的输入;
关键在于:该处理器模块进一步包括一个以上结构相同的子处理模块;每个子处理模块包括子处理器单元、存储器及复用单元,待处理数据经存储器、复用单元输入至子处理器单元处理,子处理器单元处理后的数据作为下一步待处理数据输入存储器;并且,每个子处理器单元将自身的输出结果同时作为计算下一次迭代运算主运算因子的输入送至主公共因子发生器单元;
中央控制单元通过总线与每个子处理模块的复用单元相连;数据分别由系统矩阵存储器、从公共因子存储器以及主公共因子存储器通过总线输入至所有子处理模块的子处理器单元处理。
所述子处理模块的个数根据待处理数据量的大小、完成相应运算所规定的时间以及可利用的硬件资源数量而定。
所述的子处理器单元进一步包括主运算模块和从运算模块,中央控制单元根据一定条件控制选择主运算模块或从运算模块工作。该一定条件是指当主运算模块或从运算模块进行计算所需的数据已全部产生。
本发明还同时提供了一种实现迭代运算的方法,采用包括处理器模块、中央控制单元、系统矩阵存储器、主/从公共因子发生器单元、主/从公共因子存储器的迭代运算结构;所述处理器模块进一步包括一个以上结构相同的子处理模块,每个子处理模块通过多根总线分别与上述各单元相连;每个子处理模块包括子处理器单元、存储器及复用单元;该方法包括以下步骤:
a.从存储系统矩阵的系统矩阵存储器取出未处理的数据作为输入参数,送入从公共因子发生器单元和处理器模块中的每个子处理器单元;同时,主公共因子存储器向从公共因子发生器单元提供参数,从公共因子发生器单元根据收到的参数计算从运算因子;
b.将步骤a所得到的从运算因子经从公共因子存储器存储后再输入每个子处理器单元,同时,主公共因子存储器向每个子处理器单元提供主运算因子,系统矩阵存储器根据系统矩阵向子处理器单元提供输入参数,计算本次迭代运算的中间结果;
c.将步骤b所得到的中间结果存储于存储器中,主公共因子发生器单元根据每个子处理器单元的输出以及步骤b计算的中间结果,迭代生成下一次迭代运算所需的主运算因子;同时,主公共因子存储器将所生成的主运算因子提供给每个子处理器单元,并为从公共因子发生器单元输入参数,生成下一次迭代运算所需的从运算因子;
d.判断系统矩阵存储器中是否存在未处理的数据,如果有,则返回步骤a;否则,结束迭代运算流程;
其中,一个以上子处理器单元进行迭代运算处理时,具有互补阶梯状运算特性的迭代运算在一定条件下由至少两个子处理器单元在同一时间片内完成。
上述方案中,所述具有互补阶梯状运算特性的两个迭代运算步骤间具有一个以上公共因子,且在以子处理器单元为纵轴,时间片为横轴形成的计算架构中,所述两个迭代运算每步子运算的计算结果之间呈互补阶梯形。所述迭代运算为一个以上不同的迭代运算步骤;或为同一迭代运算步骤的不同层迭代。所述一定条件为后一步迭代运算所需的所有数据已全部由前一步迭代运算产生;或为当前迭代运算步骤处理下一个数据所需的所有数据已全部由自身产生。
因此,本发明所提供的适用于软件无线电技术实现的迭代运算结构及方法,其具有以下的优点和特点:
1)由于iP结构和pP结构包含多个复用模块,可对可编程门阵列的逻辑资源进行复用,以达到在任一时间片上,能最大限度地利用可使用的逻辑资源,从而在最优利用资源的同时,可以获取最好的性能,即达到硬件使用极限。
2)iP结构中各子处理器单元同时并行工作,使得iP结构中各子处理器单元的寿命周期相同,从而使其能充分利用当前的硬件资源,提高资源利用率;并以较高的性能完成系统所要求的迭代运算,为用FPGA或其它类似器实现软件无线电提供了解决方案。
3)由于本发明只是针对整个运算结构的迭代部分进行了部分改进,而没有改变整体结构,因此实现起来简单方便且便于实时计算。
4)由于本发明在完成迭代运算时,针对迭代运算中所包含的多个迭代子运算抽取了公共因子,主运算模块和从运算模块在逻辑上分别是针对不同的迭代子运算,但硬件资源是复用在一起的,因此,采用这个方案占用资源少,计算效率高,且在完成迭代运算时可实现比目前性能最高的DSP更高的性能。
5)本发明用于移动通信系统中,将使其具有更高的容量和更好的性能,且大幅度提高基带处理能力,更有利于复杂基带算法的实现。
附图说明
图1为迭代运算器的组成结构示意图;
图2为按照传统方法完成迭代运算时,各处理器的寿命周期示意图;
图3为本发明迭代结构中的iP运算结构示意图;
图4为本发明实施例中所采用的pP运算结构示意图;
图5为本发明iP结构各子处理器单元的协同工作的寿命周期示意图;
图6为本发明实施例中计算实例的示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为一个迭代运算器的组成结构示意图,主要包括本发明的迭代运算结构,即iP结构10和pP结构30。其中,iP结构10是用于完成迭代运算的模块,pP结构30是用于完成扁平运算,即非迭代性运算的模块。如图1所示,iP结构10迭代运算出来的结果,即信号S101,作为pP结构30的输入;同时,信号S100为iP结构内中央控制单元输出的控制信号,可用于控制启动pP结构30中的模块进行相应的信号处理和计算,进而完成用户所要求的运算过程。
在无线通信系统中,每个用户传输的数据符号序列 d,一般是在信道估计的基础上根据接收信号 e (ka)恢复出来的。通常,信道估计是在信道估计模块中进行的,并在系统其它前序模块作用后得出相应的信道冲激响应,基于该信道冲激响应可得出系统矩阵 A (ka),本实施例正是利用该系统矩阵A (ka),由接收信号 e (ka)恢复出每个用户传输的数据符号序列 d的运算结构。
利用已得到的接收信号和系统矩阵来恢复用户传输数据符号序列,是采用下面方程实现的:
e ( k a ) = A ‾ ( k a ) · d ‾ + n ‾ ( k a ) - - - k a = 0 , . . . . . . K a - 1
其中, A (ka)就是特定天线所对应的信道冲激响应矩阵, d是发送端所发送的符号矢量, n (ka)是对应特定天线ka的干扰矢量, e (ka)即是对应特定天线ka所接收到的信号。本实施例的目的是要根据此方程求解出 d,相应地,可对所有Ka根天线求解。
为了简单说明算法结构,可暂不考虑参数 n (ka),则上述方程式可简化为:
                 e= A· d                      (5)
假定式(5)中 A是非负定Hermite阵,如果用传统方法求解同样需要三步迭代运算,而采用含有本发明iP结构的迭代运算结构求解,就只需一步迭代运算和两步扁平运算即可完成。本实施例采用一个复用的iP结构和一个复用的pP结构,其具体的实现过程、原理及达到效果同时参见图3、图4和图5所示详述如下。
如图3所示,采用本发明迭代运算结构求解方程的过程是这样的:
图3中的iP结构10主要包括中央控制单元100、系统矩阵存储器102、主公共因子发生器单元104、从公共因子发生器单元101,主公共因子存储器103、从公共因子存储器105和处理器模块106。中央控制单元100控制主公共因子发生器单元104、从公共因子发生器单元101和处理器模块106;系统矩阵存储器102中的存储数据作为输入送至从公共因子发生器单元101;从公共因子发生器单元101与从公共因子存储器105相连;从公共因子存储器105的输出又与系统矩阵存储器102的输入相连,因为系统矩阵存储器102的存储空间比从公共因子存储器105大很多,因此,从公共因子存储器105处理后的一些数据也会存储于系统矩阵存储器102中;主公共因子发生器单元104与主公共因子存储器103相连;主公共因子存储器103的输出又连至从公共因子发生器单元101的输入。
处理器模块106进一步包括U1、U2、...,Un等多个子处理模块,各个子处理模块又分别由子处理器单元P1、P2、...,Pn、存储器M1、M2、...,Mn及复用单元X1、X2、...,Xn构成,待处理数据经存储器M1、M2、...,Mn、复用单元X1、X2、...,Xn输入至子处理器单元P1、P2、...,Pn处理,子处理器单元P1、P2、...,Pn处理后的数据又作为下一步待处理数据输入存储器M1、M2、...,Mn;中央控制单元100通过总线与每个子处理模块的复用单元相连。对于每个子处理器单元P1、P2、...,Pn,输入数据来源于以下的几个部分:从系统矩阵存储器102来的待处理数据;来自从公共因子存储器105处理输出的数据;来自主公共因子存储器103的存储数据;以及来自存储器M1、M2、...,Mn的数据,这些数据均通过总线传输。子处理模块的具体个数是根据待处理数据量的大小、所要求的运算性能以及可利用的硬件资源的数量而定。各个子处理模块可以在中央控制单元100的调度和控制下并行工作,且各子处理模块的结构组成是相同的。
iP结构中的迭代运算至少包括以下三个步骤:
a)假定 A (ka)为已知的系统矩阵,并按照预定的方式存储于系统矩阵存储器102中,在中央控制单元100的控制下,系统矩阵存储器102根据系统矩阵 A (ka),向从公共因子发生器单元101及处理器模块106中的各子处理器单元P1、P2、...,Pn提供输入参数aij;与此同时,主公共因子存储器103向从公共因子发生器单元101提供参数lij,该lij的初始值设为0,则从公共因子发生器单元101根据式(6)运算得到从运算因子qj
q j = ( a jj - Σ k = 1 j - 1 l jk l jk * ) - 1 / 2 , j = 1,2 , . . . m - - - - - - ( 6 )
其中,aij是系统矩阵 A (ka)中的元素,l* jk是ljk的共轭复数,m为系统矩阵A的维数。
b)在中央控制单元100的控制下,从运算因子qj经中间从公共因子存储器105存储后被提供给每个子处理器单元P1、P2、...,Pn,同时,主公共因子存储器103向每个子处理器单元P1、P2、...,Pn提供主运算因子(pi1,pi2,...,pik),系统矩阵存储器102根据系统矩阵 A (ka)向子处理器单元P1、P2、...,Pn提供输入参数aij,进而计算中间结果lij和tij
以子处理模块U1为例,从运算因子qj、主运算因子pik以及系统矩阵元素aij输入到子处理模块U1后,存储器M1中的迭代数据进一步通过复用单元X1向子处理器单元P1内部的主运算模块或从运算模块输入参数,进而计算中间结果lij和tij。其中,子处理器单元P1中的主运算模块与从运算模块是复用模块。
子处理器单元P1中的主运算模块是根据式(7),主要用于计算中间结果lij
l ij = q j ( a ij - Σ k = 1 j - 1 p ik l jk * ) , i = 1,2 , . . . m ; j = 1,2 , . . . m - - - ( 7 )
式(7)中,αij是系统矩阵 A (ka)中的元素,qj是从运算因子,pik是主运算因子,l* jk是ljk的共轭复数,l* jk和ljk是iP结构的中间运算结果。
子处理器单元P1中的从运算模块是根据式(8),主要用于计算中间结果tij
t ij = - q j Σ k = j i - 1 ( p ik t kj ) , i = 1,2 , . . . m ; j = 1,2 , . . . m - - - - - - ( 8 )
式(8)中,qj是从运算因子,pik是主运算因子,tij是iP运算模块的运算结果,且满足tjj=qj
c)经过上述运算,由各子处理器单元计算得到的lij和tij被发送并存储于存储器M1、M2、...,Mn中。同时,主公共因子发生器单元104也将提取P1、P2、...,Pn的输出结果,作为其输入,用以产生下一次迭代运算所需的主运算因子pik,具体主运算因子pik的产生过程是根据公式(7),通过pik和lij之间的迭代关系计算得到的。主公共因子存储器103一方面为从公共因子发生器单元101提供输入参数lij,用以产生下一次迭代运算所需的从运算因子qj;另一方面为处理器模块106中的各子处理器单元P1、P2、...,Pn提供输入参数,即主运算因子pik
重复步骤a)至步骤c),直到系统矩阵存储器102中的所有数据被处理完毕,并被存储于M1、M2、...,Mn中。至此,在iP结构中的运算就全部结束,系统可进一步启动pP结构中下面的操作。当然,系统也可以在iP结构中所有操作尚未全部完成时,就开始pP结构的操作,如果采用此操作方式,则需要满足一定的条件,该条件就是:当pP结构所需要的参数已经产生后即可启动pP结构的运算。
在中央控制单元100的控制下,主公共因子发生器单元104、主公共因子存储器103、从公共因子发生器单元101、从公共因子存储器105与处理器模块106构成流水运算结构,即几个部分的数据流形成一条流水线似的运算结构。在所有运算时间段内,各硬件模块协同工作,有效地利用了硬件资源,并满足了系统对实时性的要求。
iP结构中的运算结束后,其最终的运算结果作为输入信号送至pP结构中,对式(5)进行最终求解。pP运算结构是一个扁平结构,所谓扁平结构就是:待求解向量中的所有元素都有均等的机会被求解,而没有求解先后次序的优先级,也就是说,该结构没有迭代性。
pP运算结构主要包括本地控制器302,复用的处理模块303,复用器305和306,共轭转置模块301和存储器304;S100、S101、S102是三个输入信号。本地控制器302同时控制复用的处理模块303、复用器305和306、共轭转置模块301和存储器304,处理模块303的输出通过存储器304输入至复用器306,iP结构的输出信号S101直接或通过共轭转置模块301输入复用器305,复用器305的输出连至复用的处理模块303,iP结构的控制信号S100直接连入本地控制器302。如图4所示,S100是iP结构内中央控制单元100输出的控制信号,用来启动pP结构中的本地控制器302;S101为iP结构的计算结果tij;S102是由系统输入的已知接收信号数据 e (ka)。pP结构所完成的功能操作主要包括以下两个步骤:
第一步:
r i = Σ k = 1 i t ik e k , i = 1,2 , . . . m - - - - - - ( 9 )
式(9)中,tik是由iP结构得出的结果向量,即图4中的信号S101;ek是接收数据向量 e (ka)中的元素,即图4中的信号S102;通过这一步骤所得出的结果是ri,即图4中的信号S105,它被存储于存储器304中,并进一步被用于下一步运算。
第二步:
d i = Σ k = i m t ik * r k , i = 1,2 , . . . m - - - - - - ( 10 )
式(10)中,t* ik是tik的共轭转置,即图4中的信号S106;di是发送端所发送的符号矢量 d中的元素,即图4中的信号S107;m是ri的长度。
在本地控制器302的控制下,复用器305和306分别选择信号S101、S106或S102、S105,并输出S103、S104,S103和S104是处理模块303的输入参数。经由上述两个步骤的运算,得到最终的输出结果--信号S107,即:本实施例所求的用户传输数据符号序列 d
本实施例虽然只求解出对应天线kad,同样地,可按本发明的结构与方法对所有Ka根天线求解。另外,在本实施例中,A矩阵被假定为非负定Hermite阵,在实际应用中,只要是A矩阵的顺序主子式不为零的情况下,均可利用类似的体系结构来实现,并达到较高的性能。
本发明所提出的迭代运算结构实现多处理器并行工作时,如图3所示的n个子处理器单元采用并行处理,从公式(7)和公式(8)所代表的迭代运算可以看出,由于本迭代结构针对两个迭代运算抽取了公共因子qj和pik,并复用了公共运算模块,即子处理器单元P1、P2、...,Pn中的主运算模块和从运算模块,便可达到如图5所示的性能,即各子处理器单元的寿命周期基本相同。举例而言,在上述利用方程系数矩阵求解方程的过程中,假定系数矩阵A为m×m维Hermite阵,采用m个处理器并行处理,在本实例中n=m。由于矩阵A为Hermite阵,因此,该矩阵能够通过三角分解生成两个共扼矩阵,且所生成矩阵的第i列(或行)元素与第i-1列元素具有特定的相关性,即:处理第2列(或行)的元素必须在第1列(或行)元素全部处理完毕的基础上,处理第3列(或行)的元素必须在第2列(或行)的元素全部处理完毕的基础上,...,以此类推。同时,处理公式(7)和(8)具有两个公共因子。那么,在t1时刻,m个处理器并行工作根据公式(7)处理矩阵A第1列(或行)的m个元素,得到m个非零元素;到t2时刻,m-1个处理器并行工作根据公式(7)处理矩阵A第2列(或行)的元素,得到m-1个非零元素,而与此同时,公式(8)的输入数据已经具备,此时处理器1根据公式(8)进行处理;到t3时刻,m-2个处理器并行工作根据公式(7)处理矩阵A第3列(或行)的元素,得到m-2个非零元素,处理器1、2根据公式(8)对第3列的元素进行处理;...;以此类推。当m=5时,可得如图6所示的情况,其中,P1至P5代表5个处理器,T1至T5代表5个时刻,正斜线填充的部分为公式(7)所代表的迭代子运算的计算结果,反斜线填充的部分为公式(8)所代表的迭代子运算的计算结果,正斜线部分与反斜线部分具有互补的阶梯状运算特性,也就是说:公式(7)、公式(8)所有迭代子运算的计算结果分别呈阶梯形,且两个阶梯形互补,即两个阶梯形能够互相填充形成一矩形。其中网格线填充部分的元素是在本发明所示的实施例中由从公共因子发生器单元101完成的,从而计算出公式(7)和(8)所需的运算因子。如此,各子处理器单元的寿命周期都接近Tn,这意味着,硬件资源被充分利用,不仅可提高运算效率,而且可极大地提高资源利用率。
上述实施例主要是应用于无线通信系统软件无线电算法的迭代算法实现中,本发明所涉及的运算结构及实现方法,为在单片大规模可编程逻辑器件上实现软件无线电提供了高性能的解决方案,由于该方案充分利用了硬件逻辑资源,因而具有很高的性能价格比。同时,本发明只要在输入信号和组成结构上略加改动,可适用于其它多种需要求解多元线性方程的场合,如图像处理系统、模式识别系统等,只要在多元线性方程所对应的系数矩阵的顺序主子式不为零的情况下,或是某种运算具有如图2所示的阶梯状运算特性,则多个互补的阶梯状运算特性的运算均可利用类似的体系结构来实现,并达到较高的性能,从而获得更高的性价比。
本发明所涉及的硬件体系结构完全可用于基于迭代运算硬核和软核的设计中,这种硬件结构为高性能专用芯片的设计提供了解决方案。
总之,以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (8)

1、一种适用于软件无线电技术实现的迭代运算结构,至少包括:用于数据处理和计算的处理器模块;用于控制协调各模块工作的中央控制单元;用于存储系统矩阵数据的系统矩阵存储器;用于提取主运算因子的主公共因子发生器单元;用于产生从运算因子的从公共因子发生器单元;存储主运算因子的主公共因子存储器;存储从运算因子的从公共因子存储器;中央控制单元控制主公共因子发生器单元、从公共因子发生器单元和处理器模块;系统矩阵存储器的存储数据作为输入送至从公共因子发生器单元,从公共因子发生器单元与从公共因子存储器相连,从公共因子存储器的输出又与系统矩阵存储器的输入相连,主公共因子发生器单元与主公共因子存储器相连,主公共因子存储器的输出又连至从公共因子发生器单元的输入;
其特征在于:该处理器模块进一步包括一个以上结构相同的子处理模块;每个子处理模块包括子处理器单元、存储器及复用单元,待处理数据经存储器、复用单元输入至子处理器单元处理,子处理器单元处理后的数据作为下一步待处理数据输入存储器;并且,每个子处理器单元将自身的输出结果同时作为计算下一次迭代运算主运算因子的输入送至主公共因子发生器单元;
中央控制单元通过总线与每个子处理模块的复用单元相连;数据分别由系统矩阵存储器、从公共因子存储器以及主公共因子存储器通过总线输入至所有子处理模块的子处理器单元处理。
2、根据权利要求1所述的结构,其特征在于:所述子处理模块的个数根据待处理数据量的大小、完成相应运算所规定的时间以及可利用的硬件资源数量而定。
3、根据权利要求1所述的结构,其特征在于:所述的子处理器单元进一步包括主运算模块和从运算模块,中央控制单元根据一定条件控制选择主运算模块或从运算模块工作。
4、根据权利要求3所述的结构,其特征在于:所述的一定条件是指当主运算模块或从运算模块进行计算所需的数据已全部产生。
5、一种实现迭代运算的方法,采用包括处理器模块、中央控制单元、系统矩阵存储器、主/从公共因子发生器单元、主/从公共因子存储器的迭代运算结构;所述处理器模块进一步包括一个以上结构相同的子处理模块,每个子处理模块通过多根总线分别与上述各单元相连;每个子处理模块包括子处理器单元、存储器及复用单元;其特征在于,该方法包括以下步骤:
a.从存储系统矩阵的系统矩阵存储器取出未处理的数据作为输入参数,送入从公共因子发生器单元和处理器模块中的每个子处理器单元;同时,主公共因子存储器向从公共因子发生器单元提供参数,从公共因子发生器单元根据收到的参数计算从运算因子;
b.将步骤a所得到的从运算因子经从公共因子存储器存储后再输入每个子处理器单元,同时,主公共因子存储器向每个子处理器单元提供主运算因子,系统矩阵存储器根据系统矩阵向子处理器单元提供输入参数,计算本次迭代运算的中间结果;
c.将步骤b所得到的中间结果存储于存储器中,主公共因子发生器单元根据每个子处理器单元的输出以及步骤b计算的中间结果,迭代生成下一次迭代运算所需的主运算因子;同时,主公共因子存储器将所生成的主运算因子提供给每个子处理器单元,并为从公共因子发生器单元输入参数,生成下一次迭代运算所需的从运算因子;
d.判断系统矩阵存储器中是否存在未处理的数据,如果有,则返回步骤a;否则,结束迭代运算流程;
其中,一个以上子处理器单元进行迭代运算处理时,具有互补阶梯状运算特性的迭代运算在一定条件下由至少两个子处理器单元在同一时间片内完成。
6、根据权利要求5所述的方法,其特征在于:所述迭代运算为一个以上不同的迭代运算步骤;或为同一迭代运算步骤的不同层迭代。
7、根据权利要求5或6所述的方法,其特征在于:所述一定条件为后一步迭代运算所需的所有数据已全部由前一步迭代运算产生;或为当前迭代运算步骤处理下一个数据所需的所有数据已全部由自身产生。
8、根据权利要求5所述的方法,其特征在于:所述具有互补阶梯状运算特性的两个迭代运算步骤间具有一个以上公共因子,且在以子处理器单元为纵轴,时间片为横轴形成的计算架构中,所述两个迭代运算每步子运算的计算结果之间呈互补阶梯形。
CNB021039151A 2002-02-07 2002-02-07 一种适用于软件无线电技术实现的迭代运算结构及方法 Expired - Lifetime CN1168328C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021039151A CN1168328C (zh) 2002-02-07 2002-02-07 一种适用于软件无线电技术实现的迭代运算结构及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021039151A CN1168328C (zh) 2002-02-07 2002-02-07 一种适用于软件无线电技术实现的迭代运算结构及方法

Publications (2)

Publication Number Publication Date
CN1437417A CN1437417A (zh) 2003-08-20
CN1168328C true CN1168328C (zh) 2004-09-22

Family

ID=27627935

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021039151A Expired - Lifetime CN1168328C (zh) 2002-02-07 2002-02-07 一种适用于软件无线电技术实现的迭代运算结构及方法

Country Status (1)

Country Link
CN (1) CN1168328C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135581B (zh) * 2016-01-20 2020-11-06 中科寒武纪科技股份有限公司 用于执行人工神经网络反向运算的装置和方法
CN109993275B (zh) * 2017-12-29 2021-01-29 华为技术有限公司 一种信号处理方法及装置

Also Published As

Publication number Publication date
CN1437417A (zh) 2003-08-20

Similar Documents

Publication Publication Date Title
Zhu et al. An efficient hardware accelerator for structured sparse convolutional neural networks on FPGAs
Geng et al. FPDeep: Acceleration and load balancing of CNN training on FPGA clusters
CN109447241B (zh) 一种面向物联网领域的动态可重构卷积神经网络加速器架构
US8589660B2 (en) Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
CN1900927A (zh) 可重构数字信号处理器
CN100449522C (zh) 基于多fpga的矩阵乘法并行计算系统
CN104899182A (zh) 一种支持可变分块的矩阵乘加速方法
CN101031901A (zh) 用于不同通信标准的同步实现的低功率可重构体系
CN102043761B (zh) 一种基于可重构技术的傅立叶变换的实现方法
CN101763445B (zh) 一种高光谱图像降维芯片
CN104317768B (zh) 面向cpu+dsp异构系统的矩阵乘加速方法
CN107341133B (zh) 基于任意维数矩阵lu分解的可重构计算结构的调度方法
CN1700637A (zh) 一种新型的椭圆曲线密码协处理器
You et al. RSNN: A software/hardware co-optimized framework for sparse convolutional neural networks on FPGAs
Wang et al. A low-latency sparse-winograd accelerator for convolutional neural networks
CN1808419A (zh) 一种实时快速傅立叶变换电路
CN1168328C (zh) 一种适用于软件无线电技术实现的迭代运算结构及方法
CN1858999A (zh) 伪随机序列发生装置
Sun et al. Throughput-optimized frequency domain cnn with fixed-point quantization on fpga
CN109472734A (zh) 一种基于fpga的目标检测网络及其实现方法
CN100547580C (zh) 用于实现可变大小的快速正交变换的方法和装置
CN101847086A (zh) 一种基于循环雅克比的实对称阵特征分解装置
CN1729464A (zh) 在阵列处理器上的划分
Chen et al. A flexible and energy-efficient convolutional neural network acceleration with dedicated ISA and accelerator
WO2003050705A2 (en) Method and system for managing hardware resources to implement system acquisition using an adaptive computing architecture

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of registration: 20070510

Pledge (preservation): Pledge

PE01 Entry into force of the registration of the contract for pledge of patent right

Effective date of registration: 20070510

Pledge (preservation): Pledge

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20100413

Granted publication date: 20040922

Pledgee: National Development Bank

Pledgor: Datang Mobile Communications Equipment Co|Shanghai Datang Mobile Communications Equipment Co|Telecom Research Institute of science and technology

Registration number: 2007110000354

ASS Succession or assignment of patent right

Owner name: INST OF TELECOMMUNICATION SCIENCE AND TECHNOLGOY

Free format text: FORMER OWNER: DATANG MOBILE COMMUNICATION EQUIPMENT CO., LTD.

Effective date: 20110706

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 NO. 40, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 100191 NO. 40, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20110706

Address after: 100191 Haidian District, Xueyuan Road, No. 40,

Patentee after: Inst of Telecommunication Science and Technolgoy

Address before: 100083 No. 40, Haidian District, Beijing, Xueyuan Road

Patentee before: Datang Mobile Communication Equipment Co., Ltd.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20040922