CN1582544A - 用于线性系统方案数组处理 - Google Patents

用于线性系统方案数组处理 Download PDF

Info

Publication number
CN1582544A
CN1582544A CNA028221311A CN02822131A CN1582544A CN 1582544 A CN1582544 A CN 1582544A CN A028221311 A CNA028221311 A CN A028221311A CN 02822131 A CN02822131 A CN 02822131A CN 1582544 A CN1582544 A CN 1582544A
Authority
CN
China
Prior art keywords
matrix
array
data
processing element
take advantage
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.)
Pending
Application number
CNA028221311A
Other languages
English (en)
Inventor
彼德·E·贝克
史帝芬·西恩·瑟普利
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.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology Corp
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 InterDigital Technology Corp filed Critical InterDigital Technology Corp
Publication of CN1582544A publication Critical patent/CN1582544A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7097Interference-related aspects
    • H04B1/7103Interference-related aspects the interference being multiple access interference
    • H04B1/7105Joint detection techniques, e.g. linear detectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7097Interference-related aspects
    • H04B1/7103Interference-related aspects the interference being multiple access interference
    • H04B1/7105Joint detection techniques, e.g. linear detectors
    • H04B1/71055Joint detection techniques, e.g. linear detectors using minimum mean squared error [MMSE] detector

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明揭示解决线性系统的处理元素。其中一种具体实施例是将该矩阵一对角线上的矩阵元素投影在纯量处理元素中,以便决定出一克洛斯基(Cholesky)因子。另一种具体实施例是使用二维的纯量数组决定出一克洛斯基因数。一第三种具体实施例则是使用一可重组的纯量线性数组决定出一克洛斯基因数,并且进行正向替换及逆向替换。对一有限带宽的矩阵来说,必须减少这些具体实施例中所使用的处理器数量。将这些处理器折叠便可减少这些具体实施例中所使用的处理器数量。另一种具体实施例则是使用可重组的一处理元素决定出一克洛斯基因数,并且进行逆向替换及正向替换。

Description

用于线性系统方案数组处理
技术领域
本发明涉及解决线性系统。具体地说,本发明是关于使用数组处理来解决线性系统的问题。
背景技术
线性系统方案可用以解决许多的工程问题。其中一项问题为,在使用码分多址(CDMA)的分时双工(TDD)通信系统中进行多重用户信号的接合(joint)用户侦测。在此系统中,多位用户会在相同固定长度的时间区间(时间槽)中同时传送多重通信突发数据。所述多重突发数据都是以不同的扩展码进行传输。在传输期间,每个突发数据都会经历一信道响应。其中一种从已经传输的突发数据之中将数据还原的方式便是接合侦测,其中所有的用户数据会同时被接收。图1所示的便是此种系统。接合(joint)侦测接收器可使用于用户设备或基站。
当多重突发数据(burst)90经历过其信道响应之后,会在一天线92或天线数组中以组合接收信号的形式被接收。所接收到的信号会被一解调器94降至基频,并且由一个或多个模拟至数字转换器(ADC)96以所述编码的码片率(或其倍数)进行取样,以便产生一接收向量 r。信道估算组件98会使用一连串的通信突发数据(burst)部分来估算所述突发数据90的信道响应。接合侦测组件100则会使用经过估算或已知的用户突发数据扩展码以及经过估算或已知的信道响应来算所有用户原来所传输的数据,形成一数据向量 d
接合侦测问题的模型通常可以方程式1来表示。
A d+ nr                                   方程式1
d是传输数据向量; r是接收向量; n是附加的白高斯噪声(AWGN);而A则是将信道响应与已知的扩展码进行卷积计算之后所构成的M×N矩阵。
解方程式1的方式有两种,一种是迫零(ZF)法,另一种则是最小均方误差(MMSE)法。方程式2为一ZF方案,其中假设 n近似于零。
d=(AHA)-1AH r                             方程式2
方程式3及4为一MMSE法。
d=R-1AHr                                 方程式3
R=AHA+σ2I                               方程式4
σ2是噪声 n的变异数,I则是单位矩阵(identity matrix)。
因为已经估算出或已经知道扩展码、信道响应及噪声变异数的平均值,而且所接收的向量也是已知的,因此只有数据向量 d是未知的变量。任何一种方式的蛮力方案(brute force)(例如直接矩阵倒置)都过度复杂。其中一种降低复杂度的方式便是克洛斯基分解。克洛斯基算法可将对称正有限矩阵(例如 或R)以方程式5的方式分解成一下三角矩阵G以及一上三角矩阵GH
或R=GGH                                         方程式5
一对称正有限矩阵
Figure A0282213100153
可以方程式6的方式,将A矩阵乘以其共轭转置(赫密逊(hermetian))矩阵AH便可产生。
A ~ = A H A   方程式6
为简单起见,可以方程式7定义
Figure A0282213100155
r ~ = A H r ‾   方程式7
因此,针对ZF及MMSE两种方式,可分别将方程式1改写成方程式8及9。
A ~ d ‾ = r ~   方程式8
R d ‾ = r ~   方程式9
为解出方程式8或9,可依照方程式10的方式使用克洛斯基因数。
GG H d ‾ = r ~   方程式10
一变量y可以方程式11来定义。
GHd=y                                         方程式11
使用变量y,可将方程式10改写成方程式12。
Gy = r ~   方程式12
欲取得该数据向量而必须进行的最复杂的部分可以三个步骤来进行。在第一个步骤中,可以方程式13的方式,利用已经推导出来的对称正有限矩阵(例如 或R)产生G矩阵。
G=CHOLESKY(
Figure A02822131001512
或R)                                            方程式13
利用G矩阵,可以方程式14的方式,在方程式8中进行G矩阵的正向替换解出y。
y = FORWARDSUB ( G , r ~ )                                               方程式14
利用G矩阵的转置矩阵,GH,可以方程式15的方式,在方程式11中进行逆向替换解出 d
d=BACKWARD SUB(GH,y)                     方程式15
针对矩阵
Figure A0282213100162
或R(针对矩阵R可以雷同的方式来进行),可以下面的算法决定出方程式13的克洛斯基因数G。
for i=1:N
for j=max(1,i-P):i-1
    λ=min(j+P,N)
a i : λ , i = a i : λ , i - a i , j * · a i : λ , j ;
end for;
λ=min(i+P,N)
ai:λ,i=ai:λ,i/aii
end for;
G = A ~ orR ;
ad,e代表的是矩阵
Figure A0282213100165
或R在d列e行的元素。「:」代表的是「从...到...」运算子,例如「从j到N」;而(.)H代表的则是一共轭转置(赫密逊)运算子。
另一种解克洛斯基因数的方式则是使用N个平行向量处理器。每个处理器各映射到矩阵 或R其中一行。每个处理器中的行可以一变量μ来定义,其中μ=1:N。针对μ=1:N而言,该平行处理器子例程可看成下面的子例程。
j=1
while j<μ
  recv(gj:N,left)
  if μ<N
    send(gj:N,right)
end
a μ : N , μ = a μ : N , μ - g μ * g μ : N
j=j+l
end
a μ : N , μ = a μ : N , μ / a μμ
if μ<N
  send(aμ:N,μ,right)
