Utilize the CDMA communication system multi-user test method of conjugate gradient algorithms
Technical field
The present invention relates to a kind of multi-user test method of communication system, specifically, relate to a kind of multi-user test method that utilizes the CDMA communication system of conjugate gradient algorithms.
Background technology
In CDMA (code division multiple access) communication system, because a plurality of users' signal is in the same space zone, on time domain and frequency domain, be overlapping, therefore can correctly separate multiple user signals be key in the system design process to receiving terminal, and one of them significant effects factor is that the intersymbol interference (ISI) that causes of time varying channel and other user's multiple access disturb (MAI).In traditional mobile communcations system, it is Gaussian noise that receiving system is disturbed equivalence with multiple access, thereby other user's useful information has been abandoned, and makes judgement back error code more.Multiuser Detection then is to make full use of the useful information of system transmissions and the data that other user profile detects unique user, reach best judgement effect, to improve systematic function and power system capacity, reduce the influence of near-far interference to system, simplify power control.
As shown in Figure 1, be the link model of a typical synchronous CDMA system.Investigate the CDMA systems of a total K excited users, each user is in the information of N data symbol of each data channel burst (Burst) transmission, if k user's transmission data are expressed as d
(k), wherein behind each data symbol process spread spectrum and the wireless channel, the data that receive can be expressed as:
In the formula: Q is the spread spectrum coefficient of system, and N is each user's of system a symbol, and W is that the estimating window of system channel impulse response is long.
Subscript k represents corresponding to k user in the following formula, the shared whole code channel number K of all users.
Definition b
(k)Product for user's spreading code and channel impulse response:
b
(k)=c
(k)*h
(k)
In the following formula, the form of b can be written as:
In the formula, the length of b is (W+Q-1);
It is k user's channel code;
K user's channel impulse response:
Facilitate the introduction of sytem matrix A for what explain, then received signal can be expressed as
e
(k)=A
(k)d
(k)+n
n=(n
1,n
2…n
NQ+W-1)
T
Q is the spread spectrum coefficient of system, and N is each user's of system a symbol, and W is that the estimating window of system channel impulse response is long.
The structure of A matrix as shown in Figure 2.Identical b
(k), as shown in Figure 2, in each row of A matrix, illustrate with same texture table.
Consider a used K user, then whole data transfer model (system equation) can be shown with following table:
In the following formula: the vector model of whole reception can be expressed as e=(e
1, e
2E
NQ+W-1)
T
If K user is activated, then sytem matrix A can be expressed as:
A=(A
(1),A
(2),…A
(K))
It is (a N * Q+W-1) * (the matrix of dimension of N * K)
The problems referred to above are equivalent to separating of following system of linear equations: (A
HA) d=A
He
Make R=(A
HA), claim that matrix R is the autocorrelation matrix of system.R is piece Teoplitz (Toeplitz) matrix of positive definite symmetry in the native system, and its structure as shown in Figure 3.
Make d
Maf=A
HE claims that usually this process is matched filtering, d
MafBe the result after the matched filtering.So above-mentioned system of linear equations becomes:
Because the autocorrelation matrix of system is a positive definite symmetry blocks Toeplitz matrix, so the method that the general Qiao Laisiji of use (Cholesky) decomposes in the prior art is found the solution R
-1, process is as follows:
The Qiao Laisiji decomposition method decomposes R=LL in the following formula
H, L is a lower triangular matrix.Its structure is:
Like this by using the method for decomposing to simplify operand.
Because the dimension of R matrix is bigger, like this it is directly carried out Qiao Laisiji and decomposes, its operand can't be accepted, implementation complexity is big, in the actual application to resource requirement than higher, this just causes the detector arrangement complexity.When the number of users of current activation was a lot of, it is very big that K can become, and the complexity of matrix decomposition will increase considerably like this.As matrix inversion, all will increase sharply to the complexity of iterative solution equation step in front and back, make the complexity of method of whole this Multiuser Detection very high.
Secondly, directly carry out Qiao Laisiji and decompose, computational complexity can not change with the improvement of channel environment.Because the method that Qiao Laisiji decomposes is to belong to direct method, so the step of its calculating is fixed, therefore the complexity of its calculating is also fixed, and the not improvement of road situation and variation with the letter, even when communication environments is extraordinary, also to repeat all steps, cause the complexity of algorithm to fix like this.
Because the complexity that Qiao Laisiji decomposes is too high, so in actual applications, can only the correlation matrix of part be decomposed, that is: approximate Qiao Laisiji decomposition method decomposes and can not carry out accurate Qiao Laisiji.We can only obtain its approximate solution like this.
Except using direct Qiao Laisiji decomposition method to find the solution, the method for using always that also has interference eliminated, still, the convergence rate of the method for interference eliminated commonly used is very slow.Especially when environment is abominable,, need the higher number of times of repeatedly being with to restrain as when the diameter situation is many.And under some condition, repeatedly band may not restrained.Cause the algorithm failure.
Summary of the invention
The object of the present invention is to provide a kind of multi-user test method that utilizes the CDMA communication system of conjugate gradient algorithms, it can reduce computational complexity, and its convergence rate is very fast, can accurately detect the data on the shared whole code channels of all users, to reach best reception.
For achieving the above object, the present invention proposes a kind of multi-user test method that utilizes the conjugate gradient algorithms CDMA communication system, and it comprises following steps:
1. in the communication system of code division multiple access, receiving system detects spread spectrum information, scramble information, the channel impulse response information of the shared whole code channels of all users;
2. receiving system produces the autocorrelation matrix R of system, and this matrix R reflects above-mentioned user's spread spectrum information, scramble information, channel impulse response information;
3. generate the user data vector d that receives
Maf: receiving system uses matched filter or Rake receiver to detect to obtain all user data that are activated after the despreading, and according to certain arrangement regulation arrangement, a kind of arrangement regulation that can select is: with first symbol of the data on first code channel, first symbol of data on second code channel, by that analogy, first symbol of the data to the K code channel; Then, second symbol of the data on second symbol of the data on first code channel, second code channel, by that analogy, and second symbol of the data to K the code channel, same arranges all N symbol according to this rule, forms vector d
Maf
4. by above-mentioned matrix R, user data vector d
Maf, each code channel of calculating that obtains finding the solution sends the system equation of data
5. the Multiuser Detection module solves separating of above-mentioned equation
Obtain the estimation of the transmission data on the shared code channel of each user, reach the purpose of Multiuser Detection;
Described step 5 comprises following steps again:
5.1: the Multiuser Detection module is carried out initial parameter selection
5.1.1: select the primary iteration value
5.1.2: select initial residual amount:
5.1.3: convergence detects, if the condition of convergence satisfies, then
Desired exactly separating
Withdraw from calculating process;
5.1.4: the selection of initial search direction: direction q
0=r
0
5.2: enter and repeatedly be with computational process, represent iteration the k time with subscript, k=1,2,3 ...
5.2.1: matrix when calculating the k time iteration and the product of vector: Rq
K-1
5.2.2 calculate step-length: the α that advances
K-1=-(r
K-1, r
K-1)/(Rq
K-1, q
K-1), this step comprises two inner product operations and a division arithmetic;
5.2.3: calculate repeatedly band value the k time:
5.2.4: upgrade residual amount: r
k=r
K-1+ α
K-1Rq
K-1
5.2.5: convergence detects, and stops to calculate if the condition of convergence satisfies, and is above-mentioned
Desired exactly separating
Withdraw from calculating process, jump out circulation;
5.2.6: computing parameter makes λ
K-1=(r
k, r
k)/(r
K-1, r
K-1)
5.2.7: upgrade the direction of search: q
k=r
k+ λ
K-1q
K-1
5.2.8: circulation execution in step 5.2.1 to 5.2.7, satisfy and stop to calculate and jump out circulation up to the condition of step 5.2.5.
Described step 5.1.3 and 5.2.5, convergence detects and comprises following steps:
A1: determine a thresholding minimal error e, this numerical value must be enough little;
A2: find the solution the iterative solution k residual amount r in step
kMould ‖ r
k‖
2
A3: according to certain judgment criterion, as ‖ r
k‖
2Be decreased to e or less than e, or when being reduced no longer significantly, then convergence conditions satisfies, and withdraws from and repeatedly is with computing.
Step 5.1.4 and 5.2.5, convergence detects also can carry out in the following manner:
B1:, set the repeatedly band time numerical value Y of a maximum in advance according to the performance requirement of communication system;
B2: judge repeatedly whether band time numerical value k reaches Y, as reach then that convergence conditions satisfies, withdraw from and repeatedly be with computing.
Steps A 1 may further comprise the steps:
A1.1 sets a relative threshold value f according to the performance requirement of this CDMA communication system;
A1.2 calculates
A1.3 is with this e
kBe set at e.
Thresholding minimal error e also can determine by following definite criterion:
E=f ‖ d
Maf‖
2Or e=f ‖ r
0‖
2
Described step 5.1.3 and 5.2.5, convergence detects also can carry out in the following manner:
The data that judgement solves in twice adjacent iteration
With
The variation of symbol, when if symbol no longer changes or after variable quantity was less than certain numerical value, then the condition of convergence satisfied, can termination of iterations.
Among the described step 5.2.1, the product of compute vectors and matrix is calculated as: Rq
k=u, u are interim vectors,
Order:
Then:
Q=[q
1, q
2, q
3Q
N]
T, u=[u
1, u
2, u
3... u
N]
T, wherein, q
i=[q
1, q
2... q
K]
T, u
i=[u
1, u
2..., u
K]
TI=1,2 ... N
Matrix R
iDimension be the matrix on K * K rank, wherein K is the shared code channel numbers of current all users, N is each user's a transmission symbolic number;
Investigate the multiplication of two sub-pieces:
R
1q
iAnd R
1 Hq
i,
The multiplying of above-mentioned like this two matrixes and vector is write as the form of each element, is respectively:
R in the formula
Ji=conj (r
Ij), i.e. r
IjConjugation, i=1 in the formula, 2 ... K, j=1,2 ... K;
The multiplication of then above-mentioned matrix vector, write out for:
With
Wherein, r
KiAnd r
KtiBe the element of R and R, q
tBe the element of q,, their real part and imaginary part separately be written as because they are plural number:
In the following formula:
rr
It,
ir
It,
rq
t,
iq
tBe respectively: r
ItReal part and imaginary part, q
tReal part and imaginary part;
When calculating the product of u and u ', will use several public multiplication results like this,
rr
It*
rq
t,
ir
It*
iq
t,
rr
It* q
t,
ir
It*
rq
t, only
ir
It*
rq
tWith
ir
It*
iq
tSymbol will change; The order of its calculating when asking the product of u and u ' simultaneously slightly changes, and saves calculation resources.
Described step 5.1.1: select initial repeatedly band value
Or
Or
Or selection primary iteration value
Advantage of the present invention is:
1. computational complexity reduces, and by the present invention, can simplify operand greatly, and operand is greatly reduced.The operand that under good channel condition operand can be decomposed less than the Qiao Laisiji in the background technology.And the complexity in the memory space of algorithm and space is not very big, and is very beneficial for pile line operation in realization.
2. iterations is to change as requested, because the relative threshold of the stop criterion of iteration can appointment.So can select different termination thresholdings accordingly according to the requirement of different business, iterations can be changed as required, when operation quality requirement is higher and under the lower situation of operation quality requirement, number of iterations can be different like this.
3. at the channel situation excellent performance of situation iteration preferably, when the communication environments of signal preferably the time, this moment, the spectral condition number of corresponding Iterative Matrix was very little, in this case, iteration can or not need iteration to realize through seldom number of times, and this can not accomplish in method that Qiao Laisiji decomposes.The number of times of algorithm actual execution this moment is to change according to the variation of the situation of channel.
Description of drawings
Fig. 1 is the link model schematic diagram of cdma system;
Fig. 2 is the structural representation of matrix A;
Fig. 3 is the structural representation of matrix R;
Fig. 4 utilizes in the multi-user test method of conjugate gradient algorithms to find the solution the schematic flow sheet that each user estimates to send data;
Fig. 5 utilizes multi-user test method of the present invention, finds the solution the application block diagram that each user estimates to send data.
Embodiment
Following according to Fig. 4, Fig. 5, a better embodiment of the present invention is described.
The present invention at first provides a kind of multi-user test method that utilizes conjugate gradient algorithms, and it comprises following steps:
1. detect spread spectrum information, scramble information, the channel impulse response information of the shared whole code channels of all users;
2. produce the autocorrelation matrix R of system, this matrix R reflects above-mentioned user's spread spectrum information, scramble information, channel impulse response information;
3. generate the user data vector d that receives
Maf: detect and to obtain all user data that are activated after the despreading, and arrange by following rule: with first symbol of the data on first code channel, first symbol of the data on second code channel, by that analogy, first symbol of the data to the K code channel; Then, second symbol of the data on second symbol of the data on first code channel, second code channel, by that analogy, second symbol of the data to K the code channel same arranged the symbol of all N according to this rule, forms vector d
Maf
4. by above-mentioned matrix R, user data vector d
Maf, each code channel of calculating that obtains finding the solution sends the system equation of data
5. solve separating of above-mentioned equation
Obtain the estimation of the transmission data on the shared code channel of each user, reach the purpose of Multiuser Detection;
As described in Figure 4, for finding the solution the schematic flow sheet that the multi-user estimates to send data in the multi-user test method that utilizes conjugate gradient algorithms among the present invention; Be the schematic flow sheet of step 5: at first, carry out initial parameter selection (step 5.1), this step 5.1 comprises step:
5.1.1: select the primary iteration value
5.1.2: select initial residual amount:
5.1.3: convergence detects, if the condition of convergence satisfies, then
Desired exactly separating
Withdraw from calculating process;
5.1.4: the selection of initial search direction: direction q
0=r
0
Secondly, enter and repeatedly be with computational process (step 5.2), represent iteration the k time with subscript, k=1,2,3 ...
5.2.1: matrix when calculating the k time iteration and the product of vector: Rq
K-1
5.2.2 calculate step-length: the α that advances
K-1=-(r
K-1, r
K-1)/(Rq
K-1, q
K-1), this step comprises two inner product operations and a division arithmetic;
5.2.3: calculate repeatedly band value the k time:
5.2.4: upgrade residual amount: r
k=r
K-1+ α
K-1Rq
K-1
5.2.5: convergence detects, and stops to calculate if the condition of convergence satisfies, and is above-mentioned
Desired exactly separating
Withdraw from calculating process, jump out circulation;
5.2.6: computing parameter makes λ
K-1=(r
k, r
k)/(r
K-1, r
K-1)
5.2.7: upgrade the direction of search: q
k=r
k+ λ
K-1q
K-1
5.2.8: circulation execution in step 5.2.1 to 5.2.7, satisfy and stop to calculate and jump out circulation up to the condition of step 5.2.5.
Step 5.1.3 and 5.2.5, convergence detects and comprises following steps:
A1: determine a thresholding minimal error e, this numerical value must be enough little;
A2: find the solution the iterative solution k residual amount r in step
kMould ‖ r
k‖
2
A3: according to certain judgment criterion, as ‖ r
k‖
2Be decreased to e or less than e, or when being reduced no longer significantly, then convergence conditions satisfies, and withdraws from and repeatedly is with computing.
Step 5.1.4 and 5.2.5, convergence detects also can carry out in the following manner:
B1:, set the repeatedly band time numerical value Y of a maximum in advance according to the performance requirement of communication system;
B2: judge repeatedly whether band time numerical value k reaches Y, as reach then that convergence conditions satisfies, withdraw from and repeatedly be with computing.
Steps A 1 may further comprise the steps:
A1.1 sets a relative threshold value f according to the performance requirement of this CDMA communication system;
A1.2 calculates
A1.3 is with this e
kBe set at e.
Thresholding minimal error e also can determine by following definite criterion:
E=f ‖ d
Maf‖
2Or e=f ‖ r
0‖
2
Step 5.1.3 and 5.2.5, convergence detects also can carry out in the following manner: judge the data that solve in twice adjacent iteration
With
The variation of symbol, if when the symbol of being separated no longer changes or after variable quantity was less than certain numerical value, then the condition of convergence satisfied, can termination of iterations.
Among the step 5.2.1, the product of compute vectors and matrix is calculated as: Rq
k=u, u are interim vectors,
Q=[q
1, q
2, q
3Q
N]
T, u=[u
1, u
2, u
3... u
N]
T, wherein, q
i=[q
1, q
2... q
K]
T, u
i=[u
1, u
2..., u
K]
TI=1,2 ... N
Matrix R
iDimension be the matrix on K * K rank, wherein K is the shared code channel numbers of current all users, N is each user's a transmission symbolic number;
Investigate the multiplication of two sub-pieces:
R
1q
iAnd R
1 Hq
i,
The multiplying of above-mentioned like this two matrixes and vector is write as the form of each element, is respectively:
R in the formula
Ji=conj (r
Ij), i.e. r
IjConjugation, i=1 in the formula, 2 ... K, j=1,2 ... K;
The multiplication of then above-mentioned matrix vector, write out for:
With
Wherein, r
KiAnd r
KtiBe the element of R and R, q
tBe the element of q,, their real part and imaginary part separately be written as because they are plural number:
In the following formula:
rr
It,
ir
It,
rq
t,
iq
tBe respectively: r
ItReal part and imaginary part, q
tReal part and imaginary part;
When calculating the product of u and u ', will use several public multiplication results like this,
rr
It*
rq
t,
ir
It*
iq
t,
rr
It* q
t,
ir
It*
rq
t, only
ir
It*
rq
tWith
ir
It*
iq
tSymbol will change; The order of its calculating when asking the product of u and u ' simultaneously slightly changes, and saves calculation resources.
Step 5.1.1: select initial repeatedly band value
Or
Or
Or select the primary iteration value to be:
Promptly the aforesaid initial repeatedly mould of band value is adjusted with to improve convergence rate.
As shown in Figure 5, utilize multi-user test method of the present invention, find the solution the application block diagram that each user estimates to send data for a kind of.At first, each subscriber signal that receives 501 pairs of received signal modules separates, according to the frame structure of system with training sequence and data separation from, wherein training sequence and data field arrangement mode are by the design specification defined of this communication system, sequence is partly sent into subscriber channel estimation module 502, data portion dispensing subscriber signal despreading module 503.Subscriber channel estimates that 502 utilize training sequence to carry out channel estimating, obtains channel impulse response information h; Code channel detection module 507 is used to detect the information of the code channel of current activation, comprises this user and other users' information; This module can be used the information of the detection module of user's the estimation module of channel or subscriber signal according to the difference of the algorithm of realizing.User data despreading module 503, the channel impulse response information h that utilization obtains and the spread spectrum information c and the scramble information v of activated code channel carry out despreading to data, obtain this user's the data of accepting; Receive data generation module 504, form with the data after total despreading of K user and according to certain arrangement mode and receive data vector d
MafIn the correlation matrix generation module 505,, and produce the R matrix, that is: obtain user's the correlation matrix R of system according to certain mode according to subscriber channel impulse response information, user's the spread spectrum information and the situation of scramble information; Final system correlation matrix R and accept data vector d
MafSend into Multiuser Detection module 506 shown in the present, each user who tries to achieve estimation sends data