CN101438277A - Efficient computation for eigenvalue decomposition and singular value decomposition of matrices - Google Patents

Efficient computation for eigenvalue decomposition and singular value decomposition of matrices Download PDF

Info

Publication number
CN101438277A
CN101438277A CNA2005800464908A CN200580046490A CN101438277A CN 101438277 A CN101438277 A CN 101438277A CN A2005800464908 A CNA2005800464908 A CN A2005800464908A CN 200580046490 A CN200580046490 A CN 200580046490A CN 101438277 A CN101438277 A CN 101438277A
Authority
CN
China
Prior art keywords
matrix
variable
derive
cordic
module
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
CNA2005800464908A
Other languages
Chinese (zh)
Inventor
S·J·霍华德
J·W·凯彻姆
M·S·***
J·R·瓦尔顿
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101438277A publication Critical patent/CN101438277A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0202Channel estimation
    • H04L25/024Channel estimation channel estimation algorithms
    • H04L25/0242Channel estimation channel estimation algorithms using matrix methods
    • H04L25/0248Eigen-space methods
    • 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

Landscapes

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

Abstract

For eigenvalue decomposition, a first set of at least one variable is derived based on a first matrix being decomposed and using Coordinate Rotational Digital Computer (CORDIC) computation. A second set of at least one variable is derived based on the first matrix and using a look-up table. A second matrix of eigenvectors of the first matrix is then derived based on the first and second variable sets. To derive the first variable set, CORDIC computation is performed on an element of the first matrix to determine the magnitude and phase of this element, and CORDIC computation is performed on the phase to determine the sine and cosine of this element. To derive the second variable set, intermediate quantities are derived based on the first matrix and used to access the look-up table. A Jacobi rotation is implemented by CORDIC processing.

Description