end
recv(.,left)是从左方处理器接收的运算子;send(.,right)是传送至右方处理器的运算子;而gK,L则是来自邻近处理器的数值。
图2a-2h所示的便是此子例程。图2a所示的是接合侦测组件的向量处理器及相关的内存单元方块图。每个处理器501至50N(50)都是在该矩阵的行上面进行操作。因为矩阵G是一下三角矩阵,而矩阵
Figure A0282213100172
或R以其下三角部分便可作完整的定义,因此只需要使用到下三角元素(ak,l)即可。
图2b及2c所示的是所述处理器对其下方的单元可能进行的两种函数。在图2b中,下尖三角函数52会对μ处理器50下方的单元(aμμ至a)执行方程式16及17。
v ← a μ : N , μ / a μμ   方程式16
aμ:N,μ:=v                                    方程式17
「←」代表的是同时指派;「:=」代表的是循序(sequential)指派;而v则是已经传送给右方处理器的数值。
在图2c中,右尖三角函数52会对μ处理器50下方的单元执行方程式18及19。
v←μ                                           方程式18
aμ:N,μ:=aμ:N,μ-vμvμ:N                   方程式19
vk代表的是与第k个处理器50的右方数值相关的数值。
图2d-2g所示的是一4×4的矩阵G的数据流与函数。如图2d-2g所示,针对每个阶段1至4的处理来说,都会脱离最左边的处理器50,而下尖三角函数52则会从左边移往右边。为实现图2d-2g,该下尖三角形能够以执行该下尖三角函数的方式,实际取代朝右处理器或虚拟取代朝右处理器。
如图2h的阶段1所示,可于第四个处理器504后面增加(N-4)个朝右处理器50并且在每个处理器50之下矩阵对角线中增加(N-4)个单元,便可将所述元素扩大成N×N的矩阵及N个处理器50。在此配置中的处理会于N个阶段中进行。
不论是利用向量处理器来实现克洛斯基分解,或是将其直接分解成纯量处理器,两种方式的效率都非常差,因为在每个处理阶段之后都会有大量的处理资源闲置不用。
因此,希望以替代的方式来解决线性系统的问题。
发明内容
本发明提供的是用以解决线性系统的处理元素。其中一种具体实施例是将该矩阵对角线上的矩阵元素投影在纯量处理元素中,以便决定出克洛斯基(Cholesky)因数(factor)。另一种具体实施例则是使用二维的纯量(scalar)数组决定出克洛斯基因数。第三种具体实施例则是使用可重组的纯量线性数组决定出克洛斯基因数,并且进行正向替换及逆向替换。对有限带宽的矩阵来说,必须减少所述具体实施例中所使用的处理器数量。将所述处理器折叠便可减少所述具体实施例中所使用的处理器数量。另一种具体实施例则是使用可重组的处理元素决定出克洛斯基因数,并且进行正向替换及逆向替换。
附图说明
图1所示的是一接合侦测接收器的简图。
图2a-2h所示的是利用向量处理器来决定克洛斯基因数的示意图。
图3a及3b所示的是用以进行克洛斯基分解的N个纯量处理器的较佳具体实施例。
图4a-4e所示的是用以阐述克洛斯基分解的三维范例示意图。
图5a-5e所示的是用以将执行克洛斯基分解的向量处理器映射至纯量处理器的范例示意图。
图6a-6d是用以阐述纯量数组的处理流程的非带状矩阵,而图6e-6j则是用以阐述纯量数组的处理流程的带状矩阵。
图7所示的是沿着k轴将图4a的投影扩大成一N×N的矩阵的示意图。
图8a-8d所示的是用以阐述利用2D纯量数组中的纯量处理器之间的延迟的处理流程的示意图。
图8e所示的是一延迟元素示意图及其相关的方程式。
图9a所示的是将图8a-8d的纯量处理器数组投影至四个纯量处理器的1D数组的示意图。
图9b所示的是将相间处理器之间具有延迟的纯量处理器数组投影至四个纯量处理器的1D数组的示意图。
图9c-9n所示的是对相间处理器之间具有延迟的带状矩阵进行克洛斯基分解的处理流程。
图9o-9z所示的是针对处理带状矩阵的一线性数组进行内存存取的示意图。
图10a及10b所示的是将图9a及9b的投影数组扩大成N个纯量处理器。
图11a及11b所示的是将一倒数/平方根函数从图10a及10b的数组中分离出来。
图12a所示的是将每个处理器之间具有延迟的一正向替换数组投影至四个纯量处理器的示意图。
图12b所示的是将相间处理器具有延迟的一正向替换数组投影至四个纯量处理器的示意图。
图12c及12d所示的是正向替换的一星状及菱状函数所执行的方程式的示意图。
图12e所示的是对相间处理器之间具有同时指派的带状矩阵进行一正向替换的处理流程。
图12f-12j所示的是对相间处理器之间具有延迟的带状矩阵进行一正向替换的处理流程。
图12k-12p所示的是针对处理带状矩阵的一正向替换线性数组进行内存存取的示意图。
图13a及13b所示的是将图12a及12b的投影数组扩大成N个纯量处理器。
图14a-14d所示的是图12b的投影数组的处理流程示意图。
图15a所示的是将每个处理器之间具有延迟的一逆向替换数组投影至四个纯量处理器的示意图。
图15b所示的是将相间处理器之间具有延迟的一逆向替换数组投影至四个纯量处理器的示意图。
图15c及15d所示的是逆向替换的一星状及菱状函数所执行的方程式的示意图。
图15e所示的是对相间处理器之间具有同时指派的带状矩阵进行逆向替换的处理流程。
图15f-15j所示的是对相间处理器之间具有延迟的带状矩阵进行逆向替换的处理流程。
图15k-15p所示的是针对处理带状矩阵的一逆向替换线性数组进行内存存取的示意图。
图16a及16b所示的是将图15a及15b的投影数组扩大成N个纯量处理器。
图17a-17d所示的是图15b的投影数组的处理流程示意图。
图18a及18b所示的是具备分离的除法函数的图13a、13b、16a及16b中所示的数组。
图19a及19b所示的是用以决定矩阵G、正向替换及逆向替换的一可重组数组示意图。
图20a及20b所示的是从该可重组数组中分离出倒数/平方根函数的示意图。
图21a所示的是一双向折叠。
图21b所示的是一单向折叠。
图22a所示的是利用N个处理器实现双向折叠的方式。
图22b所示的是利用N个处理器实现单向折叠的方式。
图23所示的是一简单的可重组处理元素的较佳时间分段示意图。
具体实施方式
图3a及3b所示的是用以进行克洛斯基分解以便取得矩阵G的N个纯量处理器541至54N(54)的较佳具体实施例。虽然本方式可扩大成如图3a及3b所示般的N×N的矩阵G,不过,为简化起见,将针对4×4的矩阵G进行说明及解释。
图4a所示的是用以执行前面的算法的三维计算关系示意图。为简化起见,图4a所示的是用以处理一5乘5矩阵、带宽为3的示意图。每个节点所执行的函数显示于图4b-4e中。图4b中的五角函数执行的是方程式20及21。
y ← a in   方程式20
aout←y                                    方程式21
←代表的是同时指派。ain是从低阶至该节点的输入,而aout则是传送至高阶的输出。图4c是用以执行方程式22及23的平方函数。
y←z*                                      方程式22
aout←ain-|z|2                             方程式23
图4d是用以执行方程式24、25及26的八角函数。
y←w                                       方程式24
x←ain/w                                   方程式25
aout←x                                    方程式26
图4e是用以执行方程式27、28及29的圆形函数。
y←w                                       方程式27
x←z                                       方程式28
aout←ain-w*z                              方程式29
图5a所示的是用以将4×4矩阵G的向量式克洛斯基分解的第一阶段映射至二维的纯量式方法的第一阶段的示意图。如图5a所示,每个向量处理器52、54都会映射到至少一个纯量处理器56、58、60及62。每个纯量处理器56、58、60、62都会与一aij内存单元有关。每个处理器56、58、60、62所执行的函数显示于图5b-5e中。图5b显示的是用以执行方程式30及31的五角函数56。
y ← a ij   方程式30
aij:=y                                    方程式31
:=代表的是一循序指派。y代表的是传送至一下方处理器的一数值。图5c显示的是用以执行方程式32、33及34的一八角函数58。
y←w                                       方程式32
x←aij/w                                   方程式33
aij:=x                                    方程式34
w代表的是传送自一上方处理器的一数值。图5d显示的是用以执行方程式35及36的一正方形函数60。
y←z*                                     方程式35
aij:=aij-|z|2                             方程式36
x代表的是传送至右方处理器的数值。图5e显示的是用以执行方程式37、38及39的圆形函数62。
y←w                                     方程式37
x←z                                     方程式38
aij:=aij-w*z                            方程式39
图6a-6d所示的是在四个循序(sequential)阶段(阶段1至4)中,所述纯量处理器56、58、60、62中的数据流动情形。如图6a-6d所示,每当执行过一个阶段之后,便会遗弃一行处理器56、58。该过程必须进行四个处理循环,若是一般的情形,则必须进行N个循环。每个阶段都需要进行一个处理循环。如图5a所示,总共需要十个(10)纯量处理器方能决定出一个4×4的矩阵G。对一N×N的矩阵来说,所需要的处理器数量如方程式40所示。
Figure A0282213100221
  方程式40
图6e-6j所示的是一5乘5带状矩阵的处理流程示意图。作业中的处理器是以实线来表示。该带状矩阵的左下方程式有三个零值的项目(a41、a51、a52,图6e-6j中并未显示)。如图6e所示,第一阶段中是由上方的六个处理器进行作业。如图6f所示,阶段1中的六个主动处理器已经决定出g11、g21与g31以及三个中间值α22、α32及α33,所述数值可供阶段2来使用。
在阶段2中是由(α22、α32、α33
Figure A0282213100222
)六个处理器进行作业。如图6g(阶段3)所示,在阶段2中会决定出g22、g32与g42以及中间值β33、β43及β44。在图6h(阶段4)中,图中已经决定出g33、g43与g53以及中间值γ44、γ54及γ55。在图6i(阶段5)中,图中已经决定出g44与g54以及中间δ55。在图6j(最后一个阶段)中则可产生其余的数值g55。如所述附图所示,由于该矩阵的带状特性关系,作业时并不需要未加载的矩阵的左下方处理器,因而图中亦未将其示出。
如图7所示,图6a-6d的简图可扩大成一N×N矩阵。如该图所示,最上方的处理器56会执行一五角函数。八角函数处理器58会在第一行中往下延伸,亦会延伸至主对角线中的双用途的正方/五角处理器64(图中以两个组合图形表示)。其余的处理器66则都是双用途的八角/圆形处理器66(图中以两个组合图形表示)。此种结构仅需要使用纯量处理器,便可在N个处理循环中决定出一个N×N的矩阵G。
如果该矩阵的频带是有限的宽度的话,例如P,那么便可减少处理元素的数量。为作说明,如果P等于N-1的话,那么便会遗弃aN1的左下方处理器。如果P等于N-2的话,那么便会再遗弃两个处理器(aN-11及aN2)。
现在将配合图8a-8e及9a与9b进一步地解释减少纯量处理元素数量的情况。图8a-8e所示的是图6a-6d中四个(4)纯量处理器实现方式的一维执行面。如图8a所示,在每个同时连接之间都会插入图8e的延迟元素68。图8e的延迟元素68会依照方程式41将输入y延迟成一序列输出x。
y:=x                                     方程式41
对每个从t1开始的处理循环来说,所述处理器会以对角线(其代表的是执行面)所示般的方式进行处理。为作说明,在时间t1时,仅有α11的处理器56能进行作业。在t2时,仅有α21的处理器58能进行作业;在t3时,仅有α31及α22的处理器58、60能进行作业;依此类推,直到阶段4中,在t16时,便仅有α44的处理器56能进行作业。因此,整个处理在N个阶段中总共需要N2个时钟周期。
经由二维的纯量处理数组便能够对多个矩阵进行管路处理(pipelined)。如图8a-8d所示,所述处理器可在特殊的执行面中,t1至t16,进行作业。对一特定的阶段来说,在同一时间能够处理与执行面数量相同的矩阵数量。为作说明,针对阶段1,会沿着对角线t1处理一第一矩阵。对下个时钟周期而言,第一矩阵会递送至平面t2,而平面t1则可用以处理一第二矩阵。此种管路处理方式可不断地进行,用以处理任何数量的矩阵。管路处理的一项缺点是,其必须储存所有矩阵的数据,除非该矩阵数据可用性的排程使未受到任何阻碍。
都经由阶段1对一群矩阵进行管路处理之后,该群矩阵便会经由阶段2进行管路处理,并且持续进行到阶段N。利用管路处理,可大幅地提高该数组的总流量,并且增加处理器的使用率。
因为在每个时钟周期中,并不会使用到全部的处理器56、58、60、62,因此,当仅处理1个矩阵时,可通过于整个执行面中共享的方式,减少处理元素56、58、60、62的数量。图9a及9b所示的是两种用以减少处理元素的较佳实现方式。如图9a所示,第一行的处理元素56、58都有一条沿着所述矩阵的对角线垂直所述执行面的直线。因为每一条垂直线中的处理器56、58、60、62是在不同的处理循环中进行作业,因此可以下方所投影的单处理器66、64来执行其函数56、58、60、62。处理函数56及60是由一新的组合函数64来执行。处理函数58及62则是由新的组合函数66来执行。延迟元素68以及处理器之间的连接线同样会进行投影。虽然图中最左边的处理元素是一双函数的元素66,不过,对非带状的矩阵而言,亦可将该元素简化成仅需执行八角函数58。
图10a所示的是将图9a扩大成一N×N的矩阵G。如图10a所示,总共需要N个处理器66、64方能处理该N×N的矩阵G。如图3a所示,可以N个纯量处理器54来执行图10a的处理函数。当该矩阵为带状矩阵时,可以与频带(P)相同数量的纯量处理器来处理该矩阵G。
在图3a的实现方式中,每个处理器都是隔一个时钟周期才会使用到。偶数处理器会在其中一个循环中作业,而奇数处理器则会在下一个循环中作业。为作说明,图9a的处理器2(右边算起第二个)会在时间t2、t4及t6作业,而处理器3则会在t3及t5作业。因此,利用该处理数组,将该数组的输入交错配置之后,便能够决定出两个矩阵G。与图7的实现方式比较起来,此种方式能够大幅地提高处理器的使用率。
为缩短单一数组的处理时间,可使用图9b的实现方式。如图9b所示,该图中已经将相间处理器连接线之间的延迟元素移除。在时间t1时,仅有α11的处理器56能进行作业。不过,在t2时,α21,α22及α31的处理器58、60则都能进行作业。图9b同时显示将该数组出沿着垂直线(即沿着原始矩阵的对角线)进行投影。如图所示,延迟元素68的数量已经减半。利用此数组,N×N的矩阵G的处理时间为(NP-(P2-P)/2)。因此,可大幅地缩短单一矩阵G的处理时间。
图7、3a及3b实现方式的另一项优点是每个处理数组都可缩放成该矩阵频带的大小。对于具有较低频带数的矩阵来说(下对角元素为零),图7中这些元素的处理器58、66都会遗弃。就图3a及3b来说,因为下对角元素对应的是图9a及9b最左边的垂直线,所以,会将经由这些垂直线投影产生的处理器遗弃。以图9a作说明,该矩阵的频带中,a41、a31及a42的处理元素58、62为零值。因此,不必使用到最左边投影至处理器66的两个投影来进行该项处理。从而,所述实现方式可缩放成与该矩阵频带相等的大小。
图9c-9n所示的是针对一频带为3、相间连接线具有延迟元素、5乘5的带状矩阵的每个处理循环的时序图。图中所示的是在每个时间周期中,与每个处理器相关的数值。作业中的处理器是以实线来表示。如这些附图所示,该项处理是从图9c、阶段1、时间0的左上方处理器
Figure A0282213100251
经由该数组朝图9n、阶段5的右下方处理器(δ55)来进行。如这些附图所示,由于该矩阵的带状特性关系,作业时并不需要非带状矩阵的左下方处理器,因而图中亦未将其示出。
图9o-9z所示的是针对用以处理一5乘5的带状矩阵的线性数组(例如图9b)的每个处理循环的时序图及内存存取示意图。如图所示,由于该5乘5的矩阵的频带为3,因此仅需要三个处理器即可。从这些附图可看出,仅需要三个处理器便能处理该带状矩阵。图中同时显示出,每个阶段都具有非常高的处理器使用效率,其效率会随着N/p而增加。
为降低这些处理元素的复杂度,这些(被选出的)元素并不会执行除法及平方根函数。因为与加法、减法及乘法比较起来,在ASIC中比较难以实现除法及平方根计算。
唯一会执行除法或平方根计算的两个函数为五角及八角函数56、58。对特定的阶段来说,如图6a-6d所示,五角及八角函数56、58全都是在某一阶段的单行中来执行。明确地说,对这些行来说,最上方的是五角函数56,而其下面则是八角函数58。因为每个八角函数58会同时将其w输入指派给其y输出,因此,五角函数56的输出会向下流至整行,而不必直接储存任何aij的w值。八角函数58同样会使用w输入产生x输出,其亦会反馈至aij。在aij计算中的正方形及圆形函数60、62会使用到x输出。因此,仅需要决定出每个八角函数的x输出的数值即可。八角函数的x输出值为该八角函数58的aij除以其w输入数值,每个八角函数58的w输入值皆相同,而该值即为五角函数56的y输出值。因此,唯一需要执行除法/平方根函数的时候便是在计算八角函数58的x值的时候。
利用方程式34及30,每个八角函数的x值为该八角函数的aij除以该八角函数的aij的平方根值。对特定的阶段来说,如果以乘法取代每个八角处理器中的除法的话,便仅需要决定出该八角函数的aij的平方根值的倒数,而不必决定出其平方根值,如此便可仅让该八角处理器不必执行除法函数,并且能够简化该数组整体的复杂度。接着便可将该平方根值倒数当作与该八角函数相关的矩阵元素的aij储存起来,而不必储存其平方根值。如此作法对于后面的正向替换及逆向替换而言亦相当地方便,因为在这些算法中的除法函数全都变成倒数的倍数,因此可进一步地移除其它处理元素(即图12d与15d的x输出)中的除法计算。因为图9a与9b中的五角函数56是由相同的处理器64来执行,因此,可以单一的倒数/平方根电路70来实现这些处理器66、64,如图10a与10b所示,该电路具有一来自五角/正方处理器64的输入,以及一传送至处理器64的输出。该平方根倒数结果会在所有的处理器66之中递送。图11a及11b对应于图10a及10b。将该倒数/平方根函数70独立出来,可简化其它处理器66、64的复杂度。虽然可以一倒数电路及一平方根电路来实现该倒数/平方根电路70,不过较佳的是能够以查值表的方式来实现,明确地说,最好是以可场程序闸极数组(FPGA)的方式来实现,此方式的内存成本较低。
当决定出克洛斯基因数(G)之后,便可以图12a及12b中所示的正向替换方式来决定 y。该正向替换算法如下:
for j=1:N
y j = 1 g jj ( r j - Σ i = 1 j - 1 g ji y i )
end
对带状矩阵来说,其算法如下:
for j=1:N
for i=j+1:min(j+p,N)
   ri=ri-Gijrj