With the CORDIC processor mimo channel correlation matrix is carried out eigen value decomposition
Require right of priority according to 35U.S.C. § 119
[0001] require to enjoy that on November 15th, 2004 submitted to, exercise question be the provisional application No.60/628 of " Eigenvalue Decomposition and Singular Value Decomposition ofMatrices Using Jacobi Rotation " to present patent application, 324 right of priority, provisional application No.60/628,324 have transferred the application's assignee, so incorporate the application into way of reference clearly.
Invention field
[0002] puts it briefly, the present invention relates to communication, specifically, the present invention relates to be used for the technology of split-matrix.
Technical background
[0003] multiple-input and multiple-output (MIMO) communication system adopts a plurality of (T) emitting antennas at transmitting entity place and a plurality of (R) receiving antenna at receiving entity place to carry out data transmission.The mimo channel that T emitting antenna and R receiving antenna can be formed be decomposed into S space channel, S≤min{T wherein, R}.This S space channel can be used for launching data in the mode that realizes higher total throughout and/or bigger reliability.
[0004] mimo channel response can be with the R * T channel response matrix of the complex channel gain that comprises all different right emitting antennas and receiving antenna HCharacterize.Can be with channel response matrix HDiagonalization, thus S eigenmodes obtained, this S eigenmodes can be considered as the orthogonal spatial channels of mimo channel.Can realize augmented performance by on the eigenmodes of mimo channel, sending data.
[0005] can be by carrying out HSvd or HCorrelation matrix eigen value decomposition and with channel response matrix HDiagonalization.Svd provides a left side and right singular vector, and eigen value decomposition provides latent vector.Transmitting entity uses right singular vector or latent vector to send data on S eigenmodes.Receiving entity uses left singular vector or latent vector to receive data on S eigenmodes.
[0006] eigen value decomposition and svd are complicated on calculating.Therefore, the technology that in this field, needs efficient split-matrix.
Summary of the invention
[0007] the application has described the technology that is used for efficient split-matrix.According to embodiments of the invention, a kind of method is provided, wherein, according to first matrix that will decompose and use CORDIC (CORDIC) algorithm to derive first group of at least one variable (for example, cosinec 1, sine s 1With amplitude r).According to first matrix and use question blank to derive second group of at least one variable (for example, variable c and s).Then, derive second matrix of latent vector according to first group and second group of at least one variable.
[0008] according to another embodiment, a kind of device has been described, it comprises CORDIC processor, query processor and preprocessor.The CORDIC processor is derived first group of at least one variable according to first matrix that will decompose.Query processor is according to first matrix and use question blank to derive second group of at least one variable.Preprocessor is according to second matrix of first group and second group at least one variable derivation latent vector.
[0009] according to another embodiment, a kind of device has been described, it comprises: according to first matrix that will decompose and use cordic algorithm to derive the module of first group of at least one variable; According to first matrix and use question blank to derive the module of second group of at least one variable; The second matrix norm piece according to first group and second group at least one variable derivation latent vector.
[0010] according to another embodiment, a kind of method is provided, wherein, the first entry of a matrix element is carried out CORDIC calculate, thus the amplitude and the phase place of definite element.Also the phase place of element is carried out CORDIC and calculate, thus the sine and the cosine of definite element.Then, derive second matrix of latent vector according to amplitude, sine and the cosine of element.
[0011] according to another embodiment, a kind of device has been described, it comprises: the first entry of a matrix element is carried out CORDIC calculate with the amplitude of definite element and the module of phase place; The phase place of element is carried out CORDIC to be calculated with the sine of definite element and the module of cosine; Derive the second matrix norm piece of latent vector according to amplitude, sine and the cosine of element.
[0012] according to another embodiment, a kind of method is provided, wherein, derive intermediate quantity according to first matrix that will decompose.Then, according to intermediate quantity and use question blank to derive at least one variable.Derive second matrix of latent vector according at least one variable.
[0013] according to another embodiment, a kind of device has been described, it comprises front processor, question blank and preprocessor.Front processor is derived intermediate quantity according to first matrix that will decompose.Question blank provides at least one variable according to intermediate quantity.Preprocessor is derived second matrix of latent vector according at least one variable.
[0014] according to another embodiment, a kind of device has been described, it comprises: the module that derives intermediate quantity according to first matrix that will decompose; According to intermediate quantity and use question blank to derive the module of at least one variable; Derive the second matrix norm piece of latent vector according at least one variable.
[0015] according to another embodiment, a kind of method is provided, wherein, use a plurality of Jacobi rotation matrixs first matrix of complex value to be carried out the repeatedly iteration of Jacobi rotation.Each Jacobi rotation matrix is derived by using cordic algorithm, question blank or the two to carry out eigen value decomposition.Then, derive unitary matrix according to a plurality of Jacobi rotation matrixs with orthogonal vector.
[0016] according to another embodiment, a kind of device has been described, the module that it comprises the module of the repeatedly iteration of using a plurality of Jacobi rotation matrixs first matrix of complex value to be carried out the Jacobi rotation and derives the unitary matrix with orthogonal vector according to a plurality of Jacobi rotation matrixs.Each Jacobi rotation matrix is derived by using cordic algorithm, question blank or the two to carry out eigen value decomposition.
[0017] according to another embodiment, a kind of method is provided, wherein, obtain a plurality of matrixes of complex value for a plurality of transmission spans.The repeatedly iteration that first matrix of the complex value of the first transmission span correspondence is carried out the Jacobi rotation is to obtain first unitary matrix with orthogonal vector.Each iteration of Jacobi rotation has been utilized and has been used cordic algorithm, question blank or the two eigen value decomposition.The repeatedly iteration that second matrix of the complex value of the second transmission span correspondence is carried out the Jacobi rotation is to obtain second unitary matrix with orthogonal vector.With the initial solution of first unitary matrix as second unitary matrix.
[0018] according to another embodiment, a kind of device has been described, it comprises: a plurality of matrix norm pieces that obtain complex value for a plurality of transmission spans; First matrix to the complex value of the first transmission span correspondence carries out the repeatedly iteration of Jacobi rotation to obtain the module of first unitary matrix with orthogonal vector; Second matrix to the complex value of the second transmission span correspondence carries out the repeatedly iteration of Jacobi rotation to obtain the module of second unitary matrix with orthogonal vector.Each iteration of Jacobi rotation has been utilized and has been used cordic algorithm, question blank or the two eigen value decomposition.With the initial solution of first unitary matrix as second unitary matrix.
Each side of the present invention and embodiment are described in further detail [0019].
Description of drawings
[0020] Fig. 1 shows the processing unit of the eigen value decomposition that is used for 2 * 2 Hermitian matrixs.
[0021] Fig. 2 shows the interior CORDIC processor of processing unit among Fig. 1.
[0022] Fig. 3 shows the interior query processor of processing unit among Fig. 1.
[0023] Fig. 4 shows the processing that is used for efficiently carrying out the eigen value decomposition of 2 * 2 Hermitian matrixs.
[0024] Fig. 5 shows the iterative processing of the eigen value decomposition that is used to carry out N * N Hermitian matrix.
[0025] Fig. 6 shows access point and the user terminal in the mimo system.
Embodiment
[0026] " exemplary " speech that uses among the application means " as example, illustration or explanation ".Any embodiment that is described to " exemplary " among the application should not be interpreted as than other embodiment more preferably or have more advantage.
[0027] decomposition technique of the application's description can be used for subcarrier and multi-carrier communications systems.Multicarrier can use OFDM (OFDM), some other multi-carrier modulation technologies or some other structures to obtain.The frequency subband of that OFDM is divided into whole system bandwidths effectively is a plurality of (K) quadrature, these frequency subbands are also referred to as voiced band (tone), subcarrier, frequency band (bin) and frequency channels.Utilize OFDM, each subband is associated with the adjustable respective sub that is shaped on data.For the sake of simplicity, following description will be primarily aimed at the single carrier mimo system.
[0028] mimo channel of a plurality of (T) emitting antennas and the formation of a plurality of (R) receiving antenna can be used R * T channel response matrix HCharacterize, it can be expressed as:
Figure A200580046490D00151
Formula (1)
Wherein, a h I, jCoupling or complex channel gain between expression emitting antenna j and the receiving antenna i, i=1 wherein ..., R and=1 ..., T.
[0029] can be with channel response matrix HDiagonalization, thus obtain HA plurality of (S) eigenmodes, s≤min{T wherein, R).Can be by carrying out HSvd or HThe eigen value decomposition of correlation matrix realize diagonalization.
[0030] eigen value decomposition can be expressed as:
R=H HH=V Λ V H, formula (2)
Wherein, RBe HT * T correlation matrix;
VT * T unitary matrix early, its row are RLatent vector;
ΛBe RThe T * T diagonal matrix of eigenvalue; And
" H" the expression conjugate transpose.
Unitary matrix VBy character V HV=I characterizes, wherein IIt is unit matrix.Each row mutually orthogonal of unitary matrix, and each row all has specific power.Diagonal matrix ΛComprise possible nonzero value along diagonal line, and other place all is zero. ΛDiagonal element be REigenvalue.These eigenvalues are expressed as { λ 1, λ 2..., λ 3, and the power gain of S eigenmodes of expression. RBe Hermitian matrix, its off-diagonal element has following character: r i , j = r j , i * , Wherein " " the expression complex conjugate.
[0031] svd can be expressed as:
H=U ∑ V H, formula (3)
Wherein, UBe HThe R * R unitary matrix of left singular vector;
Be HThe R * T diagonal matrix of singular value; And
VBe HThe T * T unitary matrix of right singular vector.
UWith VComprise orthogonal vector respectively.Formula (2) and (3) show HRight singular vector also be RLatent vector. Diagonal element be HSingular value.These singular values are expressed as { σ 1, σ 2..., σ s), and the channel gain of S eigenmodes of expression. HSingular value also be RThe square root of eigenvalue, therefore, σ i = λ i , I=1 wherein ..., S.
[0032] transmitting entity can use VIn right singular vector and HEigenmodes on send data, this is usually than providing more performance without any following of the situation of spatial manipulation from T emitting antenna transmission data.Receiving entity can use UIn left singular vector or VIn latent vector and on the eigenmodes at dawn, receive data transmission.Table 1 shows spatial manipulation, the receiving symbol at receiving entity place and the spatial manipulation that receiving entity is carried out that transmitting entity is carried out.In table 1, sBe T * 1 vector with S the data symbol that will send, xBe to have T T * 1 vector of launching symbol that will send from T emitting antenna, rBe R * 1 vector that has from R receiving symbol of R receiving antenna acquisition, nBe R * 1 noise vector, and,
Figure A200580046490D00171
Be to have S T * 1 vector that detects data symbol, it is sIn the estimation of data symbol.
[0033]
Table 1
Figure A200580046490D00172
[0034] can also the Jacobi rotation be called Jacobi method or Jacobi conversion usually with the eigen value decomposition and the svd of the alternative manner execution complex matrix that adopts the Jacobi rotation.The Jacobi rotation will be answered Hermitian matrix by matrix being carried out the plane rotation a pair of off-diagonal element makes zero.For 2 * 2 multiple Hermitian matrixs, only need an iteration of Jacobi rotation, thereby obtain two latent vectors and two eigenvalues for this matrix.Greater than 2 * 2 big complex matrix, the repeatedly iteration of Jacobi rotation is carried out in iterative processing, thereby obtains needed latent vector and eigenvalue or singular vector and singular value for this bigger complex matrix for dimension.Each iteration of Jacobi rotation on bigger complex matrix is used the latent vector of 2 * 2 submatrixs, and is as described below.
[0035] can simple 2 * 2 Hermitian matrix of following execution R 2 * 2Eigen value decomposition.Hermitian matrix R 2 * 2Can be expressed as:
R ‾ 2 × 2 = r 1,1 r 1,2 r 2,1 r 2,2 = A B · e j θ b B · e - j θ b D , Formula (4)
Wherein, A, B and D are real-valued arbitrarily, and, θ bIt is phase place arbitrarily.
[0036] R 2 * 2The first step of eigen value decomposition be the unitary transformation that applies two ends, as follows:
R ‾ re = 1 0 0 e j θ b · A B · e j θ b B · e - j θ b D · 1 0 0 e - j θ b = A B B D , Formula (5)
Wherein, R ReBe the real matrix of symmetry, it comprises off-diagonal element real-valued and that (1,2) and (2,1) locates to have symmetry in the position.
[0037] then, use the real matrix of the Jacobi rotation at two ends with symmetry R ReDiagonalization, as follows:
Λ ‾ 2 × 2 = cos φ - sin φ sin φ cos φ · A B B D · cos φ sin φ - sin φ cos φ = λ 1 0 0 λ 2 , Formula (6)
Wherein, angle φ can be expressed as:
φ = 1 2 tan - 1 ( 2 B D - A ) . Formula (7)
[0038] can followingly derive R 2 * 22 * 2 unitary matrix of latent vector V 2 * 2:
V ‾ 2 × 2 = 1 0 0 e - j θ b · cos φ sin φ - sin φ cos φ = cos φ sin φ - e - j θ b · sin φ e - j θ b · cos φ . Formula (8)
[0039] direct basis R ReElement calculate two eigenvalue λ 1And λ 2, as follows:
λ 1,2 = 1 2 ( A + D ) ± B · 1 + ( D - A 2 B ) 2 . Formula (9)
Formula (9) is R 2 * 2The separating of characteristic formula.In formula (9), λ 1Positive sign with second amount of right-hand member obtains, and λ 2Negative sign with second amount of right-hand member obtains, wherein λ 1〉=λ 2
[0040] direct basis R 2 * 2Element calculate V 2 * 2Element, as follows:
r = ( Re { r 1,2 } ) 2 + ( Im { r 1,2 } ) 2 , Formula (10a)
c 1 = Re { r 1,2 } r = cos ( ∠ r 1,2 ) , Formula (10b)
s 1 = Im { r 1,2 } r = sin ( ∠ r 1,2 ) , Formula (10c)
g 1=c 1-js 1, formula (10d)
τ = r 2,2 - r 1,1 2 · r , Formula (10e)
x = 1 + τ 2 , Formula (10f)
t = 1 | τ | + x , Formula (10g)
c = 1 1 + t 2 , Formula (10h)
s = t · c = 1 - c 2 , Formula (10i)
If (r 2,2-r 1,1)<0,
Then V ‾ 2 × 2 = v 1,1 v 1,2 v 2,1 v 2,2 = c - s g 1 · s g 1 · c , Formula (10j)
Otherwise V ‾ 2 × 2 = v 1,1 v 1,2 v 2,1 v 2,2 = s c g 1 · c - g 1 · s , Formula (10k)
Wherein, r 1,1, r 1,2And r 2,1Be R 2 * 2Element, r is r 1,2Amplitude, and, ∠ r 1,2Be r 1,2Phase place, also it can be expressed as θ=∠ r 1,2
[0041] system of equations (10) is to 2 * 2 Hermitian matrixs R 2 * 2Carry out multiple Jacobi rotation, thereby obtain R 2 * 2The matrix of latent vector V 2 * 2The calculating of system of equations (10) is used for eliminating arc tangent operation and the cosine in the formula (8) and the sinusoidal operation of formula (7).But square root in the system of equations (10) and divide operations have their performance difficulties separately, therefore need simpler implementation method.For 2 * 2 Hermitian matrixs R 2 * 2Eigen value decomposition, system of equations (10) is calculated once.Can will decompose greater than 2 * 2 complex matrix by the eigen value decomposition of many 2 * 2 submatrixs, as described below.Therefore, need group of equations (10) as far as possible efficiently especially, decompose the bigger required time quantum of complex matrix thereby reduce.
[0042] Fig. 1 show can efficient calculation system of equations (10) to realize 2 * 2 Hermitian matrixs R 2 * 2The block diagram of embodiment of processing unit 100 of eigen value decomposition.Processing unit 100 comprises CORDIC processor 110, query processor 120 and preprocessor 130.Processing unit 100 receiving matrix R 2 * 2R 1,1, r 1,2And r 2,1, and matrix is provided V 2 * 2Element v 1,1, v 1,2, v 2,1And v 2,2In processing unit 100, CORDIC processor 110 receives R 2 * 2Element r 1,2, and calculate element r 1,2Amplitude r, phase theta, cosine c 1With sinusoidal s 1Query processor 120 receives from CORDIC processor 110 R 2 * 2Element r 1,1And r 2,2And r 1,2Amplitude r, and calculate variable c and s.Preprocessor 130 receives element r from CORDIC processor 110 1,1And r 2,2, variable c 1And s 1, receive variable c and s from query processor 120, and compute matrix V 2 * 2Element v 1,1, v 1,2, v 2,1And v 2,2
1. The CORDIC processor
[0043] can use CORDIC processor 110 variable r, the c in the group of equations (10) efficiently 1, s 1And g 1The CORDIC processor uses simply to be shifted and to add/subtract hardware carries out interative computation, calculates with the quick hardware of realizing trigonometric function (for example, sine, cosine, amplitude and phase place).Can parallel computation variable r, c 1And s 1, carry out the required time quantum of eigen value decomposition to reduce.Each variable of CORDIC processor repeated calculation, more iteration can produce higher degree of accuracy to variable.
[0044] two plural R=R Re+ jR ImAnd C=C Re+ jC ImAnswer and take advantage of and can be expressed as:
Y=R·C,
=(R Re+ jR Im) (C Re+ jC Im), formula (11)
=(R re·C re-R im·C im)+j(R re·C im+R im·C re),
Wherein, Y=Y Re+ jY Im,
Y Re=R ReC Re-R ImC Im, and formula (12a)
Y im=R re·C im+R im·C re。Formula (12b)
The amplitude of Y equals the product of the amplitude of R and C.The phase place of Y equals the phase place sum of R and C.
[0045] can have following form A by R be multiply by i=1 ± jK i(C wherein I, re=1 and C I, im=± K i) plural C iTurn 90 degrees and plural R revolved.K iBe 2 the power that successively decreases, and have following form:
K i=2 -i, formula (13)
Wherein, i is an index, with its be expressed as i=0,1,2 ...
[0046] if plural C iHas form A i=1+jK i, then can rotate in a counter-clockwise direction plural R.So C iPhase place be ∠ C i=arctan (K i).Then, system of equations (12) can be expressed as:
Y Re=R Re-K iR Im=R Re-2 -iR Im, and formula (14a)
Y im=R im+K i·R re=R im+2 -i·R re。Formula (14b)
[0047] if plural C iHas form A i=1-jK i, then can rotate plural R in a clockwise direction.So C iPhase place be ∠ C i=-arctan (K i).Then, system of equations (12) can be expressed as:
Y Re=R Re+ K iR Im=R Re+ 2 -iR Im, and formula (15a)
=R im-K·R re=R im-2 -i·R re。Formula (15b)
[0048] can be with R ImAnd R ReAll mobile i bit, with the displacement R ImBe added to R ReGo up or with it from R ReIn deduct to obtain Y ReAnd with the R that is shifted ReBe added to R ImGo up or with it from R ImIn deduct to obtain Y ImThereby, in system of equations (14), realize plural C iCounter clockwise direction rotation and in system of equations (15) the plural C of realization iClockwise direction rotation.Be rotated and need not multiplication.
[0049] table 2 shows K when each value of i is from 0 to 7 iValue, plural C i, C iPhase place, C iAmplitude and CORDIC gain g iAs shown in table 2, for each value of i, C iPhase place slightly greater than C I-1Half of phase place.Can be by carrying out the binary bit retrieval and adding or deduct less phase value θ respectively continuously iAnd obtain given target phase.Index i represents the iterations of binary bit retrieval, and more iteration provides accurate more net result.
Table 2
i K i=2 -1 C i=1+jK i C iPhase place, θ i=arctan(K i) C iAmplitude The CORDIC gain, g i
0 1.0 1+j1.0 45.00000 1.41421356 1.414213562
1 0.5 1+j0.5 26.56505 1.11803399 1.581138830
2 0.25 1+j0.25 14.03624 1.03077641 1.629800601
3 0.125 1+j0.125 7.12502 1.00778222 1.642484066
4 0.0625 1+j0.0625 3.57633 1.00195122 1.645688916
5 0.03125 1+j0.03125 1.78991 1.00048816 1.646492279
6 0.015625 1+j0.015625 0.89517 1.00012206 1.646693254
7 0.007813 1+j0.007813 0.44761 1.00003052 1.646743507
... ... ... ... ... ...
[0050] because of C for each value of i iAmplitude all greater than 1.0, R and C iMultiply each other and cause the amplitude of R to multiply by C iAmplitude.The corresponding CORDIC gain of given i value is current i value and the corresponding C of i value before iCumulative magnitude.By C is multiply by in the CORDIC gain of i-1 correspondence iAmplitude and obtain the CORDIC gain of i correspondence, i.e. g i=g I-1| C i|.The i value is depended in the CORDIC gain, but when i was tending towards infinity, it was restrained to about 1.647 value.
[0051] in system of equations (10), r is element r 1,2Amplitude, θ is element r 1,2Phase place.The following definite r of CORDIC processor 1,2Amplitude and phase place.Use r 1,2The real part and the absolute value of imaginary part form variable
Figure A200580046490D00221
Promptly r ~ 1,2 = abs ( Re { r 1,2 } ) + jabs ( Im { r 1,2 } ) . Therefore,
Figure A200580046490D00223
Be positioned at the first quartile on x-y plane.Phase theta is initialized as zero.Then, rotation repeatedly
Figure A200580046490D00224
So that its phase place goes to zero.
[0052] for the each iteration that begins from i=0, suppose: (1) if
Figure A200580046490D00225
Imaginary part for just, then
Figure A200580046490D00226
Has positive phase place; Perhaps (2) if
Figure A200580046490D00227
Imaginary part for negative, then
Figure A200580046490D00228
Has negative phase place.If
Figure A200580046490D00229
Phase place for negative, then by will Multiply by C i=1+jK iAnd make Counterclockwise rotate θ i(or of equal value saying, with θ iBe added to
Figure A200580046490D002212
Phase place on), shown in system of equations (14).Otherwise, if Phase place for just, then by will
Figure A200580046490D002214
Multiply by C i=1-jK iAnd make
Figure A200580046490D002215
Clockwise direction rotation θ i(or of equal value saying, from
Figure A200580046490D002216
Phase place in deduct θ i), shown in system of equations (15).Therefore, in each iteration, rotate and upgrade by counterclockwise rotation or clockwise direction
Figure A200580046490D002217
Upgrade θ by the following method: (1) is if θ iBe added to
Figure A200580046490D002218
Phase place on, then θ iBe added on the currency of θ; Perhaps (2) if from
Figure A200580046490D002219
Phase place in deduct θ i, then from the currency of θ, deduct θ iTherefore, θ represents that accumulated phase is added to
Figure A200580046490D002220
Thereby phase place on or phase place is made zero from wherein deducting.
[0053] along with carrying out more times iteration, it is more accurate that net result becomes.For many application, ten times iteration is just enough usually.After finishing all iteration,
Figure A200580046490D002221
Phase place should approach zero,
Figure A200580046490D002222
Imaginary part should be approximately zero, and
Figure A200580046490D002223
Real part equal
Figure A200580046490D002224
Amplitude gain divided by CORDIC, promptly r = Re { r ~ 1,2 } / g i .
Figure A200580046490D002226
Final value be to make
Figure A200580046490D002227
The phase place total phase place rotation of making zero.Therefore,
Figure A200580046490D002228
Phase place equal-θ.Phase theta can be used series of sign position z 1z 2z 3... represent, wherein, if from θ, deduct θ i, z then i=1, if θ iBe added on the θ, then z i=-1.
[0054] r 1,2Amplitude and the calculating of phase place can followingly carry out.At first, with initialization of variable be:
I=0, formula (16a)
x 0=abs (Re{r 1,2), formula (16b)
y 0=abs (Im{r 1,2), and formula (16c)
θ tot(i)=0。Formula (16d)
The single iteration that CORDIC calculates can be expressed as:
Figure A200580046490D002229
Formula (17a)
x I+1=x i+ z i2 -iY i, formula (17b)
y i+ 1=y i-z i2 -iX i, formula (17c)
θ i=arctan (2 -1), formula (17d)
θ Tot(i+1)=θ Tot(i)-z iθ i, and formula (17e)
i=i+1。Formula (17f)
At formula (17b) with (17c), if x i+ jy iPhase place for just and z i=1, then carry out rotation counterclockwise, and, if x i+ jy iPhase place be negative and z i=1, then carry out the clockwise direction rotation.After finishing all iteration, amplitude is made as r=x I+1, and phase place is made as θ=θ Tot(i+1).For other processing block, can be to describing divided by the CORDIC gain.
[0055] in system of equations (10), c iBe r 1,2Cosine, and s iBe r 1,2 Sine.CORDIC processor 110 can following definite r 1,2Cosine and sine.R ' is initialized as R '=x ' with the unit amplitude plural number 0+ jy ' 0=1+j0 is then with its rotation-θ.For the each iteration that begins from i=0, (1) if symbol position z iExpression deducts θ from θ i, then by R ' be multiply by C i=1+jK iAnd counter clockwise direction is rotated plural R '; Perhaps (2) if symbol position z iExpression is with θ iBe added on the θ, then by R ' be multiply by C i=1-jK iAnd clockwise direction is rotated plural R '.After finishing all iteration, c 1The real part that equals final R ' gains divided by CORDIC, i.e. c 1=x ' i/ g i, and, s 1The imaginary part that equals final R ' gains divided by CORDIC, i.e. s 1=y ' ,/g i
[0056] r 1,2Cosine and sinusoidal calculating can followingly carry out.At first be with initialization of variable:
I=0, formula (18a)
X ' 0=1, and formula (18b)
y′ 0=0。Formula (18c)
The single iteration that CORDIC calculates can be expressed as:
X ' I+1=x ' i-z i2 -iY ' i, formula (19a)
Y ' I+1=y ' i+ z i2 -iX ' i, and formula (19b)
i=i+1。Formula (19c)
At formula (19a) with (19b), for each iteration i, to sign bit z iThe direction rotation R ' of expression.After finishing all iteration, cosine is made as c 1=x ' I+1, and sine is made as s 1=y ' I+1For other processing block, can be to describing divided by the CORDIC gain.
[0057] also can be R '=(1+j0)/g and calculate cosine c simultaneously by the version that the CORDIC gain of variable R ' be initialized as 1+j0 is divided by with amplitude r 1With sinusoidal s 1, wherein, g is the CORDIC gain of the iterations correspondence that will carry out.When each iteration, determine the CORDIC rotation carried out at amplitude r, and the CORDIC opposite to variable R ' executions rotates.For this scheme, do not need to determine phase theta.
[0058] Fig. 2 shows and is used for calculating variable r, c in system of equations (10) 1And s 1The block diagram of CORDIC processor 110.CORDIC processor 110 comprises calculating element r 1,2The amplitude and the CORDIC unit 210 of phase place and calculate element r 1,2Cosine and sinusoidal CORDIC unit 230. CORDIC unit 210 and 230 can concurrent working.
[0059] in CORDIC unit 210, demodulation multiplexer (Demux) 208 receives element r 1,2, with abs (Re{r 1,2) be provided as x 0, and with abs (Im{r 1,2) be provided as y 0Multiplexer (Mux) 212a receives x at first input end 0, and receive x from delay unit 219a at second input end i, when i=0, provide x at its output terminal 0, and as i provide x at its output terminal 0 the time iThe output of multiplexer 212a is the x of current iteration correspondence iShift unit 214a receives x i, it is offset i position left, and the x of displacement is provided i Multiplexer 212b receives y at first input end 0, and receive y from delay unit 219b at second input end i, when i=0, provide y at its output terminal 0, and as i provide y at its output terminal 0 the time iThe output of multiplexer 212b is the y of current iteration correspondence iShift unit 214b receives y i, it is offset i position left, and the y of displacement is provided i Serial device 222 is by index i, and provides suitable control for the unit in the CORDIC processor 10.Symbol detector 224 detects y iSymbol, and provide sign bit z i, shown in formula (17a).
[0060] multiplier 216a is with the x of displacement iMultiply by sign bit z iMultiplier 216b is with the y of displacement iMultiply by sign bit z iCan use deflection machine to realize multiplier 216a and multiplier 216b.Totalizer 218a adds x with the output of multiplier 216b i, and with the x of current iteration correspondence I+1(it also is the x of next iteration correspondence i) offer delay unit 219a and switch 220.Totalizer 218b is from y iIn deduct the output of multiplier 216a, and with the y of current iteration correspondence I+1(it also is the y of next iteration correspondence i) offer delay unit 219b.After finishing all iteration, switch 220 is with x I+1Be provided as amplitude r.
[0061] in CORDIC unit 230, multiplexer 232a receives x ' at first input end 0=1, and receive x ' from delay unit 239a at second input end i, when i=0, provide x ' at its output terminal 0, and as i provide x ' at its output terminal 0 the time iThe output of multiplexer 232a is the x ' of current iteration correspondence iShift unit 234a receives x ' i, it is offset i position left, and the x ' of displacement is provided i Multiplexer 232b receives y ' at first input end 0=0, and receive y ' from delay unit 239b at second input end 0, when i=0, provide y ' at its output terminal 0, and as i provide y ' at its output terminal 0 the time iThe output of multiplexer 232b is the y ' of current iteration correspondence iShift unit 234b receives y ' i, it is offset i position left, and the y ' of displacement is provided i
[0062] multiplier 236a is with the x ' of displacement iMultiply by the sign bit z of self-detector 224 i Multiplier 236b is with the y ' of displacement iMultiply by sign bit z iAlso can use deflection machine to realize multiplier 236a and multiplier 236b.Totalizer 218a is from x ' iIn deduct the output of multiplier 236b, and with the x ' of current iteration correspondence I+1(it also is the x ' of next iteration correspondence i) offer delay unit 239a and switch 240a.Totalizer 238b adds y ' with the output of multiplier 236a i, and with the y ' of current iteration correspondence I+1(it also is the y ' of next iteration correspondence i) offer delay unit 239b.After finishing all iteration, switch 240a is with x ' I+1Be provided as cosine c 1, and switch 240b is with y ' I+1Be provided as sinusoidal s 1
2. Question blank
[0063] in system of equations (10), variable c and s only are the functions of τ, and intermediate variable x and t are used for reduced representation.The scope of abs (τ) is from 0 to ∞, the scope of variable c from 0.707 to 1.0, and the scope of variable s from 0.707 to 0.0.Therefore, in a big way τ value is mapped to more among a small circle the c value and s value more among a small circle.Therefore, the approximate value of τ should provide the good approximate value of c and s.
[0064] question blank (LUT) can be according to dividend/molecule of τ and divisor/denominator and efficient calculation variable c and s.The use of question blank avoided needing to carry out be used for formula (10e) calculate τ division, be used for formula (10f) calculate x square root, be used for formula (10g) calculate t division, be used for the division of formula (10h) calculating c and square root be used for multiplying each other at formula (10i) calculating s.Because it is complicated that division and square root operate in the calculating, so the use of question blank can greatly reduce to carry out the required time quantum of eigen value decomposition.Can following execution use the variable c of question blank and the calculating of s.
[0065] dividend equals r 2,2-r 1,1, and become form to be the absolute value representation of dividend
Figure A200580046490D00251
The binary floating point number, wherein
Figure A200580046490D0025095411QIETU
The single-bit of the mantissa of expression dividend, and, m nIt is the index of dividend.Can the dividend left avertence be moved one till highest significant position (MSB) was one (' 1 ') at every turn, and m is set nEqual the quantity of left avertence displacement, obtain the binary floating point number of dividend with this.
[0066] divisor equal 2r and on the occasion of because r is r 1,2Amplitude.Also divisor being expressed as form is
Figure A200580046490D00261
The binary floating point number, wherein
Figure A200580046490D00262
The single-bit of the mantissa of expression divisor, and, m dIt is the index of divisor.Can the divisor left avertence be moved one till MSB was one (' 1 ') at every turn, and m is set dEqual the quantity of left avertence displacement, obtain the binary floating point number of divisor with this.
[0067] decimal place of the mantissa of dividend (promptly
Figure A200580046490D00263
), the decimal place of the mantissa of divisor (promptly
Figure A200580046490D00264
) and the poor of index of dividend and divisor (be Δ m=m d-m n) be intermediate quantity as the Input Address of question blank.Question blank returns the storing value of variable c and s correspondence according to Input Address.
[0068] common, question blank can have arbitrary dimension.The question blank of large-size provides better degree of accuracy for calculating variable c and s.In a certain embodiments, question blank has the size of 2K * 16,11 Input Address, 8 output of variable c correspondence and 8 output of variable s correspondence.11 Input Address is three decimal places by dividend
Figure A200580046490D00265
Figure A200580046490D00266
And
Figure A200580046490D00267
Three decimal places of divisor
Figure A200580046490D00268
And
Figure A200580046490D00269
With five compositions of index difference Δ m.The scope of the value of 5 index difference correspondences is quasi-definite by computer mould.The minimal index difference that observes is-17, and the maximal index difference that observes is+14.Because variable c and s be on the occasion of, so each variable corresponding symbol position is not stored in the question blank in will these variablees.In addition, because variable c is always greater than 0.707, leftmost decimal place always equals ' 1 ', so do not need it is stored in the question blank.Therefore, question blank stores secondly eight leftmost decimal places (for example, except leftmost decimal place) of variable c and eight leftmost decimal places of variable s.Therefore, 8 not signed values can using question blank to provide as variable c are obtained the value of the 10 bit strip symbols of variable c.8 not signed values can using question blank to provide as variable s are obtained the value of the 9 bit strip symbols of variable s.
[0069] Fig. 3 shows the block diagram that is used for calculating in system of equations (10) query processor 120 of variable c and s.In query processor 120, difference computational unit 312 receiving matrix R 2 * 2Element r 1,1And r 2,2, the difference between these elements is calculated as r 2,2-r 1,1, and this difference is provided as the dividend of τ.Format converter 314 converts dividend to the binary floating point number Decimal place { the b of mantissa is provided to question blank 320 n, and provide exponent m to index difference computational unit 318 nFormat converter 316 receives variable r as divisor, convert divisor to the binary floating point number Decimal place { the b of mantissa is provided to question blank 320 d, and provide exponent m to unit 318 dUnit 318 is calculated as Δ m=m with the difference of dividend and divisor d-m n, and provide index difference Δ m to question blank 320.Unit 312,314,316 and 318 forms front processor, and it is that question blank 320 generates intermediate quantity.[0070] question blank 320 is with the decimal place { b of dividend n, the decimal place { b of divisor dAnd index difference Δ m receive as Input Address.Question blank 320 provides the storing value of variable c and s correspondence according to Input Address.Output unit 322 is the leftmost decimal place affix ' 1 ' of variable c, goes back affix positive sign position ('+'), and the final value of c is provided.Output unit 324 is variable s affix positive sign position ('+'), and the final value of s is provided.
[0071] can design question blank 320, to illustrate at r, c 1And s 1Calculating in CORDIC gain so that V 2 * 2Element have suitable amplitude.For example, because amplitude r is used to form the address of question blank 320, so the CORDIC of amplitude r correspondence gain can illustrate the address selection of question blank.In another embodiment, question blank 320 stores the rotation order of CORDIC processor, and the CORDIC processor uses this rotation order to calculate variable c and s.Rotation order is-symbol position z iOrder, and can use the figure place of lacking than the actual value of variable c and s correspondence and it is stored.But the CORDIC processor will need some times to calculate variable c and s according to the rotation order.
[0072] Fig. 4 shows and is used for efficiently carrying out 2 * 2 Hermitian matrixs R 2 * 2The processing 400 of eigen value decomposition.According to R 2 * 2Element r 1,2And use cordic algorithm to calculate variable r, c 1And s 1(frame 412).According to R 2 * 2Element r 1,1And r 2,2With variable r and use question blank to calculate variable c and s (frame 414).Can carry out calculating in the frame 412 and the calculating in the frame 414 simultaneously by different hardware cells, to quicken eigen value decomposition.Then, according to variable c 1, s 1, c and s derive and comprise R 2 * 2The matrix of latent vector V 2 * 2Four elements, as formula (10j) or (10k) (frame 416).
[0073] in the above description, use CORDIC processor induced variable r, c 1And s 1, and use question blank induced variable c and s.Also can use one or more question blank induced variable r, the c of sufficient size 1And s 1, to obtain r, c 1And s 1Required degree of accuracy.Also can otherwise and/or with other algorithm (for example, power series) calculate variable r, c 1And s 1And variable c and s.Select any method and algorithm to remove to calculate each group variable and can depend on various factors, as available hardware, time quantum of can be used for calculating or the like.
3. Eigen value decomposition
[0074] can use iterative processing to carry out eigen value decomposition, as shown in Equation (2) greater than N * N Hermitian matrix of 2 * 2.The Jacobi rotation is used in this iterative processing repeatedly, thereby the off-diagonal element in N * N Hermitian matrix is made zero.For iterative processing, N * N unitary transformation matrix is that 2 * 2 close submatrixs in distress according to N * N Hermitian matrix form, and is used for repeatedly N * N Hermitian matrix diagonalization.Each N * N unitary transformation matrix comprises four nontrivial elements (element except that 0 or 1) of being derived by four elements of corresponding 2 * 2 close submatrixs in distress.The diagonal matrix that is produced comprises the real eigenvalue of N * N Hermitian matrix, and the product of all unitary transformation matrixes is N * N matrixes of the latent vector of N * N Hermitian matrix.
[0075] in the following description, index i represents number of iterations, and it is initialized as i=0. RBe N * N Hermitian matrix, the wherein N that will decompose〉2.N * N matrix D iBe RThe diagonal matrix of eigenvalue ΛApproximate value, and it is initialized as D 0= RN * N matrix V iBe RThe matrix of latent vector VApproximate value, and it is initialized as V 0= I
[0076] is used to upgrade matrix D iWith V iThe single iteration of Jacobi rotation can followingly carry out.
At first, according to current D iForm 2 * 2 Hermitian matrixs D Pq, as follows:
D ‾ pq = d p , p d p , q d q , p d q , q , Formula (20)
Wherein, d P, qBe D iPosition (p, the element of q) locating; And
P ∈ 1 ..., N}, q ∈ 1 ..., N}, and p ≠ q.
D PqBe D i2 * 2 submatrixs, and, D PqFour elements be D iIn the position (p, p), (p, q), (q, p) and (q, four elements q) locating.Can select the value of index p and q with mode predetermined or that determine, as described below.
[0077] then, carry out D PqEigen value decomposition, shown in system of equations (10), to obtain D Pq2 * 2 unitary matrix of latent vector V PqFor D PqEigen value decomposition, use D PqIn the replacement formula (4) R 2 * 2, and with formula (10j) or (10k) V 2 * 2Be provided as V Pq
[0078] then, use matrix V PqForm the multiple Jacobi rotation matrix of N * N T Pq T PqBe unit matrix, its in the position (p, p), (p, q), (q, p) and (q q) locates to have respectively and uses V PqFour elements replacing of (1,1), (1,2), (2,1) and (2,2) element. T PqHave following form:
Figure A200580046490D00291
Formula (21)
Wherein, v 1,1, v 1,2, v 2,1And v 2,2Be V PqFour elements. T PqAll other off-diagonal element be zero.Formula (10j) and (10k) expression T PqBe to comprise v 2,1And v 2,2The complex matrix of complex value.Also will T PqBe called transformation matrix, it carries out the Jacobi rotation.
[0079] then, following renewal matrix D i:
D ‾ i + 1 = T ‾ pq H · D ‾ i · T ‾ pq . Formula (22)
Formula (22) respectively will D iIn the position (p, q) and (q, two off-diagonal element d that p) locate P, qAnd d Q, pMake zero.This calculating can change D iIn the value of other off-diagonal element.
[0080] also can following renewal matrix V i:
V i+1V i· T pq。Formula (23)
Can with V iBe considered as accumulating transformation matrix, it is included in D iAll Jacobi rotation matrixs of last use T Pq
[0081] also can be with the Jacobi rotation matrix T PqBe expressed as the product of following two matrixes: (1) diagonal matrix, it has N-1 1 element and a complex value element; (2) real-valued matrix, it has along cornerwise N-2 1, two real-valued diagonal element, two real-valued off-diagonal elements, and is zero in other place.For example, for p=1 and q=1, T PqHave following form:
Figure A200580046490D00293
Formula (24)
Wherein, g iBe complex value, and c and s are real-valued.Then, can use 12 (N-2)+8 time realities to take advantage of carries out in the formula (22) D iRenewal, and, can use 12N real taking advantage of to carry out in the formula (23) V iRenewal.Then, for each iteration, carry out 24N-16 real taking advantage of altogether.Except T PqOutside the structure, reduced due to the fact that and be used for upgrading D iThe number of times that multiplies each other, that is, and after upgrading D iIt is close to be still strategic point, and, after upgrading as diagonal element, the real-valued eigenvalue of use has 2 * 2 diagonal angle submatrixs.
[0082] each iteration of Jacobi rotation will D iTwo nonzero elements make zero.Can carry out the repeatedly iteration of Jacobi rotation for the different value of index p and q, thus will D iAll off-diagonal elements make zero.Can select index p and q in a predefined manner by scanning all probable values.
[0083] can followingly carry out for the single sweep operation of all probable values of index p and q.Index p progressively increases to N-1 to increase by 1 mode from 1.For each value of p, index q progressively increases to N to increase by 1 mode from p+1.For each various combination of the value of p and q, can carry out and be used for upgrading D iWith V iThe iteration of Jacobi rotation.For each iteration, according to the value of the p of this iteration correspondence and q and current D iAnd form D Pq, at D PqAnd calculate V Pq, shown in system of equations (10), use V PqForm T Pq, shown in formula (21) or (24), upgrade D i, shown in formula (22), and upgrade V i, shown in formula (23).For the given combination of the value of p and q, if D iIn the position (p, q) and (q, the amplitude of two off-diagonal elements p) locating is lower than predetermined thresholding, then also can skip to be used for upgrading D iWith V iJacobi rotation.
[0084] scanning comprises all probable value correspondences of being used to upgrade p and q D iWith V iN (N-1)/2 time iteration of Jacobi rotation.Each iteration of Jacobi rotation will D iTwo off-diagonal elements make zero, but can change other element that has before been made zero.The effect of scanning index p and q is to reduce D iThe amplitude of all off-diagonal elements so that D iNear diagonal matrix Λ V iComprise jointly and providing D iThe accumulation of all Jacobi rotation matrixs, so, when D iApproaching ΛThe time, V iApproaching V
[0085] can carry out time scanning arbitrarily, to obtain VWith ΛMore and more accurate approximate value.Computer simulation demonstrates, four times scanning should be enough to can with D iOff-diagonal element be reduced to insignificant level, and, for a lot of application and Yan Sanci scanning is just enough.Can carry out the scanning (for example, three times or four scanning) of pre-determined number.Perhaps, also can after each scanning, check D iOff-diagonal element, to judge D iWhether enough accurate.For example, can after each scanning, (for example, calculate total error D iThe power of all off-diagonal elements), and itself and error threshold compared, if total error is lower than error threshold, then can handle by termination of iterations.Also can use other conditioned disjunction standard termination of iterations to handle.
[0086] also can select the value of index p and q with the mode of determining.For example, for each iteration i, will D iMaximum off-diagonal element identification and be expressed as d P, qThen, use comprises the off-diagonal element d that this is maximum P, qWith D iThe position (p, p), (q, p) and (q, three other elements q) locating carry out iteration.Can carry out this iterative processing, till reaching end condition.For example, end condition can be the iteration of having finished pre-determined number, satisfy above-mentioned error criterion or some other conditioned disjunction standards.
[0087] in case after iterative processing stops, final V iBe VApproximate value preferably, and final D iBe ΛApproximate value preferably. V iRow can be used as RLatent vector, and D iDiagonal element can be used as REigenvalue.Can be with final D iIn eigenvalue sort from being up to minimum because for each iteration, arranged V PqIn latent vector.Final V iIn latent vector also be basis D iIn they relevant eigenvalue and sort.
[0088] except first time iteration, T PqCalculating and D iWith V iRenewal needn't carry out in order, suppose to calculate the words of not sharing identical hardware cell.Because D iWith V iRenewal relate to matrix multiple, so, these upgrade might use identical hardware successively preface carry out.If for current iteration, upgraded D iOff-diagonal element, next iteration correspondence then T PqCalculating can begin.Work as renewal V iThe time, can carry out with special-purpose hardware T PqCalculating.If finish V iFinished Jacobi rotation during renewal and calculated, then in case finished current iteration correspondence V iAfter the renewal, the next iteration correspondence D iUpgrade and just can begin.
[0089] Fig. 5 shows and is used to carry out N * N Hermitian matrix RThe iterative processing 500 of the eigen value decomposition of (wherein N〉2).Will V iWith D iBe initialized as V 0= IWith D 0= R, and index i is initialized as i=1 (frame 510).
[0090], selects the value (frame 512) of index p and q according to predetermined mode (for example, by progressively via all probable values of these index correspondences) or the mode of determining (for example, by selecting maximum off-diagonal element corresponding index value) for iteration i.Then, use matrix in the position of determining by index p and q D iFour elements form 2 * 2 matrixes D Pq(frame 514).Then, shown in system of equations (10), carry out D PqEigen value decomposition, to obtain D Pq2 * 2 matrixes of latent vector V Pq(frame 516).As described in top Fig. 1 to 4, can efficiently carry out eigen value decomposition.
[0091] then, according to matrix V PqForm the multiple Jacobi rotation matrix of N * N T Pq, shown in formula (21) or (24) (frame 518).Then, according to T PqUpgrade matrix D i, shown in formula (22) (frame 520).Basis also T PqUpgrade matrix V i, shown in formula (23) (frame 522).
[0092] then, judge whether to stop REigen value decomposition (frame 524).Termination criteria can be based on the iteration carried out or scanning times, error criterion or the like.If the answer of frame 524 correspondences is a "No", then increase index i (frame 526), and, handle and turn back to frame 512 to carry out next iteration.Otherwise, if realize stopping, then with matrix D iBe provided as diagonal matrix ΛApproximate value, and with matrix V iBe provided as RThe matrix of latent vector VApproximate value (frame 528).
[0093] for multi-carrier MIMO system (for example, utilizing the mimo system of OFDM), can obtain a plurality of channel response matrixs for different subbands H(k).Can be to each channel response matrix H(k) carry out iterative processing, to obtain matrix D i(k) and V i(k), they are respectively R(k)= H H(k) HThe diagonal matrix of latent vector (k) Λ(k) and matrix V(k) approximate value.
[0094] there is correlativity highly between the adjacent sub-bands in mimo system usually.Iterative processing can utilize this correlativity to reduce calculated amount, thereby is all relevant subbands derivation D i(k) and V i(k).For example, can be at every turn bring row iteration into and handle,, and shift to the other end of system bandwidth from an end of system bandwidth to a son.For for each the subband k first subband, be finally separating that subband k-1 the preceding obtains V i(k-1) can be used as the initial solution of current subband k.The initial table of each subband correspondence can be shown: V 0(k)= V i(k-1) and D ‾ 0 ( k ) = V ‾ 0 k ( k ) · R ‾ ( k ) · V ‾ 0 ( k ) . Then, to subband k's D 0(k) and V 0(k) initial solution is carried out iterative processing, till satisfying end condition.
[0095] also can use above-mentioned notion the time of striding.For each time interval t, be finally separating that time interval t-1 the preceding obtains V i(t-1) can be as the initial solution of current time interval t.The initial table of each time interval correspondence can be shown: V 0(t)= V i(t-1) and D ‾ 0 ( t ) = V ‾ 0 H ( t ) · R ‾ ( k ) · V ‾ 0 ( k ) , Wherein, R(t)= H H(t) H(t), and, H(t) be the channel response matrix of time interval t.Then, to time interval t's D 0(t) and V 0(t) initial solution is carried out iterative processing, till satisfying end condition.
4. Svd
[0096] iterative processing also can be used for any complex matrix greater than 2 * 2 HSvd (SVD). HDimension with R * T, wherein, R is a line number, and T is a columns.Can carry out according to multiple mode HThe iterative processing of svd.
[0097] in first SVD embodiment, iterative processing is derived VIn right singular vector approximate value and U In convergent-divergent after left singular vector.For this embodiment, T * T matrix V iBe VApproximate value, and it is initialized as V 0= IR * T matrix W iBe U Approximate value, and it is initialized as W 0= H
[0098], can following execution be used to upgrade matrix for first SVD embodiment V iWith W iThe single iteration of Jacobi rotation.At first, according to current W iForm 2 * 2 Hermitian matrixs M Pq M PqBe
Figure A200580046490D00331
2 * 2 submatrixs, and be included in The position (p, p), (p, q), (q, p) and (q, four elements q) locating.Can followingly calculate M PqElement:
M ‾ pq = m 1,1 m 1,2 m 1,2 * m 2,2 , Formula (25a)
m 1,1 = | w ‾ p | 2 = Σ l = 1 R w l , p * · w l , p , Formula (25b)
m 2 , 2 = | w ‾ q | 2 = Σ l = 1 R w l , q * · w l , q , And formula (25c)
m 1 , 2 = w ‾ p H w ‾ q = Σ l = 1 R w l , p * · w l , q , Formula (25d)
Wherein, w pBe W iRow p, w qBe W iRow q, and, w L, pBe W iPosition (l, the element of p) locating.Therefore, index p and q satisfy: p ∈ 1 ..., T}, q ∈ 1 ..., T}, and p ≠ q.Can select the value of index p and q according to mode predetermined or that determine, as mentioned above.
[0099] then, carry out M PpEigen value decomposition, shown in system of equations (10), thereby obtain M Pq2 * 2 unitary matrix of latent vector V PqFor this eigen value decomposition, use M PqReplace R 2 * 2, and will V 2 * 2Be provided as V Pq
[00100] then, use matrix V PqForm the multiple Jacobi rotation matrix of T * T T Pq T PqBe unit matrix, its in the position (p, p), (p, q), (q, p) and (q q) locates to have respectively and uses V PqFour elements replacing of (1,1), (1,2), (2,1) and (2,2) element. T PqHas the form shown in formula (21) and (24).
[00101] then, following renewal matrix V i:
V i+1V i· T pq。Formula (26)
[00102] also following renewal matrix W i:
W i+1W i· T pq。Formula (27)
[00103] carry out iterative processing, till reaching end condition, end condition can be pre-determined number scanning or iteration, satisfied error criterion or the like.It is after in case iterative processing is finished, final V iBe VApproximate value preferably, and final W iBe U Approximate value preferably.When convergence, W ‾ i H · W ‾ i = Σ ‾ T · Σ ‾ And U= W i -1, wherein " T" the expression transposition.For square diagonal matrix, can with finally separate and be expressed as: Σ ‾ ^ = ( W ‾ i H · W ‾ i ) 1 / 2 . For non-square diagonal matrix, by
Figure A200580046490D00343
The square root of diagonal element provide
Figure A200580046490D00344
The non-zero diagonal values.Finally separating of U can be expressed as: U ‾ ^ = W ‾ i · Σ ‾ ^ - 1 .
[00104] can carry out first SVD embodiment and find the solution proportional zoom after left singular vector H V= U , carry out standardization then, obtain with this HLeft singular vector.Also can be by right H H HEigen value decomposition carry out iterative processing and obtain HLeft singular vector.
[00105] in second SVD embodiment, iterative processing is directly derived VIn right singular vector and UIn the approximate value of left singular vector.This SVD embodiment puts on two ends with the Jacobi rotation, thereby finds the solution a left side and right singular vector simultaneously.For second SVD embodiment, T * T matrix V iBe VApproximate value, and it is initialized as V 0= IR * R matrix U iBe UApproximate value, and it is initialized as U 0= IR * T matrix D iBe Approximate value, and it is initialized as D 0= H
[00106], can following execution be used to upgrade matrix for second SVD embodiment V i, U iWith D iThe single iteration of Jacobi rotation.At first, according to current D iForm 2 * 2 Hermitian matrixs
Figure A200580046490D0034100518QIETU
Figure A200580046490D0034100527QIETU
Be
Figure A200580046490D00346
2 * 2 submatrixs, and comprise
Figure A200580046490D00347
In position (p 1, p 1), (p 1, q 1), (q 1, p 1) and (q 1, q 1) four elements locating.Can followingly calculate Four elements:
X ‾ p 1 q 1 = x 1,1 x 1,2 x 1,2 * x 2,2 , Formula (28a)
x 1,1 = | d ‾ p 1 | 2 = Σ l = 1 R d l , p 1 * · d l , p 1 , Formula (28b)
x 2 , 2 = | d ‾ q 1 | 2 = Σ l = 1 R d l , q 1 * · d l , q 1 , And formula (28c)
x 1 , 2 = d ‾ p 1 H d ‾ q 1 = Σ l = 1 R d l , p 1 * · d l , q 1 , Formula (28d)
Wherein,
Figure A200580046490D0035101506QIETU
Be D iRow p 1,
Figure A200580046490D0035101518QIETU
Be D iRow q 1, and
Figure A200580046490D00352
Be D iIn position (l, p 1) element located.Therefore, index p 1And q 1Satisfy: p 1∈ 1 ..., T}, q 1∈ 1 ..., T}, and p 1≠ q 1
Can select index p according to mode predetermined or that determine 1And q 1
[00107] then, carry out
Figure A200580046490D0035101553QIETU
Eigen value decomposition, shown in system of equations (10), thereby obtain
Figure A200580046490D0035101635QIETU
2 * 2 matrixes of latent vector
Figure A200580046490D0035101657QIETU
For this eigen value decomposition, use
Figure A200580046490D0035101709QIETU
Replace R 2 * 2, and will V 2 * 2Be provided as Then, the multiple Jacobi rotation matrix of T * T
Figure A200580046490D0035101738QIETU
Be to use matrix
Figure A200580046490D0035101751QIETU
Form, and be included in position (p 1, p 1), (p 1, q 1), (q 1, p 1) and (q 1, q 1) locate
Figure A200580046490D0035101809QIETU
Four elements.
Figure A200580046490D0035101820QIETU
Has the form shown in formula (21) and (24).
[00108] another 2 * 2 Hermitian matrix Also according to current D iForm. Be D i
Figure A200580046490D0035101912QIETU
2 * 2 submatrixs, and comprise D i
Figure A200580046490D0035101929QIETU
Position (p 2, p 2), (p 2, q 2), (q 2, p 2) and (q 2, q 2) element located.Can followingly calculate
Figure A200580046490D0035101944QIETU
Element:
Y ‾ p 2 q 2 = y 1,1 y 1,2 y 1,2 * y 2,2 , Formula (29a)
y 1,1 = | d ‾ ~ p 2 | 2 = Σ l = 1 T d p 2 , l · d p 2 , l * , Formula (29b)
y 2 , 2 = | d ‾ ~ p 2 | 2 = Σ l = 1 T d q 2 , l · d q 2 , l * , And formula (29c)
y 1,2 = d ‾ ~ p 2 · d ‾ ~ q 2 H = Σ l = 1 T d p 2 , l · d q 2 , l * , Formula (29d)
Wherein,
Figure A200580046490D00357
Be D iRow p 2,
Figure A200580046490D00358
Be D iRow q 2, and d P2, lBe D iIn position (p 2, the element of l) locating.Therefore, index p 2And q 2Satisfy: p 2∈ 1 ..., R}, q 2∈ 1 ..., R}, and p 2≠ q 2Also can select index p according to mode predetermined or that determine 2And q 2
[00109] then, carry out Eigen value decomposition, shown in system of equations (10), thereby obtain
Figure A200580046490D0035103501QIETU
2 * 2 matrixes of latent vector
Figure A200580046490D0035103514QIETU
For this eigen value decomposition, use
Figure A200580046490D0035103537QIETU
Replace R 2 * 2, and will V 2 * 2Be provided as Then, the multiple Jacobi rotation matrix of R * R
Figure A200580046490D0035103635QIETU
Be to use matrix Form, and be included in position (p 2, p 2), (p 2, q 2), (q 2, p 2) and (q 2, q 2) locate
Figure A200580046490D0035103709QIETU
Four elements.
Figure A200580046490D0035103719QIETU
Has the form shown in formula (21) and (24).
[00110] following then renewal matrix V i:
V ‾ i + 1 = V ‾ i · T ‾ p 1 q 1 . Formula (30)
[00111] following renewal matrix U i:
U ‾ i + 1 = U ‾ i . S ‾ p 2 q 2 . Formula (31)
[00112] following renewal matrix D i:
D ‾ i + 1 = S ‾ p 2 q 2 H · D ‾ i · T ‾ p 1 q 1 . Formula (32)
[00113] carries out iterative processing, till satisfying end condition.It is after in case iterative processing stops, final V iBe Approximate value preferably, final U iBe UApproximate value preferably, and final D iBe Approximate value preferably, wherein,
Figure A200580046490D00365
With
Figure A200580046490D00366
Can be respectively VWith The rotation version.Can not rotate V iWith D i, as follows:
Σ ‾ ^ = D ‾ i · P ‾ , And formula (33a)
V ‾ ^ = V ‾ i · P ‾ , Formula (33b)
Wherein, PBe T * T diagonal matrix, its diagonal element has unit amplitude and phase place, and described phase place is D iThe negative of phase place of corresponding diagonal element. With
Figure A200580046490D003610
Be respectively With VFinal approximate value.
[00114] for multi-carrier MIMO system, can be to each channel response matrix H(k) carry out iterative processing, thereby obtain matrix V i(k), U i(k) and D i(k), it is respectively H(k) approximate matrix V(k), U(k) and (k).For first SVD embodiment,, be finally separating that subband k-1 the preceding obtains for for each the subband k first subband V i(k-1) can be used as the initial solution of current subband k, therefore, V 0(k)= V i(k-1) and W 0(k)= H(k) V 0(k).For second SVD embodiment,, be finally separating that subband k-1 the preceding obtains for for each the subband k first subband V i(k-1) and U i(k-1) can be used as the initial solution of current subband k, therefore, V 0(k)= V i(k-1), U 0(k)= U i(k-1) and D ‾ 0 ( k ) = U ‾ 0 k ( k ) · H ‾ ( k ) · V ‾ 0 ( k ) . Also can stride time or frequency and time and use this notion, as mentioned above.
5. System
[00115] Fig. 6 shows the block diagram of the embodiment of access point 610 in the mimo system 600 and user terminal 650.Access point 610 is equipped with N ApIndividual antenna, and user terminal 650 is equipped with N UtIndividual antenna, wherein N Ap1 and N Ut1.For the sake of simplicity, below describe hypothesis mimo system 600 and use time division duplex (TDD), and, the downlink channel response matrix of each subband k H Dn(k) with the uplink channel responses matrix of this subband H Up(k) be complementary, perhaps, H Dn(k)= H(k) and H Up(k)= H T(k).
[00116] on downlink, at access point 610 places, emission (TX) data processor 614 receives business datum from data source 612, and slave controller 630 receives other data.614 pairs of data of TX data processor format, encode, interweave and modulate, and generate data symbol, and it is a modulation symbols for data.TX spatial processor 620 carries out data symbol and frequency pilot sign multiplexing, if applicable, uses latent vector or right singular vector to carry out spatial manipulation, and N is provided ApIndividual emission symbols streams.622 pairs of corresponding emission symbols streams of each transmitter unit (TMTR) are handled, and generate downlink modulated signal.Launch N respectively from antenna 624a to 624ap from transmitter unit 622a to 622ap ApIndividual downlink modulated signal.
[00117] at user terminal 650 places, N UtIndividual antenna 652a to 652ut receives the downlink modulated signal of being launched, and each day alignment respective receiver unit (RCVR) 654 provides received signal.Complementary processing is carried out in the processing that 654 pairs of transmitter units of each receiver unit 622 are carried out, and receiving symbol is provided.The receiving symbol that 660 pairs of (RX) spatial processors of reception come from all receiver unit 654a to 654ut carries out spatial matched filtering, and the detection data symbol is provided, and it is the estimation of the data symbol of access point 610 emissions.670 pairs of these detection data symbols of RX data processor are handled (for example, symbol de-maps, deinterleaving and decoding), and provide decoded data to data sink 672 and/or controller 680.
[00118] 678 pairs of receptions of channel estimator frequency pilot sign is handled, and the estimation of downlink channel response is provided for each relevant subband Controller 680 can decompose each matrix
Figure A200580046490D00372
To obtain
Figure A200580046490D00373
With
Figure A200580046490D00374
It is H(k) V(k) and (k) estimation.Controller 680 can basis
Figure A200580046490D00375
Derive the downlink spatial filter matrices of each relevant subbands M Dn(k), as shown in table 1.Controller 680 can provide to RX spatial processor 660 M Dn(k), and provide to TX spatial processor 690 carrying out the downlink spatial matched filtering
Figure A200580046490D00376
Handle to carry out the up-link space.
[00119] being used for the processing of up-link can be identical or different with the processing that is used for downlink.From the data of data source 686 and the signaling of coming self-controller 680 by TX data processor 688 handle (for example, encode, interweave and sign map), utilize frequency pilot sign carry out multiplexing, and further utilize each relevant subbands by TX spatial processor 690
Figure A200580046490D0037175122QIETU
(k) carry out spatial manipulation.Emission symbol from TX data processor 690 is further handled by transmitter unit 654a to 654ut, to generate N UtIndividual uplink modulated signals, it is launched via antenna 652a to 652ut.
[00120] at access point 610 places, uplink modulated signals is received by antenna 624a to 624ap, and is handled by receiver unit 622a to 622ap, is used for the receiving symbol of ul transmissions with generation.RX spatial processor 640 receives data symbol to these and carries out spatial matched filtering, and the detection data symbol is provided.RX data processor 642 detects data symbol to these and handles, and provides decoded data to data sink 644 and/or controller 630.
[00121] channel estimator 628 is handled receiving frequency pilot sign according to the mode that sends uplink pilot, and provides for each relevant subband H T(k) or U(k) estimation.Controller 630 can receive a plurality of subbands
Figure A200580046490D00381
To obtain
Figure A200580046490D00382
Controller 680 can also basis
Figure A200580046490D00383
For each relevant subbands derives up-link space electric-wave filter matrix M Up(k).Controller 630 provides to RX spatial processor 640 M Up(k), and provide to TX spatial processor 620 carrying out the matched filtering of up-link space
Figure A200580046490D00384
To carry out the downlink spatial manipulation.
[00122] controller 630 and 680 is controlled the operation at access point 610 and user terminal 650 places respectively.Memory cell 632 and 682 is stored respectively by controller 630 and 680 data and the program codes that use.Controller 630 and/or 680 can carry out eigen value decomposition and/or svd to the channel response matrix that obtains for its receiver.
[00123] decomposition technique described herein can be realized by variety of way.For example, these technology can realize with hardware, software or way of hardware and software combination.Realize that for hardware the processing unit that is used for decomposing can be implemented in one or more special ICs (ASIC), digital signal processor (DSP), digital signal processor spare (DSPD), programmable logic device (PLD) (PLD), field programmable gate array (FPGA), processor, controller, microcontroller, microprocessor, is used to carry out other electronic units or its combination of function described herein.
Realize for software that [00124] decomposition technique can be realized with the module (for example, process, function etc.) of carrying out the described function of the application.These software codes can be stored in the memory cell (for example, the memory cell 632 and 682 among Fig. 6), and are carried out by processor (for example, controller 630 or 680).Memory cell can be implemented in the processor or processor outside.
[00125] title that comprises of this paper is used for reference, and it is intended to locate specific chapters and sections.These titles are not the scope that is used to limit its notion of describing down, and these notions can be applied to other chapters and sections of whole instructions.
[00126] for making those skilled in the art can realize or use the present invention, is described round disclosed embodiment above.To those skilled in the art, all be conspicuous to the various modifications of these embodiment, and the general principles of the application's definition also can be applicable to other embodiment on the basis that does not break away from spirit of the present invention or protection domain.Therefore, the present invention is not limited to the embodiment that the application provides, but consistent with the widest scope of disclosed principle of the application and novel features.

Claims (46)

1, a kind of method of split-matrix comprises:
According to first matrix that will decompose and use CORDIC (CORDIC) algorithm to derive at least one variable of first group;
According to described first matrix and use question blank to derive at least one variable of second group; And
At least one variable according to described first group and second group is derived second matrix of being made up of latent vector.
The process of claim 1 wherein that 2, at least one variable of deriving first group comprises:
The described first entry of a matrix element is carried out CORDIC calculate, to determine the amplitude and the phase place of described element; And
The phase place of described element is carried out CORDIC calculate, with the sine and the cosine of definite described element, and wherein, at least one described first group variable comprises the sine and the cosine of described element.
The process of claim 1 wherein that 3, at least one variable of deriving second group comprises:
Derive intermediate quantity according to described first matrix; And
According to described intermediate quantity and use question blank to derive at least one described second group variable.
4, the method for claim 3, wherein, derive intermediate quantity and comprise:
Derive the divisor of intermediate variable according to first element of described first matrix;
Convert described divisor to first binary floating point number;
Derive the dividend of described intermediate variable according to second and element of described first matrix;
Convert described dividend to second binary floating point number; And
Become described intermediate quantity according to the described first and second binary floating point number forms.
5, a kind of device comprises:
CORDIC (CORDIC) processor is derived at least one variable of first group according to first matrix that will decompose;
Query processor is according to described first matrix and use question blank to derive at least one variable of second group; And
Preprocessor is derived second matrix of being made up of latent vector according at least one described first and second groups variable.
6, the device of claim 5, wherein, described CORDIC processor carries out CORDIC to the described first entry of a matrix element and calculates, to determine the amplitude and the phase place of described element, the phase place of described element is carried out CORDIC to be calculated, determining the sine and the cosine of described element, and the sine and the cosine of described element is provided as at least one described first group variable.
7, the device of claim 5, wherein, described query processor is derived intermediate quantity according to described first matrix, and, according to described intermediate quantity and use described question blank to derive at least one described second group variable.
8, the device of claim 7, wherein, described query processor is derived the divisor of intermediate variable according to first element of described first matrix, convert described divisor to first binary floating point number, derive the dividend of described intermediate variable according to second and element of described first matrix, convert described dividend to second binary floating point number, and become described intermediate quantity according to the described first and second binary floating point number forms.
9, a kind of device comprises:
According to first matrix that will decompose and use CORDIC (CORDIC) algorithm to derive the module of at least one variable of first group;
According to described first matrix and use question blank to derive the module of at least one variable of second group; And
At least one variable according to described first group and second group is derived the second matrix norm piece of being made up of latent vector.
10, the device of claim 9, wherein, the module that derives at least one described first group variable comprises:
The described first entry of a matrix element is carried out CORDIC to be calculated with the amplitude of definite described element and the module of phase place; And
The phase place of described element is carried out CORDIC calculate, and wherein, at least one described first group variable comprises the sine and the cosine of described element with the sine of definite described element and the module of cosine.
11, the device of claim 9, wherein, the module that derives at least one described second group variable comprises:
Intermediate quantity derives module, derives intermediate quantity according to described first matrix; And
According to described intermediate quantity and use described question blank to derive the module of at least one described second group variable.
12, the device of claim 11, wherein, described intermediate quantity derives module and comprises:
Derive the module of the divisor of intermediate variable according to first element of described first matrix;
Described divisor is converted to the module of the first binary floating point number;
Second and element according to described first matrix derive the module of the dividend of described intermediate variable;
Described dividend is converted to the module of the second binary floating point number; And
Become the module of described intermediate quantity according to the described first and second binary floating point number forms.
13, a kind of method of split-matrix comprises:
Derive intermediate quantity according to first matrix that will decompose;
According to described intermediate quantity and use question blank to derive at least one variable; And
Derive second matrix of forming by latent vector according to described at least one variable.
14, the method for claim 13, wherein, derive intermediate quantity according to first matrix and comprise:
Derive the divisor of intermediate variable according to first element of described first matrix;
Convert described divisor to first binary floating point number;
Derive the dividend of described intermediate variable according to second and element of described first matrix;
Convert described dividend to second binary floating point number; And
Become described intermediate quantity according to the described first and second binary floating point number forms.
15, the method for claim 14 wherein, becomes described intermediate quantity to comprise according to the described first and second binary floating point number forms:
Derive first intermediate quantity according to the mantissa of the described first binary floating point number;
Derive second intermediate quantity according to the mantissa of the described second binary floating point number;
Derive the 3rd intermediate quantity according to the index of described first and second floating numbers.
16, the method for claim 15, wherein, derive at least one variable and comprise:
Form the Input Address of described question blank according to described first, second and the 3rd intermediate quantity; And
Use described Input Address to visit described question blank.
17, a kind of device comprises:
Front processor is derived intermediate quantity according to first matrix that will decompose;
Question blank provides at least one variable according to described intermediate quantity; And
Preprocessor is derived second matrix of being made up of latent vector according to described at least one variable.
18, the device of claim 17, wherein, described front processor is derived the divisor of intermediate variable according to first element of described first matrix, convert described divisor to first binary floating point number, derive the dividend of described intermediate variable according to second and element of described first matrix, convert described dividend to second binary floating point number, and become described intermediate quantity according to the described first and second binary floating point number forms.
19, the device of claim 18, wherein, described front processor is also derived first intermediate quantity according to the mantissa of the described first binary floating point number, derive second intermediate quantity according to the mantissa of the described second binary floating point number, derive the 3rd intermediate quantity according to the index of described first and second floating numbers, and form the Input Address of described question blank according to described first, second and the 3rd intermediate quantity.
20, the device of claim 17, wherein, the size of described question blank is to select according to the expection degree of accuracy of described at least one variable.
21, a kind of device comprises:
Derive the module of intermediate quantity according to first matrix that will decompose;
According to described intermediate quantity and use question blank to derive the module of at least one variable; And
Derive the second matrix norm piece of forming by latent vector according to described at least one variable.
22, the device of claim 21, wherein, the module that derives intermediate quantity according to first matrix comprises:
Derive the module of the divisor of intermediate variable according to first element of described first matrix;
Described divisor is converted to the module of the first binary floating point number;
Second and element according to described first matrix derive the module of the dividend of described intermediate variable;
Described dividend is converted to the module of the second binary floating point number; And
Become the module of described intermediate quantity according to the described first and second binary floating point number forms.
23, the device of claim 22 wherein, becomes the module of described intermediate quantity to comprise according to the described first and second binary floating point number forms:
First intermediate quantity derives module, derives first intermediate quantity according to the mantissa of described first floating number;
Second intermediate quantity derives module, derives second intermediate quantity according to the mantissa of described second floating number; And
The 3rd intermediate quantity derives module, derives the 3rd intermediate quantity according to the index of described first and second floating numbers.
24, a kind of method of split-matrix comprises:
The first entry of a matrix element is carried out CORDIC (CORDIC) calculate, to determine the amplitude and the phase place of described element;
The phase place of described element is carried out CORDIC calculate, to determine the sine and the cosine of described element; And
Amplitude, sine and cosine according to described element are derived second matrix of being made up of latent vector.
25, the method for claim 24, wherein, to described element carry out CORDIC calculate with the amplitude of determining described element and phase place with the phase place of described element is carried out CORDIC and calculates to walk abreast and carry out with the sine of determining described element and cosine.
26, the method for claim 24, wherein, to described element carry out CORDIC calculate with the amplitude of determining described element and phase place with the phase place of described element is carried out CORDIC and calculates with the sine of definite described element and the iteration that cosine is all carried out pre-determined number.
27, a kind of device comprises:
The first entry of a matrix element is carried out CORDIC (CORDIC) to be calculated with the amplitude of definite described element and the module of phase place;
The phase place of described element is carried out CORDIC to be calculated with the sine of definite described element and the module of cosine; And
Amplitude, sine and cosine according to described element are derived the second matrix norm piece of being made up of latent vector.
28, a kind of method of split-matrix comprises:
Use a plurality of Jacobi rotation matrixs that the first complex value matrix is carried out repeatedly Jacobi rotation iteration, each Jacobi rotation matrix is derived by using CORDIC (CORDIC) algorithm, question blank or described cordic algorithm and described question blank to carry out eigen value decomposition; And
Derive first unitary matrix according to described a plurality of Jacobi rotation matrixs with orthogonal vector.
29, the method for claim 28, wherein, carry out repeatedly Jacobi rotation iteration and comprise: for each iteration,
Form submatrix according to described first matrix;
Use described cordic algorithm, described question blank or described cordic algorithm and described question blank to decompose described submatrix, to obtain the latent vector of described submatrix;
Use described latent vector to form the Jacobi rotation matrix; And
Use described Jacobi rotation matrix to upgrade described first matrix.
30, the method for claim 29, wherein, decompose described submatrix and comprise:
According to described submatrix and use described cordic algorithm to derive at least one variable of first group;
According to described submatrix and use described question blank to derive at least one variable of second group; And
Derive the latent vector of described submatrix according at least one described first and second groups variable.
31, the method for claim 28 also comprises:
Derive diagonal matrix according to described a plurality of Jacobi rotation matrixs with eigenvalue.
32, the method for claim 28 also comprises:
Derive the second complex value matrix according to described a plurality of Jacobi rotation matrixs; And
Derive second unitary matrix with orthogonal vector according to described second matrix.
33, the method for claim 32 also comprises:
Derive diagonal matrix with singular value according to described second matrix.
34, the method for claim 28 also comprises:
Derive second unitary matrix according to described a plurality of Jacobi rotation matrixs with orthogonal vector.
35, the method for claim 34 also comprises:
Derive diagonal matrix according to described a plurality of Jacobi rotation matrixs with singular value.
36, a kind of device comprises:
Use a plurality of Jacobi rotation matrixs that the first complex value matrix is carried out repeatedly the module that Jacobi rotates iteration, each Jacobi rotation matrix is derived by using CORDIC (CORDIC) algorithm, question blank or described cordic algorithm and described question blank to carry out eigen value decomposition; And
Derive the module of first unitary matrix with orthogonal vector according to described a plurality of Jacobi rotation matrixs.
37, the device of claim 36, wherein, the module of carrying out repeatedly Jacobi rotation iteration comprises: for each iteration,
Form the module of submatrix according to described first matrix;
Use described cordic algorithm, described question blank or described cordic algorithm and described question blank to decompose the module of described submatrix with the latent vector that obtains described submatrix;
Use described latent vector to form the module of Jacobi rotation matrix; And
Use described Jacobi rotation matrix to upgrade the described first matrix norm piece.
38, the device of claim 37, wherein, the module of decomposing described submatrix comprises:
According to described submatrix and use described cordic algorithm to derive the module of at least one variable of first group;
According to described submatrix and use described question blank to derive the module of at least one variable of second group; And
Derive the module of the latent vector of described submatrix according at least one described first and second groups variable.
39, a kind of method of split-matrix comprises:
Obtain a plurality of complex value matrixes of a plurality of transmission span correspondences;
The first complex value matrix to the first transmission span correspondence carries out repeatedly Jacobi rotation iteration, to obtain first unitary matrix with orthogonal vector, wherein, each Jacobi rotation iteration has been utilized the eigen value decomposition of use CORDIC (CORDIC) algorithm, question blank or described cordic algorithm and described question blank; And
The second complex value matrix to the second transmission span correspondence carries out repeatedly Jacobi rotation iteration, to obtain second unitary matrix with orthogonal vector, wherein, described first unitary matrix is as the initial solution of described second unitary matrix, wherein, described first and second matrixes are among described a plurality of matrixes, and wherein, described first and second transmission spans are among described a plurality of transmission spans.
40, the method for claim 39 also comprises:
For remaining each complex value matrix in described a plurality of complex value matrixes, described complex value matrix is carried out repeatedly Jacobi rotation iteration, to obtain unitary matrix with orthogonal vector, wherein, another unitary matrix of obtaining for another matrix in described a plurality of matrixes is used as the initial solution of described unitary matrix.
41, the method for claim 39 also comprises:
Select described a plurality of matrix in order, to decompose.
42, the method for claim 39, wherein, in multi-carrier communications systems, described a plurality of transmission spans are corresponding to a plurality of frequency subbands.
43, the method for claim 39, wherein, described a plurality of transmission spans are corresponding to a plurality of time intervals.
44, the method for claim 39, wherein, for a plurality of frequency subbands, described a plurality of complex value matrixes are a plurality of channel response matrixs.
45, a kind of device comprises:
Obtain a plurality of complex value matrix norm pieces of a plurality of transmission span correspondences;
The first complex value matrix to the first transmission span correspondence carries out repeatedly Jacobi rotation iteration to obtain the module of first unitary matrix with orthogonal vector, wherein, each Jacobi rotation iteration has been utilized the eigen value decomposition of use CORDIC (CORDIC) algorithm, question blank or described cordic algorithm and described question blank; And
The second complex value matrix to the second transmission span correspondence carries out repeatedly Jacobi rotation iteration to obtain the module of second unitary matrix with orthogonal vector, wherein, described first unitary matrix is as the initial solution of described second unitary matrix, wherein, described first and second matrixes are among described a plurality of matrixes, and wherein, described first and second transmission spans are among described a plurality of transmission spans.
46, the device of claim 45 also comprises:
For remaining each complex value matrix in described a plurality of complex value matrixes, described complex value matrix is carried out repeatedly Jacobi rotation iteration to obtain the module of the unitary matrix with orthogonal vector, wherein, another unitary matrix of obtaining for another matrix in described a plurality of matrixes is used as the initial solution of described unitary matrix.
CNA2005800464908A 2004-11-15 2005-11-15 Efficient computation for eigenvalue decomposition and singular value decomposition of matrices Pending CN101438277A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US62832404P 2004-11-15 2004-11-15
US60/628,324 2004-11-15
US11/096,839 2005-03-31

Publications (1)

Publication Number Publication Date
CN101438277A true CN101438277A (en) 2009-05-20

Family

ID=36129731

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2005800464908A Pending CN101438277A (en) 2004-11-15 2005-11-15 Efficient computation for eigenvalue decomposition and singular value decomposition of matrices
CN2005800464414A Expired - Fee Related CN101390351B (en) 2004-11-15 2005-11-15 Eigenvalue decomposition and singular value decomposition of matrices using jacobi rotation

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2005800464414A Expired - Fee Related CN101390351B (en) 2004-11-15 2005-11-15 Eigenvalue decomposition and singular value decomposition of matrices using jacobi rotation

Country Status (9)

Country Link
EP (1) EP1828923A2 (en)
JP (1) JP4648401B2 (en)
KR (2) KR20090115822A (en)
CN (2) CN101438277A (en)
AR (1) AR051497A1 (en)
CA (1) CA2588176C (en)
IN (1) IN2012DN01928A (en)
TW (1) TWI407320B (en)
WO (1) WO2006053340A2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908123A (en) * 2010-06-01 2010-12-08 福建新大陆电脑股份有限公司 Hardware logic implementation device for Hough operation
CN104636632A (en) * 2015-03-10 2015-05-20 中国人民解放军国防科学技术大学 Calculation method with high-accuracy phase and small-memory capacitance lookup
CN105403865A (en) * 2015-10-23 2016-03-16 河海大学 Multicarrier signal constant envelope modulation method
CN107102841A (en) * 2017-04-06 2017-08-29 上海晟矽微电子股份有限公司 A kind of coordinate transform parallel calculating method and device
CN110462612A (en) * 2017-02-17 2019-11-15 凯恩迪股份有限公司 The method and apparatus for carrying out machine learning using the network at network node with ageng and ranking then being carried out to network node
WO2020206716A1 (en) * 2019-04-10 2020-10-15 浙江大学 Parallel jacobi calculation acceleration implementation method for fpga
CN112015369A (en) * 2020-08-25 2020-12-01 湖南艾科诺维科技有限公司 FPGA-based signal processing method, electronic device and storage medium
CN114184837A (en) * 2021-12-09 2022-03-15 电子科技大学 Instantaneous frequency measurement method based on Cordic algorithm

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204149B2 (en) 2003-12-17 2012-06-19 Qualcomm Incorporated Spatial spreading in a multi-antenna communication system
US7336746B2 (en) 2004-12-09 2008-02-26 Qualcomm Incorporated Data transmission with spatial spreading in a MIMO communication system
US8923785B2 (en) 2004-05-07 2014-12-30 Qualcomm Incorporated Continuous beamforming for a MIMO-OFDM system
US8285226B2 (en) 2004-05-07 2012-10-09 Qualcomm Incorporated Steering diversity for an OFDM-based multi-antenna communication system
US7978649B2 (en) 2004-07-15 2011-07-12 Qualcomm, Incorporated Unified MIMO transmission and reception
US7602855B2 (en) 2005-04-01 2009-10-13 Interdigital Technology Corporation Method and apparatus for singular value decomposition of a channel matrix
US8543070B2 (en) 2006-04-24 2013-09-24 Qualcomm Incorporated Reduced complexity beam-steered MIMO OFDM system
US8290089B2 (en) 2006-05-22 2012-10-16 Qualcomm Incorporated Derivation and feedback of transmit steering matrix
RU2407158C1 (en) * 2006-08-17 2010-12-20 Интердиджитал Текнолоджи Корпорейшн Method and device for providing efficient feedback with precoding in mimo wireless communication system
CN101488759B (en) * 2009-02-24 2012-04-11 东南大学 Decoding method for MIMO OFDM system low density correcting code
CN102013907B (en) * 2010-09-29 2013-12-11 中国科学院声学研究所 Channel information feedback method of beam shaping system with Mt*2MIMO (Multiple Input Multiple Output) characteristic
CN103780330B (en) * 2012-10-19 2017-04-26 华为技术有限公司 Signal transmission method, system and device
CN105323036A (en) * 2014-08-01 2016-02-10 ***通信集团公司 Method and device for performing singular value decomposition on complex matrix and computing equipment
CN105323037A (en) * 2014-08-01 2016-02-10 ***通信集团公司 Pre-coding method and device according to complex matrix
CN105871503B (en) * 2015-01-22 2019-03-12 华邦电子股份有限公司 Multiple input, multiple output wireless communication system and its channel decomposition method
CN104618293B (en) * 2015-01-27 2017-11-28 东南大学 A kind of optimization method of the unitary transformation matrix of smooth singular value decomposition
CN108228536B (en) * 2018-02-07 2021-03-23 成都航天通信设备有限责任公司 Method for realizing Hermitian matrix decomposition by using FPGA (field programmable Gate array)
CN110531866B (en) * 2019-10-29 2020-03-13 深圳市瑞立视多媒体科技有限公司 Method for performing attitude calculation based on improved inverse kinematics and related equipment
US20230188403A1 (en) * 2021-12-10 2023-06-15 Rampart Communications, Inc. Methods and apparatus for correcting timing and frequency offsets between communications receivers and transmitters
CN116382617B (en) * 2023-06-07 2023-08-29 之江实验室 Singular value decomposition accelerator with parallel ordering function based on FPGA

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2976888B2 (en) * 1996-06-27 1999-11-10 日本電気株式会社 Circuit simulation method
DE19626984C1 (en) * 1996-07-04 1997-11-27 Siemens Ag Process for computer-aided determination of a system context function
US6510354B1 (en) * 1999-04-21 2003-01-21 Ching-Fang Lin Universal robust filtering process
US6859747B2 (en) * 2001-04-26 2005-02-22 Siemens Energy & Automation, Inc. Method and apparatus for self-calibrating a motion control system
US7327800B2 (en) * 2002-05-24 2008-02-05 Vecima Networks Inc. System and method for data detection in wireless communication systems

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908123A (en) * 2010-06-01 2010-12-08 福建新大陆电脑股份有限公司 Hardware logic implementation device for Hough operation
CN101908123B (en) * 2010-06-01 2012-06-27 福建新大陆电脑股份有限公司 Hardware logic implementation device for Hough operation
CN104636632A (en) * 2015-03-10 2015-05-20 中国人民解放军国防科学技术大学 Calculation method with high-accuracy phase and small-memory capacitance lookup
CN105403865A (en) * 2015-10-23 2016-03-16 河海大学 Multicarrier signal constant envelope modulation method
CN105403865B (en) * 2015-10-23 2017-10-27 河海大学 Multi-carrier signal constant envelope modulation methodology
CN110462612A (en) * 2017-02-17 2019-11-15 凯恩迪股份有限公司 The method and apparatus for carrying out machine learning using the network at network node with ageng and ranking then being carried out to network node
CN107102841A (en) * 2017-04-06 2017-08-29 上海晟矽微电子股份有限公司 A kind of coordinate transform parallel calculating method and device
WO2020206716A1 (en) * 2019-04-10 2020-10-15 浙江大学 Parallel jacobi calculation acceleration implementation method for fpga
CN112015369A (en) * 2020-08-25 2020-12-01 湖南艾科诺维科技有限公司 FPGA-based signal processing method, electronic device and storage medium
CN114184837A (en) * 2021-12-09 2022-03-15 电子科技大学 Instantaneous frequency measurement method based on Cordic algorithm
CN114184837B (en) * 2021-12-09 2022-10-18 电子科技大学 Instantaneous frequency measurement method based on Cordic algorithm

Also Published As

Publication number Publication date
EP1828923A2 (en) 2007-09-05
KR20070086178A (en) 2007-08-27
AR051497A1 (en) 2007-01-17
IN2012DN01928A (en) 2015-07-24
WO2006053340A3 (en) 2008-07-31
TW200703039A (en) 2007-01-16
CN101390351B (en) 2012-10-10
WO2006053340A2 (en) 2006-05-18
CN101390351A (en) 2009-03-18
KR20090115822A (en) 2009-11-06
CA2588176C (en) 2012-10-16
CA2588176A1 (en) 2006-05-18
JP4648401B2 (en) 2011-03-09
JP2008521294A (en) 2008-06-19
KR101084792B1 (en) 2011-11-21
TWI407320B (en) 2013-09-01

Similar Documents

Publication Publication Date Title
CN101438277A (en) Efficient computation for eigenvalue decomposition and singular value decomposition of matrices
US7711762B2 (en) Efficient computation for eigenvalue decomposition and singular value decomposition of matrices
CN1998160B (en) Iterative eigenvector computation for a MIMO communication system
RU2521489C2 (en) Efficient filter weight computation for mimo system
CN102739573B (en) Channel estimation methods and channel estimator
JP5096463B2 (en) Derivation and feedback of transmit steering matrix
US7852951B2 (en) Multicarrier receiver for multiple-input multiple-output wireless communication systems and method
CN102484554B (en) Flexible sdma and interference suppression
Mansour Optimized architecture for computing Zadoff-Chu sequences with application to LTE
CN101707582A (en) Method for estimating MIMO channel on basis of multi-phase decomposition
CN101421960A (en) Method for processing a data signal, data processing unit and computer program product
US20180052219A1 (en) Direct closed-form covariance matrix and finite alphabet constant-envelope waveforms for planar array beampatterns
CN101512996A (en) Equalizing structure and equalizing method
US8306139B2 (en) Systems and methods for low-complexity MIMO detection using leaf-node prediction via look-up tables
US20130170587A1 (en) Systems and Methods for N-Dimensional Leaf-Node Prediction for MIMO Detection
CN110115006B (en) Hardware virtualization for mean and variance estimation of QAM symbols
CN111988069B (en) Large-scale MIMO generalized eigenvector structure precoding solving method and device
CN1914870B (en) Multi-antenna system to simultaneous support of MISO and MIMO receivers
US20080232491A1 (en) Systems and methods for low-complexity mimo detection with analytical leaf-node prediction
Ahmad et al. Scalable block-based parallel lattice reduction algorithm for an SDR baseband processor
KR20080041520A (en) A method for estimation and saving channel in communication system
Sameer et al. An efficient technique for the integer frequency offset estimation in OFDM systems
Ludwig et al. FPGA Implementation of ZF-THP for MU-MISO-OFDM Systems
JP2006254050A (en) Wireless communication device and wireless communication method
CN103595663A (en) Estimation method for transmission complex signals

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20090520