end for;
end for;
y=rj
gLK对应的是该克洛斯基矩阵G中L列K行的元素。
图12a及12b所示的是使用纯量处理器对一4×4的矩阵G进行正向替换的两种实现方式。处理器72、74会执行两种函数,图12c中的星状函数72以及图12d中的菱状函数74。星状函数72执行的是方程式42及43。
y←w                                      方程式42
x←z-w*gij                                方程式43
菱状函数74执行的是方程式44及45。
x←z/gij                                  方程式44
y←x                                      方程式45
在图12a中的处理元素的同时指派连接线之间插入延迟元素,并且对垂直于其执行面(t1至t7)的数组进行投影,如此便可将该数组投影在一线性数组中。将从 r1-r4所接收到的向量值输入该数组之后,便会从该数组输出y1-y4。因为菱状函数74仅会在主对角线上执行,因此,如图14a所示,可将该四个(4)处理元素数组扩大成使用N个处理元素来处理一N×N的矩阵。此数组所需要的处理时间为2N个循环。
因为每个处理元素仅会于相间处理循环中才使用到,因此,如图12b所示,可将一半的延迟元素移除。如图13b所示,可将所投影的线性数组扩大成任何的N×N矩阵。此数组所需要的处理时间为N个循环。
图14a-14d所示的是依照图13b的投影数组的处理元素循环所进行的作业情形。在图13a的第一循环中(t1),会将r1加载左边的处理器1(74),并且利用r1及g11决定出y1。在图14b的第二循环中(t2),会将r2及r3加载,并且对g31、g21及g22加以处理之后便可决定出y2。在图14c的第三循环中(t3),会将r4加载,并且加载g41、g42、g32、g33之后便可决定出y3。在图14d的第四循环中(t4),对g43及g44加以处理之后便可决定出y4
图12e-12j所示的是一5乘5的带状矩阵的每个处理循环的时序图。图12e中显示出于左下角具有三个零值项目(带宽为3)的矩阵的带状特性。
为显示出正向及克洛斯基分解能够使用相同的处理元素,所以图12f将从阶段6开始进行。阶段6是接续图9c-9n的最后一个阶段。
同样地,从图12k-12p可看出,图9o-9z的处理器亦可延伸用以执行正向替换。所述图都是从阶段6开始,接续克洛斯基分解的五个阶段。每个处理循环所执行的处理是从阶段6、时间0(图12k)进行到阶段6、时间4(图12o),然后产生最后的结果(图12p)。
当利用正向替换决定出变量y之后,便可利用逆向替换来决定数据向量。逆向替换可以下面的子例程来进行:
for j=N:1
d j = 1 g jj ( y j - Σ i = j + 1 N g ji * d i )
end
对带状矩阵来说,则可使用下面的子例程:
for j=N:1
y j = y j / G JJ H j ;
for i=min(1,j-P):j-1
y i = y i - G ij H y j
end for;
end for;
d=y;
(.)*代表的是复数共轭函数。gLK *代表的是针对该克洛斯基因数G所决定出来的对应元素的复数共轭值。YL则是 y的对应元素。
针对一4×4的矩阵来说,亦可利用如图15a及15b所示的星状及菱状函数76、78,以纯量处理器来实现逆向替换。不过,如图15c及15d所示,这些函数都是以矩阵G的数值的复数共轭值来进行的。因此,方程式42-45会分别变成46-49。
y←w                           方程式46
x ← z - w * g ij *   方程式47
x ← z / g ij *   方程式48
y←x                           方程式49
于处理器76、78之间的同时指派连接线中配置延迟元素68之后,便可将图15a的数组沿着整个执行面投影至一线性数组中。如图16a所示,此数组可扩大成一N×N的矩阵。将 y向量数值加载图16a的数组之后,便可输出数据向量 d。此数组需要2N个时钟周期方能决定出 d。因为相间处理器是在相间时钟周期中进行作业,因此可同时决定出两个 d
因为图16a中的每个处理器76、78仅会于在相间时钟周期中进行作业,因此,如图15b所示,可将相间的延迟元素移除。如图16b所示,图15b的投影数组可扩大用以处理一N×N的矩阵。此数组需要N个时钟周期方能决定出 d
图17a-17d所示的是依照图16b的投影数组的处理元素76、78的循环所进行的作业情形。在图17a的第一循环中(t1),会将y4加载,并且对g*44加以处理之后便可决定出d4。在图17b的第二循环中(t2),会将y2及y3加载,并且对g*43及g*33加以处理之后便可决定出d3。在图17c的第三循环中(t3),会将y1加载,并且对g*41、g*42、g*32及g*22加以处理之后便可决定出d2。在图17d的第四循环中(t4),对g*43及g*44加以处理之后便可决定出d1
从图15e-15j可看出,图12e-12j的处理器可延伸用以对带状矩阵执行逆向替换。图15e中显示出于左下角具有三个零值项目的矩阵的带状特性。
这些时序图都是从阶段7开始,其是接续在正向替换的阶段6后面。这些处理是从阶段7、时间0(图15f)开始,结束于阶段7、时间4(图15j)。在阶段7、时间4(图15j)之后,便可决定出所有的数据d1至d5
同样地,从图15k-15p可看出,图12k-12p的处理器亦可延伸用以执行逆向替换。所述图都是从阶段7开始,接续在正向替换的阶段6后面。每个处理循环所执行的处理是从阶段7、时间0(图15k)一直进行到产生最后的结果(图15p)。如图9c-9n、12e-12j及15e-15j所示,可将二维数组中的处理器数量减少,以便执行带状矩阵的克洛斯基分解、正向及逆向替换。如图9o-9z、12k-12p所示,可将线性数组中的处理器数量从矩阵的维度值减少成带状矩阵的带宽值。
如图18a及18b所示,为简化正向及逆向替换中个别处理元素72、74、76、78的复杂度,可将除法函数80从这些元素72、74、76、78之中独立出来。图18a及18b分别对应于图16a及16b。虽然与正向及逆向替换的处理元素72、74、76、78相关的数据并不相同,不过,这些元素72、74、76、78所执行的函数却完全相同。最右边的处理器74、78会利用除法器80来执行除法函数。该除法器80可以查值表的方式来实施,利用该表决定出一倒数值,再由最右边的处理器74、78将该倒数值使用于乘法运算中。因为在正向及逆向替换期间,克洛斯基计算所产生的倒数值已经存在内存之中,因此,欲进行正向及逆向替换的倒数值乘法运算时便可利用已经储存在内存中的倒数值。
因为三种计算过程(决定矩阵G、正向及逆向替换)的数据流完全相同,N或频带P,所以,可以相同的可重组数组来执行全部三种函数。如图19a及19b所示,该可重组数组的每个处理元素84、82都能够执行用以决定矩阵G的函数并且亦能够执行正向及逆向替换。最右边的处理器82能够执行五角/正方以及菱状函数64、74、78。其它的处理器84则能够执行圆形/八角以及星状函数66、72、76。当进行克洛斯基分解时,最右边的处理器82便会利用五角/正方函数64进行作业,而其它的处理器84则会以圆形/八角函数66进行作业。当进行正向及逆向替换时,最右边的处理器82便会利用菱状函数74、78进行作业,而其它的处理器84则会以星状函数72、76进行作业。较佳的是,处理器82、84都可进行重组以执行必要的函数。利用该可重组数组,每个处理元素82、84都能够执行正向及逆向替换中的两项算术函数并且能够执行克洛斯基分解中的四项函数,因此,每个处理元素82、84总共能够执行六项算术函数。这些函数则可以算术逻辑单元(ALU)以及适当的控制逻辑或其它构件来实施。
为简化该可重组数组中个别处理元素82、84的复杂度,较佳的是能够将该数组的倒数及平方根函数功能86抽出,由倒数及平方根组件86来执行。如图20a及20b所示,较佳的是,该倒数及平方根组件86能够以正向及逆向替换中的最右边的处理器82决定出欲使用于乘法运算中的倒数值,以及利用最右边的处理器数据决定出欲使用于乘法运算中且传送给这些处理器84的平方根值倒数值。较佳的是,能够以查值表的方式来决定该倒数值以及该倒数值/平方根。或者,该倒数及平方根函数方块86亦可能是一除法电路加上一平方根电路。
为进一步地减少处理器82、84的数量,可利用折叠技术。图21a及21b所示的便是折叠技术示意图。在折叠技术中,并不需要在线性系统方案中使用P个处理元素82、84,对Q条折叠来说,仅需要较少量(F)的处理元素即可。为作说明,如果P为九个(9)处理器82、84的话,那么,在三条(3)折叠中,便仅需要三个(3)处理器82、84即可。折叠技术的缺点为经过缩短的数组的处理时间会随着倍数值Q而增加。而其优点则是通常都可提高处理器的使用效率。对三条折叠来说,处理时间便会变成三倍。因此,必须在最小的处理器数量及所允许的处理数据的最大处理时间之间作取舍,以便选择出折叠的数量。
图21a所示的是双向折叠示意图,图中三条折叠中的四个处理元素761、762、763、764/78便可执行图11b的数组中十二个元素的函数。处理元素761、762、763、764/78之间并未放置延迟元素,取而代之的是会以双埠内存871、872、873、874(87)储存每条折叠的数据。虽然可如图12a的实现方式般于每条处理元素连接线之间都放置延迟元素(双端口内存86),不过,本图中是以图12b的实现方式般于相间的连接线之间才放置延迟元素。亦可以两组单埠内存来取代双埠内存。
在第一折叠中,每个处理器的数据会储存在折叠1地址中与其相关的双埠内存87内。来自该矩阵的数据亦会从内存单元881-884(88)输入至这些处理器761-763、764/78之中。因为数据并不会在折叠1处理器764/78与折叠3处理器761之间环绕,因此在这些处理器之间并不必使用双埠内存87。不过,因为在折叠1与折叠2的处理器761以及折叠2与折叠3的处理器764/78之间需要有一个地址,因此以虚线来代表双埠内存87。在第二折叠中,每个处理器的数据会储存在折叠2的内存地址内。来自该矩阵的数据亦会输入至折叠2的处理器761-763、764/78之中。折叠2的处理器761的数据是来自折叠1的处理器761,而该两个处理器761实际上是相同的,因此并不需要此条连接线(不过图中仍然将其显示出来)。在第三折叠中,每个处理器的数据会储存在折叠3的内存地址内。来自该矩阵的数据亦会输入至折叠3的处理器761-763、764/78之中。折叠3的处理器764/78的数据是来自折叠2的处理器764/78,因此亦不需要此条连接线。在下一个处理阶段中,该项程序则会重复折叠1。
图22a所示的是将图21a的双向折叠实现方式扩大成N个处理器761-76N-1、76N/78。这些处理器761-76N-1、76N/78可依照功能设计成一线性数组,用以存取该双埠内存87或两组单埠内存。
图21b所示的是图11b的数组的单向折叠示意图。在第一折叠中,每个处理器的数据会储存在与其相关的折叠1的双端口内存地址内。虽然,折叠1处理器764/78与折叠3处理器761实际上会互相连接,不过,作业中并没有数据会在这些处理器之间直接传输。因此,两者间的内存埠864可少储存一个地址。折叠2的处理器764/78则是以这些处理器之间的环状连接线有效地耦合至折叠1的处理器761。同样地,折叠3的处理器764/78则会有效地耦合至折叠2的处理器761
图22b所示的是将图21b的单向折叠实现方式扩大成N个处理器的示意图。这些处理器761-76N-1、76N/78可依照功能设计成围绕该双内存的环状构造。
为在折叠处理器中实现克洛斯基分解、正向及逆向替换,该数组中的处理器(例如764/78处理器)必须能够执行克洛斯基分解、正向及逆向替换的处理器的函数,而且每条折叠都必须具此功能。如图21a及21b中的处理器764/78所示。视实现方式而定,处理器所增加的必要能力可能会增加其实现方式的复杂度。为利用ALU来实现折叠技术,其中一个处理器(例如764/78处理器)必须能够执行十二项算术函数(正向及逆向替换有四项,而克洛斯基分解有八项),而其它的处理器则仅需要执行六项函数即可。
图23所示的是一简单的可重组PE的较佳时间分段,其可用以执行克洛斯基分解、正向替换及逆向替换所定义的全部六项函数。使用此PE时,已经将除法器隔离在其中一个PE(后面将称为PE1)中。较佳的是能使用两个时间分段,其中一时间分段用以产生x与y的实数部,另一时间分段则用以产生虚数部。标示符号r与i分别用以表示实数及虚数部。
信号w、x、y及z与前面PE函数定义中所定义的相同。信号aq与ad分别代表欲在特定处理循环中进行读取及/或写入的PE内存位置的目前状态及下一个状态。括号中的名称则代表第二个时间分段中会使用的信号。
此较佳的处理元素可适用于任何的PE中,不过,吾人仍然希望能够对PE1作最佳化处理,因为其与其它的PE不同,所执行的是除法函数。多任务器941至948的每个输入中如果标示有「0」的话,代表其仅供PE1使用;如果标示有「-」的话,代表其可供PE1以外的所有PE来使用;如果标示有「+」的话,则代表其可供所有PE来使用。除了PE1的实数时间片段的外,isqr输入都是连接至零值,而在PE1的实数时间片段中,该输入则是连接至用以产生aq r输入的平方根倒数的函数的输出端。此函数可以LUT方式来实施,其中配备一合宜的固定点字组大小的ROM。
如图23所示,乘法器961会将多任务器941及942的输出相乘。乘法器962会将多任务器943及944的输出相乘。加/减法电路99会将乘法器961及962的输出结合在一起。减法器99会将加/减法电路99的输出及多任务器945的输出结合在一起。减法器99的输出则会输入至多任务器948之中。

Claims (92)

1.一种用以决定一N乘N矩阵的一克洛斯基因数的装置,该装置包括:
一处理元素数组,该数组的每个处理元素会接收该N乘N矩阵的一对角线上的元素,并且可决定出该克洛斯基因数中一相应的对角线元素。
2.如权利要求1所述的装置,其特征在于,所述处理元素都是纯量处理元素。
3.如权利要求1所述的装置,其特征在于,该N乘N矩阵的一频带为P,而处理元素的数量为P,并且P小于N。
4.如权利要求1所述的装置,其特征在于,A是将信道响应以及与一接合侦测接收器相关联的已知扩展码进行卷积计算之后所构成的一矩阵,而该N乘N矩阵为AHA。
5.如权利要求1所述的装置,其特征在于,A是将信道响应以及与一接合侦测接收器相关联的已知扩展码进行卷积计算之后所构成的一矩阵,其中σ2是噪声的一变异数,I则是一单位矩阵,而该N乘N矩阵为AHA+σ2I。
6.一种用以还原以一接收向量的方式被接收到的多个数据信号的数据的接收器,该接收器会通过决定一N乘N矩阵的一克洛斯基因数以决定该接收向量的数据,该接收器包括:
一处理元素数组,该数组的每个处理元素会接收该N乘N矩阵的一对角线上的元素,并且可决定出该克洛斯基因数中一相应的对角线元素。
7.如权利要求6所述的接收器,其特征在于,所述处理元素都是纯量处理元素。
8.如权利要求6所述的接收器,其特征在于,该N乘N矩阵的一频带为P,而处理元素的数量为P,并且P小于N。
9.如权利要求6所述的接收器,其特征在于,A是将信道响应以及与所述数据信号相关联的已知扩展码进行卷积计算之后所构成的一矩阵,而该N乘N矩阵为AHA。
10.如权利要求6所述的接收器,其特征在于,A是将信道响应以及与所述数据信号相关联的已知扩展码进行卷积计算之后所构成的一矩阵,其中σ2是噪声的一变异数,I则是一单位矩阵,而该N乘N矩阵为AHA+σ2I。
11.一种用以还原以一接收向量的方式被接收到的多个数据信号的数据的用户设备,该用户设备会通过决定一N乘N矩阵的一克洛斯基因数以决定该接收向量的数据,该用户设备包括:
一处理元素数组,该数组的每个处理元素会接收该N乘N矩阵的一对角线上的元素,并且可决定出该克洛斯基因数中一相应的对角线元素。
12.如权利要求11所述的用户设备,其特征在于,所述处理元素都是纯量处理元素。
13.如权利要求11所述的用户设备,其特征在于,该N乘N矩阵的一频带为P,而处理元素的数量为P,并且P小于N。
14.如权利要求11所述的用户设备,其特征在于,A是将信道响应以及与所述数据信号相关联的已知扩展码进行卷积计算之后所构成的一矩阵,而该N乘N矩阵为AHA。
15.如权利要求11所述的用户设备,其特征在于,A是将信道响应以及与所述数据信号相关联的已知扩展码进行卷积计算之后所构成的一矩阵,其中σ2是噪声的一变异数,I则是一单位矩阵,而该N乘N矩阵为AHA+σ2I。
16.一种用以还原以接收向量的方式被接收到的多个数据信号的数据的基站,该基站会通过决定一N乘N矩阵的一克洛斯基因数以决定该接收向量的数据,该基站包括:
一处理元素数组,该数组的每个处理元素会接收该N乘N矩阵的一对角线上的元素,并且可决定出该克洛斯基因数中一相应的对角线元素。
17.如权利要求16所述的基站,其特征在于,所述处理元素都是纯量处理元素。
18.如权利要求16所述的基站,其特征在于,该N乘N矩阵的一频带为P,而处理元素的数量为P,并且P小于N。
19.如权利要求16所述的基站,其特征在于,A是将信道响应以及与所述数据信号相关联的已知扩展码进行卷积计算之后所构成的一矩阵,而该N乘N矩阵为AHA。
20.如权利要求16所述的基站,其特征在于,A是将信道响应以及与所述数据信号相关联的已知扩展码进行卷积计算之后所构成的一矩阵,其中σ2是噪声的一变异数,I则是一单位矩阵,而该N乘N矩阵为AHA+σ2I。
21.一种用以决定N乘N矩阵的一克洛斯基因数并且将所决定的克洛斯基因数用于正向及逆向替换中以解出一线性方程式的装置,该装置包括:
一最多N个纯量处理元素的数组,该数组具有一输入,用以接收该N乘N矩阵的元素,每个纯量处理元素是用以决定该克洛斯基因数并且用以执行正向及逆向替换,该数组会输出该接收向量的数据。
22.如权利要求21所述的装置,其特征在于,每个纯量处理器都是用以处理欲由用来决定该克洛斯基因数且执行正向及逆向替换的数组来处理的一矩阵的一对角线。
23.如权利要求21所述的装置,其特征在于,该N乘N矩阵的一频带为P,而该最多N个纯量处理元素的数量为P,并且P小于N。
24.如权利要求21所述的装置,进一步包括一平方根及倒数组件,其中该平方根及倒数组件仅会耦合至该数组的一单个纯量处理器,而且该数组中没有任何的纯量处理器能够执行一平方根及倒数函数。
25.如权利要求24所述的装置,其特征在于,该平方根及倒数组件会使用一查值表。
26.如权利要求22所述的装置,其特征在于,每个处理器会对该N乘N矩阵的多条对角线进行处理。
27.如权利要求26所述的装置,其特征在于,对多条折叠中任一条来说,每个纯量处理器会处理该N乘N矩阵的一单条对角线中的元素。
28.如权利要求27所述的装置,其特征在于,折叠的数量必须将纯量处理器的数量减少到最小的程度,并且让该N乘N矩阵的一处理时间小于允许的一最大值。
29.如权利要求27所述的装置,其特征在于,所述纯量处理器可依照功能设计成线性构造,其中数据可从两个方向流过该数组。
30.如权利要求22所述的装置,其特征在于,会有一延迟元素可运作地耦合在每个纯量处理器及能够同时处理两个N乘N矩阵的数组之间。
31.如权利要求22所述的装置,其特征在于,所有的纯量处理器都具有一共同的可重组的实现方式。
32.一种用以还原以一接收向量的方式被接收到的多个数据信号的数据的接收器,该接收器会通过决定一N乘N矩阵的一克洛斯基因数并且将所决定的克洛斯基因数用于正向及逆向替换中以决定所述被接收的数据信号的数据,该接收器包括:
一最多N个纯量处理元素的数组,该数组具有一输入,用以接收该N乘N矩阵的元素及该接收向量,每个纯量处理元素都是用以决定该克洛斯基因数并且用以执行正向及逆向替换,该数组会输出该接收向量的数据。
33.如权利要求32所述的接收器,其特征在于,每个纯量处理器都是用以处理欲由用来决定该克洛斯基因数且执行正向及逆向替换的数组来处理的一矩阵的一对角线。
34.如权利要求32所述的接收器,其特征在于,该N乘N矩阵的一频带为P,而该最多N个纯量处理元素的数量为P,并且P小于N。
35.如权利要求32所述的接收器,进一步包括一平方根及倒数组件,其中该平方根及倒数组件仅会耦合至该数组的一单个纯量处理器,而且该数组中没有任何的纯量处理器能够执行一平方根及倒数函数。
36.如权利要求35所述的接收器,其特征在于,该平方根及倒数组件会使用一查值表。
37.如权利要求33所述的接收器,其特征在于,每个处理器会对该N乘N矩阵的多条对角线进行处理。
38.如权利要求37所述的接收器,其特征在于,对多条折叠中任一条来说,每个纯量处理器会处理该N乘N矩阵的一单条对角线中的元素。
39.如权利要求38所述的接收器,其特征在于,折叠的数量必须将纯量处理器的数量减少到最小的程度,并且让该N乘N矩阵的处理时间小于允许的一最大值。
40.如权利要求38所述的接收器,其特征在于,所述纯量处理器可依照功能设计成线性构造,其中数据可从两个方向流过该数组。
41.如权利要求33所述的接收器,其特征在于,会有一延迟元素可运作地耦合在每个纯量处理器及能够同时处理两个N乘N矩阵的数组之间。
42.如权利要求33所述的接收器,其特征在于,所有的纯量处理器都具有一共同的可重组的实现方式。
43.一种用以还原以一接收向量的方式被接收到的多个数据信号的数据的用户设备,该用户设备会通过决定一N乘N矩阵的一克洛斯基因数并且将所决定的克洛斯基因数用于正向及逆向替换中以决定所述被接收的数据信号的数据,该用户设备包括:
一最多N个纯量处理元素的数组,该数组具有一输入,用以接收该N乘N矩阵的元素及该接收向量,每个纯量处理元素都是用以决定该克洛斯基因数并且用以执行正向及逆向替换,该数组会输出该接收向量的数据。
44.如权利要求43所述的用户设备,其特征在于,每个纯量处理器都是用以处理欲由用来决定该克洛斯基因数且执行正向及逆向替换的数组来处理的一矩阵的一对角线。
45.如权利要求43所述的用户设备,其特征在于,该N乘N矩阵的一频带为P,而该最多N个纯量处理元素的数量为P,并且P小于N。
46.如权利要求43所述的用户设备,进一步包括一平方根及倒数组件,其中该平方根及倒数组件仅会耦合至该数组的一单个纯量处理器,而且该数组中没有任何的纯量处理器能够执行一平方根及倒数函数。
47.如权利要求46所述的用户设备,其特征在于,该平方根及倒数组件会使用一查值表。
48.如权利要求44所述的用户设备,其特征在于每个处理器会对该N乘N矩阵的多条对角线进行处理。
49.如权利要求48所述的用户设备,其特征在于对多条折叠中任一条来说,每个纯量处理器会处理该N乘N矩阵的一单条对角线中的元素。
50.如权利要求49所述的用户设备,其特征在于,折叠的数量必须将纯量处理器的数量减少到最小的程度,并且让该N乘N矩阵的一处理时间小于允许的一最大值。
51.如权利要求49所述的用户设备,其特征在于,所述纯量处理器可依照功能设计成线性构造,其中数据可从两个方向流过该数组。
52.如权利要求44所述的用户设备,其特征在于,会有一延迟元素可运作地耦合在每个纯量处理器及能够同时处理两个N乘N矩阵的数组之间。
53.如权利要求44所述的用户设备,其特征在于,所有的纯量处理器都具有一共同的可重组的实现方式。
54.一种用以还原以一接收向量的方式被接收到的多个数据信号的数据的基站,该基站会通过决定一N乘N矩阵的一克洛斯基因数并且将所决定的克洛斯基因数用于正向及逆向替换中以决定所述被接收的数据信号的数据,该基站包括:
一最多N个纯量处理元素的数组,该数组具有一输入,用以接收该N乘N矩阵的元素及该接收向量,每个纯量处理元素都是用以决定该克洛斯基因数并且用以执行正向及逆向替换,该数组会输出该接收向量的数据。
55.如权利要求54所述的基站,其特征在于,每个纯量处理器都是用以处理欲由用来决定该克洛斯基因数且执行正向及逆向替换的数组来处理的一矩阵的一对角线。
56.如权利要求54所述的基站,其特征在于,该N乘N矩阵的一频带为P,而该最多N个纯量处理元素的数量为P,并且P小于N。
57.如权利要求54所述的基站,进一步包括一平方根及倒数组件,其中该平方根及倒数组件仅会耦合至该数组的一单个纯量处理器,而且该数组中没有任何的纯量处理器能够执行一平方根及倒数函数。
58.如权利要求57所述的基站,其特征在于,该平方根及倒数组件会使用一查值表。
59.如权利要求54所述的基站,其特征在于,每个处理器会对该N乘N的矩阵的多条对角线进行处理。
60.如权利要求59所述的基站,其特征在于,对多条折叠中任一条来说,每个纯量处理器会处理该N乘N的矩阵的一单条对角线中的元素。
61.如权利要求60所述的基站,其特征在于,折叠的数量必须将纯量处理器的数量减少到最小的程度,并且让该N乘N矩阵的一处理时间小于允许的一最大值。
62.如权利要求61所述的基站,其特征在于,所述纯量处理器可依照功能设计成线性构造,其中数据可从两个方向流过该数组。
63.如权利要求62所述的基站,其特征在于,会有一延迟元素可运作地耦合在每个纯量处理器及能够同时处理两个N乘N矩阵的数组之间。
64.如权利要求63所述的基站,其特征在于,所有的纯量处理器都具有一共同的可重组的实现方式。
65.一种用以决定一N乘N矩阵的一克洛斯基因数的装置,该装置包括:
一纯量处理元素数组,每个处理元素都与该N乘N矩阵中的一元素有关,并且可决定出该克洛斯基因数中一相应的元素。
66.如权利要求65所述的装置,其特征在于,每个纯量处理元素都仅与对该N乘N矩阵中一个元素有关。
67.如权利要求65所述的装置,进一步包括处理元素之间的延迟。
68.如权利要求67所述的装置,其特征在于,可利用该数组对多个N乘N矩阵进行管路处理。
69.如权利要求68所述的装置,其特征在于,该数组会于多个阶段中处理一N乘N矩阵,在每个阶段中,所有处理元素可作业的时间都短于一个处理循环。
70.如权利要求69所述的装置,其特征在于,所述全部多个N乘N矩阵都必须在所述多个阶段的其中一个阶段中都经过处理之后方能进入一下个阶段。
71.如权利要求70所述的装置,其特征在于,对所述多个N乘N矩阵中的每个N乘N矩阵来说,都会先将每个阶段的一处理结果储存之后方能进入一下个阶段。
72.一种用以接收多个数据信号当作一接收向量的接收器,该接收器会通过决定一N乘N矩阵的一克洛斯基因数以决定该接收向量的数据,该接收器包括:
一纯量处理元素数组,每个处理元素都与该N乘N矩阵中的一元素有关,并且可决定出该克洛斯基因数中一相应的元素。
73.如权利要求72所述的接收器,其特征在于,每个纯量处理元素都仅与对该N乘N矩阵中一个元素有关。
74.如权利要求72所述的接收器,进一步包括处理元素之间的延迟。
75.如权利要求74所述的接收器,其特征在于,可利用该数组对多个N乘N矩阵进行管路处理。
76.如权利要求75所述的接收器,其特征在于,该数组会于多个阶段中处理一N乘N矩阵,在每个阶段中,所有处理元素可作业的时间都短于一个处理循环。
77.如权利要求76所述的接收器,其特征在于,所述全部多个N乘N矩阵都必须在所述多个阶段的其中一个阶段中都经过处理之后方能进入一下个阶段。
78.如权利要求77所述的接收器,其特征在于,对所述多个N乘N矩阵中的每个N乘N矩阵来说,都会先将每个阶段的一处理结果储存之后方能进入一下个阶段。
79.一种用以还原以一接收向量的方式被接收到的多个数据信号的数据的用户设备,该用户设备会通过决定一N乘N矩阵的一克洛斯基因数以决定该接收向量的数据,该用户设备包括:
一纯量处理元素数组,每个处理元素都与该N乘N矩阵中的一元素有关,并且可决定出该克洛斯基因数中一相应的元素。
80.如权利要求79所述的用户设备,其特征在于,每个纯量处理元素都仅与对该N乘N矩阵中一个元素有关。
81.如权利要求79所述的用户设备,进一步包括处理元素之间的延迟。
82.如权利要求81所述的用户设备,其特征在于,可利用该数组对多个N乘N矩阵进行管路处理。
83.如权利要求82所述的用户设备,其特征在于,该数组会于多个阶段中处理一N乘N矩阵,在每个阶段中,所有处理元素可作业的时间都短于一个处理循环。
84.如权利要求83所述的用户设备,其特征在于,所述全部多个N乘N矩阵都必须在所述多个阶段的其中一个阶段中都经过处理之后方能进入一下个阶段。
85.如权利要求84所述的用户设备,其特征在于,对所述多个N乘N矩阵中的每个N乘N矩阵来说,都会先将每个阶段的一处理结果储存之后方能进入一下个阶段。
86.一种用以还原以一接收向量的方式被接收到的多个数据信号的数据的基站,该基站会通过决定一N乘N矩阵的一克洛斯基因数以决定该接收向量的数据,该基站包括:
一纯量处理元素数组,每个处理元素都与该N乘N矩阵中的一元素有关,并且可决定出该克洛斯基因数中一相应的元素。
87.如权利要求86所述的基站,其特征在于,每个纯量处理器都仅与对该N乘N矩阵中一个元素有关。
88.如权利要求86所述的基站,进一步包括处理元素之间的延迟。
89.如权利要求88所述的基站,其特征在于,可利用该数组对多个N乘N矩阵进行管路处理。
90.如权利要求89所述的基站,其特征在于,该数组会于多个阶段中处理一N乘N矩阵,在每个阶段中,所有处理元素可作业的时间都短于一个处理循环。
91.如权利要求90所述的基站,其特征在于,所述全部多个N乘N矩阵都必须在所述多个阶段的其中一个阶段中都经过处理之后方能进入一下个阶段。
92.如权利要求91所述的基站,其特征在于,对所述多个N乘N矩阵中的每个N乘N矩阵来说,都会先将每个阶段的一处理结果储存之后方能进入一下个阶段。
CNA028221311A 2001-11-14 2002-11-13 用于线性系统方案数组处理 Pending CN1582544A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US33295001P 2001-11-14 2001-11-14
US60/332,950 2001-11-14
US8318902A 2002-02-26 2002-02-26
US10/083,189 2002-02-26
US10/172,113 US7218624B2 (en) 2001-11-14 2002-06-14 User equipment and base station performing data detection using a scalar array
US10/172,113 2002-06-14

Publications (1)

Publication Number Publication Date
CN1582544A true CN1582544A (zh) 2005-02-16

Family

ID=27374484

Family Applications (3)

Application Number Title Priority Date Filing Date
CNA028221311A Pending CN1582544A (zh) 2001-11-14 2002-11-13 用于线性系统方案数组处理
CN02285529U Expired - Lifetime CN2579091Y (zh) 2001-11-14 2002-11-14 利用阵列处理进行数据检测的用户装置
CNU022855300U Expired - Lifetime CN2686248Y (zh) 2001-11-14 2002-11-14 利用阵列处理进行数据检测的基站

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN02285529U Expired - Lifetime CN2579091Y (zh) 2001-11-14 2002-11-14 利用阵列处理进行数据检测的用户装置
CNU022855300U Expired - Lifetime CN2686248Y (zh) 2001-11-14 2002-11-14 利用阵列处理进行数据检测的基站

Country Status (11)

Country Link
US (2) US7218624B2 (zh)
EP (1) EP1444798A4 (zh)
JP (3) JP2005509959A (zh)
KR (9) KR100858466B1 (zh)
CN (3) CN1582544A (zh)
CA (1) CA2466684A1 (zh)
DE (2) DE20217636U1 (zh)
MX (1) MXPA04004486A (zh)
NO (1) NO20042407L (zh)
TW (6) TW588890U (zh)
WO (1) WO2003043236A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657846B2 (en) * 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US20060083291A1 (en) * 2004-10-15 2006-04-20 Zheng Hongming Receiver apparatus, and associated method, for operating upon data communicated in a MIMO, multi-code, MC-CDMA communication system
US7633913B2 (en) * 2004-11-05 2009-12-15 Nextel Communications Inc. Wireless communication system using joint detection to compensate for poor RF condition based on user priority
CN100383781C (zh) * 2004-11-26 2008-04-23 北京天碁科技有限公司 乔列斯基分解算法装置
US7924778B2 (en) * 2005-08-12 2011-04-12 Nextel Communications Inc. System and method of increasing the data throughput of the PDCH channel in a wireless communication system
JP4172807B2 (ja) * 2006-09-08 2008-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害発生の原因箇所の発見を支援する技術
US8589467B2 (en) * 2007-11-22 2013-11-19 Nec Corporation Systolic array and calculation method
KR100986178B1 (ko) * 2008-06-16 2010-10-07 유택성 파워엘이디가 구비된 가로등
KR100986179B1 (ko) * 2008-06-16 2010-10-07 유택성 가로등용 파워엘이디 모듈
US8473540B1 (en) 2009-09-01 2013-06-25 Xilinx, Inc. Decoder and process therefor
US8510364B1 (en) 2009-09-01 2013-08-13 Xilinx, Inc. Systolic array for matrix triangularization and back-substitution
US8417758B1 (en) 2009-09-01 2013-04-09 Xilinx, Inc. Left and right matrix multiplication using a systolic array
US8473539B1 (en) 2009-09-01 2013-06-25 Xilinx, Inc. Modified givens rotation for matrices with complex numbers
US8416841B1 (en) 2009-11-23 2013-04-09 Xilinx, Inc. Multiple-input multiple-output (MIMO) decoding with subcarrier grouping
US8620984B2 (en) 2009-11-23 2013-12-31 Xilinx, Inc. Minimum mean square error processing
US8406334B1 (en) 2010-06-11 2013-03-26 Xilinx, Inc. Overflow resistant, fixed precision, bit optimized systolic array for QR decomposition and MIMO decoding
US8443031B1 (en) 2010-07-19 2013-05-14 Xilinx, Inc. Systolic array for cholesky decomposition
US9088521B2 (en) 2013-02-21 2015-07-21 Litepoint Corporation System and method for testing multiple data packet signal transceivers concurrently
CN111998854B (zh) * 2020-08-31 2022-04-15 郑州轻工业大学 基于Cholesky分解计算的精确扩展Stirling插值滤波方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4964126A (en) * 1988-09-30 1990-10-16 Massachusetts Institute Of Technology Fault tolerant signal processing machine and method
JPH03141480A (ja) * 1989-10-27 1991-06-17 Mitsubishi Heavy Ind Ltd 帯行列演算用シストリックアレイ
JPH0752748B2 (ja) * 1989-12-14 1995-06-05 株式会社グラフィカ 三次元デバイスのシミュレーション装置
JPH0628324A (ja) * 1992-07-06 1994-02-04 Toshiba Corp 並列計算機及びコンパイラ
US5630154A (en) * 1994-10-11 1997-05-13 Hughes Aircraft Company Programmable systolic array system arranged in a found arrangement for passing data through programmable number of cells in a time interleaved manner
JPH103468A (ja) 1996-06-14 1998-01-06 Toyo Commun Equip Co Ltd 並列演算処理システム
US6061706A (en) * 1997-10-10 2000-05-09 United Microelectronics Corp. Systolic linear-array modular multiplier with pipeline processing elements
US6313786B1 (en) * 1998-07-02 2001-11-06 Snaptrack, Inc. Method and apparatus for measurement processing of satellite positioning system (SPS) signals
EP0971485A1 (en) * 1998-07-08 2000-01-12 Siemens Aktiengesellschaft Multiuser detection in CDMA using a correlation matrix
US6675187B1 (en) 1999-06-10 2004-01-06 Agere Systems Inc. Pipelined linear array of processor elements for performing matrix computations
US6714527B2 (en) * 1999-09-21 2004-03-30 Interdigital Techology Corporation Multiuser detector for variable spreading factors
US6870882B1 (en) * 1999-10-08 2005-03-22 At&T Corp. Finite-length equalization over multi-input multi-output channels
FR2800948B1 (fr) * 1999-11-08 2002-03-01 Mitsubishi Electric Inf Tech Procede de detection conjointe
CA2396571C (en) * 2000-01-07 2006-11-07 Interdigital Technology Corporation Channel estimation for time division duplex communication systems
US6707864B2 (en) * 2001-01-25 2004-03-16 Interdigital Technology Corporation Simplified block linear equalizer with block space time transmit diversity
US6625203B2 (en) * 2001-04-30 2003-09-23 Interdigital Technology Corporation Fast joint detection
FR2838582B1 (fr) * 2002-04-12 2004-05-21 Commissariat Energie Atomique Procede et dispositif de detection de donnees transmises par etalement de spectre
EP1582008B1 (en) * 2003-01-10 2007-09-05 Interdigital Technology Corporation Generalized two-stage data estimation

Also Published As

Publication number Publication date
KR20040016941A (ko) 2004-02-25
TWI268667B (en) 2006-12-11
US20070206543A1 (en) 2007-09-06
DE20217637U1 (de) 2003-03-20
KR100809993B1 (ko) 2008-03-07
KR20040015312A (ko) 2004-02-18
KR20050096874A (ko) 2005-10-06
JP2008077682A (ja) 2008-04-03
TWI325240B (en) 2010-05-21
EP1444798A4 (en) 2007-12-12
TWI263417B (en) 2006-10-01
KR20040053297A (ko) 2004-06-23
CA2466684A1 (en) 2003-05-22
TW200302640A (en) 2003-08-01
US7606207B2 (en) 2009-10-20
TW588890U (en) 2004-05-21
US7218624B2 (en) 2007-05-15
CN2579091Y (zh) 2003-10-08
TW200742284A (en) 2007-11-01
TW581368U (en) 2004-03-21
NO20042407L (no) 2004-06-09
JP2012150827A (ja) 2012-08-09
KR100858466B1 (ko) 2008-09-16
CN2686248Y (zh) 2005-03-16
KR200310933Y1 (ko) 2003-04-18
JP2005509959A (ja) 2005-04-14
EP1444798A1 (en) 2004-08-11
MXPA04004486A (es) 2004-08-11
KR20050090084A (ko) 2005-09-12
DE20217636U1 (de) 2003-04-03
TW200635264A (en) 2006-10-01
KR200303640Y1 (ko) 2003-02-11
TW200415862A (en) 2004-08-16
TWI314405B (en) 2009-09-01
KR20050090349A (ko) 2005-09-13
US20030091007A1 (en) 2003-05-15
KR20070116287A (ko) 2007-12-07
WO2003043236A1 (en) 2003-05-22

Similar Documents

Publication Publication Date Title
CN1582544A (zh) 用于线性系统方案数组处理
CN1220353C (zh) 计算数据网络中节点的有效路径成本的方法和设备
CN1149496C (zh) 自适应视频信号运算处理装置
CN87104093A (zh) 一维余弦变换的计算装置以及包括该计算装置的图象编码装置和解码装置
CN2585495Y (zh) 使用码分多址的无线通信系统的物理层处理
CN1801082A (zh) 在分组数据上执行乘-加运算的装置
CN1107905C (zh) 在分组数据上执行乘-加运算的装置
CN1310458C (zh) 对存在码间干扰并在多路发送和接收中进行按位交织编码的数字数据流进行编码/解码的方法及相应系统
CN1271562C (zh) 用于离散小波变换的结构
CN1630204A (zh) 具有矩阵转换技术的循环冗余码计算方法及系统
CN1836394A (zh) 在移动通信系统中编码/解码块低密度奇偶校验码的装置和方法
CN1314040A (zh) 公共密钥签字的方法和系统
CN1722130A (zh) 可重配置运算装置
CN1411630A (zh) 用于生成循环余数核对代码以及生成其他基于余数的编码的方法、设备和产品
CN1531235A (zh) 通信系统中的解码设备及方法
CN1685369A (zh) 视频编码的低复杂性和统一标准的变换
CN1929353A (zh) 同频小区信道估计方法及装置
CN1738238A (zh) 高速可配置rsa加密算法及协处理器
CN1205133A (zh) 滤波协处理器
CN1675630A (zh) 高效联合侦测
CN1155189C (zh) 双层加权并行干扰对消方法的简化方法
CN1845483A (zh) Td-scdma系统中接收机的联合检测系统及其数据处理方法
CN1251713A (zh) 代码同步器及方法
CN1913390A (zh) 一种基于Cholesky分解实现干扰消除的方法
CN1503494A (zh) 多用户检测方法和多用户接收机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1070482

Country of ref document: HK

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1070482

Country of ref document: HK

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20050216