Disclosure of Invention
The technical problem to be solved by the invention is to provide a user activity and multi-user joint detection method, which is used for carrying out user activity and multi-user joint detection by using the transmitted prior information of discrete symbols under the condition that the user sparsity is unknown, and the joint detection effect is good.
The technical scheme adopted by the invention for solving the technical problems is as follows: a user activity and multi-user joint detection method is characterized by comprising the following steps:
step 1: in the uplink non-scheduling non-orthogonal multiple access system, only 1 base station with a single antenna is set on the base station side, and K users with the single antenna are set on the user side; in an uplink scheduling-free non-orthogonal multiple access system, considering channel coding factors, each user transmits symbols on J time slots, a base station receives signals on N subcarriers of each time slot, and the symbols transmitted by the kth user on the jth time slot are marked as
Record the signal received by the base station on the nth subcarrier of the jth time slot as
The description is as follows:
then, the column vector with
dimension K x 1 formed by the symbols transmitted by K users on the j time slot is recorded as x
j,
Let X be [ X ] where X is a matrix of K × J dimensions formed by symbols transmitted by K users in J time slots
1,...,x
j,...,x
J](ii) a And a column vector with
dimension Nx 1 formed by signals received by the base station on N subcarriers of the jth time slot is recorded as y
j,
y
jThe description is as follows: y is
j=Gx
j+w
jA matrix having dimension N × J formed by signals received by the base station on all subcarriers of J slots is denoted as Y, [ Y ═ J ═ Y
1,...,y
j,...,y
J]Y is described asY ═ GX + W; wherein K represents the number of users, K is more than or equal to 1, J represents the number of time slots, J is more than or equal to 1, N represents the number of subcarriers, N is more than or equal to 1, K is more than or equal to 1 and less than or equal to K, J is more than or equal to 1 and less than or equal to J, N is more than or equal to 1 and less than or equal to N, and if the kth user is active on the jth time slot, the kth user is active on the jth time slot
A denotes a set of all symbols of the M-ary quadrature amplitude modulation,
m is 2
iCarry the system, i.e. M is 2
iI is a positive integer, i is more than or equal to 1 and less than or equal to 10,
the 1 st symbol representing M-ary quadrature amplitude modulation,
the mth symbol representing M-ary quadrature amplitude modulation,
m-th symbol representing M-ary quadrature amplitude modulation, M being greater than or equal to 1 and less than or equal to M, if the kth user is inactive in the jth time slot
The number of the carbon atoms is zero,
representing the symbol transmitted by the 1 st user on the jth slot,
representing the symbol transmitted by the Kth user in the jth slot, h
n,kRepresenting the channel gain, s, of the k-th user on the nth sub-carrier
n,kRepresents the nth component of the spreading sequence corresponding to the kth user, the spreading sequence having a length of N,
indicates the jth time slotThe noise on the nth sub-carrier of (a),
obeying mean value of 0 and precision of lambda, i.e. variance of lambda
-1A complex Gaussian distribution of (i.e.
Represents a complex Gaussian distribution, [ 2 ]]
TRepresenting transposes of vectors or matrices, x
1A column vector of dimension K x 1, x representing the symbols transmitted by K users in the 1 st slot
JA column vector of
dimension K x 1 representing symbols transmitted by K users on the jth slot,
representing the signal received by the base station on the 1 st subcarrier of the jth slot,
representing the signal received by the base station on the Nth subcarrier of the jth time slot, y
1A column vector of
dimension Nx 1, y, representing the signal received by the base station on the N subcarriers of the 1 st slot
JA column vector of
dimension Nx 1, w, representing the signal received by the base station on the N subcarriers of the J-th slot
jThe noise on the N sub-carriers representing the jth time slot constitutes an independent identically distributed additive complex Gaussian white noise vector with
dimension Nx 1,
representing the noise on the 1 st subcarrier of the jth slot,
on the Nth subcarrier representing the jth time slotW denotes a noise matrix with dimension N × J formed by noise on all subcarriers of J slots, W ═ W
1,...,w
j,...,w
J],w
1Independent identically distributed additive complex Gaussian white noise vector with
dimension Nx 1, w representing noise contribution on N subcarriers of 1 st slot
JRepresenting the additive complex Gaussian white noise vector with
dimension Nx 1 formed by noise on N subcarriers of the J-th time slot, G representing an equivalent channel matrix with dimension Nx K, and G ═ G
1,...,g
k,...,g
K],
g 11 st column vector, G, representing G
kThe k column vector, G, representing G
KThe Kth column vector, G, representing G
k=[h
1,ks
1,k,...,h
n,ks
n,k,...,h
N,ks
N,k]
T,h
1,kDenotes the channel gain, h, of the kth user on the 1 st subcarrier
N,kRepresenting the channel gain, s, of the k-th user on the Nth sub-carrier
1,kRepresenting the 1 st component, s, of the spreading sequence corresponding to the kth user
N,kAn nth component representing a spreading sequence corresponding to a kth user;
step 2: according to Bayes' theorem, the probability of X under the condition that Y is known is p (X | Y), p (X | Y) · p (Y | X) p (X), wherein the symbol ". varies" represents proportional to P (Y | X), and p (Y | X) represents the probability of Y under the condition that X is known,
c is an auxiliary matrix of dimension NxJ introduced, p (Y | C) represents the probability of Y under the condition that C is known, p (C | X) represents the probability of C under the condition that X is known,
is shown in
Under known conditions
The probability of (a) of (b) being,
representing variables
Obey mean value of
Variance is λ
-1The probability density function of the complex gaussian distribution of (a),
is represented by x
jUnder known conditions
The probability of (a) of (b) being,
delta () represents the dirac function, G
nThe nth row of the G is represented,
auxiliary vector c with dimension N × 1
jThe nth element in (1), i.e. the element in the nth row and jth column of C, C
jIs the jth column vector in C, C
j=Gx
j,
p (X) represents the prior probability of X,
to represent
A priori probability of (a); then, rewriting p (X | Y) ocp (Y | X) p (X) into
Reissue to order
To represent
Order to
To represent
Order to
To represent
Will be provided with
Is re-expressed as
Wherein, with f
A(B) Broad finger
f
A(B) A in (A) represents a factor in a factor graph, B represents a variable related to the factor A,
represents
Finally according to
Intermediate variable andobtaining a factor graph model through the relationship of the factors;
and step 3: on the basis of the factor graph model, the combined detection is carried out on the user activity and multiple users, and the specific process is as follows:
step 3_ 1: will be provided with
Is recorded as the initial value of the mean value
Will be provided with
Is recorded as the initial value of the variance
And introducing intermediate variables
Will be provided with
Is recorded as
Let t represent the iteration number of the outer loop, and the initial value of t is 0; wherein p is
mTo represent
Is composed of
Probability, sign "' is a modulo operation symbol,
merely as
A subscript of (a);
step 3_ 2: calculating a factor at the t-th iteration according to an approximate message passing algorithm
To a variable
The variance and mean of the backward message, correspondingly denoted as
And
wherein the symbol "→" represents the direction of message delivery, the symbol "| |" is a modulo operation symbol, G
n,kThe element representing the n-th row and k-th column of G, when t is 0
Is that
t > 0
At the t-th iteration
When t is 0
Is that
t > 0
At the t-th iteration
When t is 0
Is that
t > 0
Shown at the t-1 th iteration
A value of (d);
step 3_ 3: calculate all AND variables at the t-th iteration
The relevant factor being passed to the variable
The variance and mean of the message of (1), correspond to
And
step 3_ 4: the calculation is at the t-th iteration
Is given as
Step 3_ 5: calculate all AND variables at the t-th iteration
The relevant factor being passed to the variable
The variance and mean of the forward message, correspond to
And
wherein (C)
HRepresents a conjugate transpose;
step 3_ 6: an intermediate vector r of dimension (K x J) x 1 is introduced,
then will be
Re-expressed as r ═ r
1,...,r
η,...,r
L]
T(ii) a Then for r ═ r
1,...,r
η,...,r
L]
TIntroduces a corresponding hidden variable of length Γ for each element in r
ηThe corresponding hidden variable introduced is denoted z
η,z
ηIs a row vector with
dimension 1 × Γ; will then be for r ═ r
1,...,r
η,...,r
L]
TThe hidden variable matrix with dimension L x gamma formed by the corresponding hidden variables introduced by all the elements in (A) is recorded as Z, Z is [ Z ═ Z
1,...,z
η,...,z
L]
T(ii) a Wherein, L is K multiplied by J,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the 1 st user on the 1 st slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the kth user on the 1 st slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the 1 st user on the 2 nd slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the kth user on the 2 nd slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the 1 st user on the 3 rd slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the kth user on the 3 rd slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (a),
represents the symbol transmitted by the Kth user on the J-th time slot, 1 is more than or equal to eta is less than or equal to L,
z
1is shown for r
1Corresponding hidden variable introduced, z
LIs shown for r
LThe corresponding hidden variable introduced, Γ ═ M + 1;
step 3_ 7: the joint probability density function of the vector r, the hidden variable matrix Z, the parameter σ, the parameter μ, and the parameter τ is denoted as p (r, Z, σ, μ, τ), p (r, Z, σ, μ, τ) p (Z | σ) p (σ) p (μ | τ) p (τ); wherein p (r | Z, μ, τ) represents the probability of r under the condition that Z, μ, and τ are known,
Φ is M +1, Φ is the total number of symbols in the set Δ', Γ Φ,
corresponding to the 1 st symbol, … …, the 1 st symbol in Δ
Symbol # … …, symbol # phi,
line η of Z
The elements of the column are,
has values of only 0 and 1, and the eta row vector Z of Z
ηWith only one 1 and the others all being 0,
represents the variable r
ηObey mean value of
Variance is tau
-1In a complex Gaussian distribution of the probability density function of
Middle mu is the mean value
The parameter for scaling, τ, is the precision, p (Z | σ) represents the probability of Z with σ known,
is a distribution of a polynomial expression,
the second in a vector σ of length Φ
An element, σ represents a vector composed of Φ mixture coefficients of gaussian distribution, p (σ) represents a prior probability of σ,
is a dirichlet distribution and is,
is a parameter of p (sigma),
is a vector of length phi and,
β
0is composed of
The elements (A) and (B) in (B),
is a normalization constant for p (σ), p (μ | τ) represents the probability of μ given τ is known,
representing the variable μ obeying to mean μ
0Variance of (gamma)
0τ)
-1Is determined as a function of the probability density of the gaussian distribution of (a),
denotes a Gaussian distribution,. mu.
0And gamma
0All of which are hyper-parameters, p (τ) represents the prior probability of τ, p (τ) is Gam (τ | a)
0,b
0),Gam(τ|a
0,b
0) Denotes τ obedience parameter as a
0And b
0Gamma distribution of (a)
0And b
0Are all hyper-parameters;
step 3_ 8: according to a variational Bayes inference algorithm, a variational distribution is represented by q (), and the variational distribution of a hidden variable matrix Z, a parameter sigma, a parameter mu and a parameter tau is represented as q (Z, sigma, mu, tau), q (Z, sigma, mu, tau) is q (Z) q (sigma) q (mu, tau); wherein q (Z) represents a variation distribution of the hidden variable matrix Z,
is a distribution of a polynomial expression,
exp () represents an exponential function based on the natural base e, ln () represents a logarithmic function based on the natural base e, the symbol "|" is a modulo operation symbol,
according to
Calculated, E () represents expectation, q (sigma) represents variation distribution of parameter sigma,
is a dirichlet distribution and is,
is a parameter of q (sigma),
is a vector of length phi and,
beta' is
The elements (A) and (B) in (B),
is a normalization constant for q (sigma),
q (mu, tau) represents the variation distribution of the parameter mu and the parameter tau,
mu ', gamma', a 'and b' are all hyperparameters, and
a'=a
0+Φ,
representing the variable μ obeying a mean of μ 'and a variance of (γ' τ)
-1Is determined, Gam (τ | a ', b') denotes a Gamma distribution with τ obedience parameters a 'and b',
E(ln(τ))=ψ(a')-ψ(b'),
ψ () is a digamma function,
re () represents the value of the real part of the complex number ()
*Represents the conjugate of a complex number;
step 3_ 9: let t 'represent the iteration number of the inner loop, and the initialized value of t' is 1;
step 3_ 10: calculate the value of β ' at the t ' iteration, denoted as β '
(t'),
And calculating the value of gamma ' at the t ' iteration, noted as gamma '
(t'
),
Calculate the value of μ ' at the t ' iteration, denoted μ '
(t'
),
Calculate the value of a ' at the t ' iteration, denoted as a '
(t'),a'
(t')=a
0+ phi; calculate the value of b ' at the t ' iteration, denoted as b '
(t'),
Wherein, beta
0Is greater than Φ, when t' is 1 and
time of flight
Equal to 0.5, when t' is 1 and
time of flight
Is equal to
When t' > 1
Indicated at the t' -1 th iteration
Value of (a), gamma
0Is greater than or equal to 1000, mu
0Is greater than or equal to 1, a
0Is greater than or equal to 100, b
0Is greater than 0 and less than or equal to 1;
step 3_ 11: the calculation is at the t' th iteration
Is given as
Wherein, the first and the second end of the pipe are connected with each other,
according to
The calculation formula is obtained by calculation;
step 3_ 12: judging whether the iteration number t' of the inner loop reaches the maximum iteration number t of the inner loopmaxIf yes, stopping the iterative process of the inner loop, and then executing the step 3_ 13; if not, let a0=a'(t'),b0=b'(t'),μ0=μ'(t'),γ0=γ'(t'),β0=β'(t')T' +1, and then returning to step 3_10 to continue execution; wherein, tmax'≥2000,a0=a'(t'),b0=b'(t'),μ0=μ'(t'),γ0=γ'(t'),β0=β'(t')The ' in t ' ═ t ' +1 is an assigned symbol;
step 3_ 13: judging whether the iteration number t of the outer loop reaches the maximum iteration number t of the outer loop
maxIf yes, stopping the iteration process of the outer loop, and executing the
step 4; if not, obtaining a matrix
The eta line of
Column element of
Then let t be t +1, introduce a column vector of length phi
Order to
Is a column vector of
dimension Lx 1, let
Column vector of
dimension Lx 1
Conversion into a matrix of dimensions K J
Column vector of
dimension Lx 1
Conversion into a matrix of dimensions K J
The conversion process is as follows: the 1 st column of the matrix of dimension K × J is the 1 st to Kth rows of the vector of dimension L × 1, the 2 nd column of the matrix of dimension K × J is the K +1 st to 2 Kth rows of the vector of dimension L × 1, the J th column of the matrix of dimension K × J is the Kx (J-1) +1 st to L th rows of the vector of dimension L × 1, so that
Is equal to the matrix
The value of the kth row and the jth column of (1), and
is equal to the matrix
The value of the jth row and jth column of the program code is returned to the step 3_2 to be continuously executed; wherein, t
max≥10,
Is shown at t
maxUnder' a number of iterations
The value of (a) is,
all the vectors are introduced intermediate vectors, the symbol "|" is a modulus operation symbol, and the symbol "═ in t + 1" ═ is an assignment symbol;
and 4, step 4: obtaining a matrix
Line n of (1)
Column element of
Is extracted from
The column numbers of the columns in which the maximum values are located in each row of (1) are arranged in the order of the row numbers of the rows in which the maximum values are located to form a column vector having a dimension of L × 1, which is denoted as
Will be provided with
Re-expressed as a matrix of dimension K J
Is the 1 st column vector of
Is the 2 nd column vector of
Is the J-th column vector of
The kth row and jth column of (A) elements are
If it is
Then the kth user is considered to be inactive in the jth time slot, and the multi-user detection result is 0; if it is
The k-th user is considered to be active on the j-th slot and multiple users are consideredThe detection result is the second in Δ
The number of the cells; wherein the content of the first and second substances,
is shown at t
maxUnder' a number of iterations
The value of (a) is,
corresponding representation
Column number … … of the column in which the maximum value in
row 1 is located,
Column number of the column in which the maximum value in the K-th row of (1) is located,
Column number of the column in which the maximum value in the K +1 th row is located, … …,
Column number of the column in which the maximum value in the 2K-th row is located, … …,
Column No. … …, column No. of the maximum value in Kx (J-1) +1 line,
The column number of the column in which the maximum value in the lth row of (1) is located,
is a positive integer of 1 to phi,
compared with the prior art, the invention has the advantages that:
1) the method of the invention does not need to know the user sparsity in advance when carrying out multi-user detection, and is also an advantage of joint detection.
2) The method of the invention utilizes the prior information of the sent discrete symbols, mainly utilizes the variational Bayesian inference algorithm under the Bayesian framework, introduces the structured prior knowledge and then carries out the user activity and multi-user joint detection.
3) The method combines the variational Bayesian inference algorithm and the approximate message transfer algorithm, improves the calculation efficiency by utilizing the approximate message transfer algorithm, and improves the performance accuracy of the joint detection by combining the two algorithms.
Detailed Description
The invention is described in further detail below with reference to the accompanying examples.
The general implementation block diagram of the method for jointly detecting the user activity and the multiple users provided by the invention is shown in fig. 1, and the method comprises the following steps:
step 1: as shown in fig. 2, in the uplink non-orthogonal multiple access system without scheduling, only 1 base station with a single antenna is set on the base station side, and K users with a single antenna are set on the user side; in an uplink scheduling-free non-orthogonal multiple access system, considering channel coding factors, each user transmits symbols on J time slots, a base station receives signals on N subcarriers of each time slot, and the symbol transmitted by the kth user on the jth time slot is marked as
Record the signal received by the base station on the nth subcarrier of the jth time slot as
The description is as follows:
then, the column vector with
dimension K x 1 formed by the symbols transmitted by K users on the j time slot is recorded as x
j,
The matrix with dimension K multiplied by J formed by symbols transmitted by K users on J time slots is marked as X, X is [ X ═ J
1,...,x
j,...,x
J](ii) a And a column vector with
dimension Nx 1 formed by signals received by the base station on N subcarriers of the jth time slot is recorded as y
j,
y
jThe description is as follows: y is
j=Gx
j+w
jA matrix having dimension N × J formed by signals received by the base station on all subcarriers of J slots is denoted as Y, [ Y ═ J ═ Y
1,...,y
j,...,y
J]Y is described as Y ═ GX + W; where K denotes the number of users, K is greater than or equal to 1, where K is 150, J denotes the number of time slots, J is greater than or equal to 1, J is 7 in this embodiment, N denotes the number of subcarriers, N is greater than or equal to 1, N is 100 in this embodiment, K is greater than or equal to 1 and less than or equal to K, J is greater than or equal to 1 and less than or equal to J, N is greater than or equal to 1 and less than or equal to N, and if the kth user is active in the jth time slot, then J is greater than or equal to 1 and less than or equal to N
A denotes a set of all symbols of the M-ary quadrature amplitude modulation,
m is 2
iCarry the system, i.e. M is 2
iI is a positive integer, i is more than or equal to 1 and less than or equal to 10, i is 10 at most because the current Quadrature Amplitude Modulation (QAM) reaches 1024,
the 1 st symbol representing M-ary quadrature amplitude modulation,
the mth symbol representing M-ary quadrature amplitude modulation,
m-th symbol representing M-ary quadrature amplitude modulation, M being greater than or equal to 1 and less than or equal to M, if the kth user is inactive in the jth time slot
The number of the carbon atoms is zero,
representing the symbol transmitted by the 1 st user on the jth slot,
representing the symbol transmitted by the kth user on the jth slot,
express that
Via a spreading sequence (the length of the spreading sequence is N) and a channel, plus
To obtain
H is therefore the spreading sequence and channel remain unchanged for all time slots
n,kRepresenting the channel gain, s, of the k-th user on the nth sub-carrier
n,kRepresents the nth component of the spreading sequence corresponding to the kth user, the spreading sequence having a length of N,
representing the noise on the nth subcarrier of the jth slot,
obeying mean value of 0 and precision of lambda, i.e. variance of lambda
-1A complex Gaussian distribution of (i.e.
Represents the complex Gaussian scoreCloth, a]
TRepresenting transposes of vectors or matrices, x
1A column vector of dimension K x 1, x representing the symbols transmitted by K users in the 1 st slot
JA column vector of
dimension K x 1 representing symbols transmitted by K users on the jth slot,
representing the signal received by the base station on the 1 st subcarrier of the jth slot,
represents the signal received by the base station on the Nth subcarrier of the jth time slot, y
1A column vector of
dimension Nx 1, y, representing the signal received by the base station on the N subcarriers of the 1 st slot
JA column vector of
dimension Nx 1, w, representing the signal received by the base station on the N subcarriers of the J-th slot
jThe noise on the N sub-carriers representing the jth time slot constitutes an independent identically distributed additive complex Gaussian white noise vector with
dimension Nx 1,
representing the noise on the 1 st subcarrier of the jth slot,
denotes the noise on the nth subcarrier of the jth time slot, W denotes a noise matrix of dimension N × J formed by the noise on all subcarriers of the J time slots, W ═ W
1,...,w
j,...,w
J],w
1Independent identically distributed additive complex Gaussian white noise vector with
dimension Nx 1, w representing noise contribution on N subcarriers of 1 st slot
JRepresenting the additive complex Gaussian white noise vector with
dimension Nx 1 formed by noise on N subcarriers of the J-th time slot, G representing an equivalent channel matrix with dimension Nx K, and G ═ G
1,...,g
k,...,g
K],
g 11 st column vector, G, representing G
kThe k column vector, G, representing G
KThe kth column vector representing G,
h
1,kdenotes the channel gain, h, of the kth user on the 1 st subcarrier
N,kRepresents the channel gain, s, of the kth user on the Nth subcarrier
1,kRepresenting the 1 st component, s, of the spreading sequence corresponding to the kth user
N,kRepresenting the nth component of the spreading sequence corresponding to the kth user.
Step 2: according to Bayes' theorem, the probability of X under the condition that Y is known is p (X | Y), p (X | Y) · p (Y | X) p (X), wherein the symbol ". varies" represents proportional to P (Y | X), and p (Y | X) represents the probability of Y under the condition that X is known,
c is an auxiliary matrix of dimension NxJ introduced, p (Y | C) represents the probability of Y under the condition that C is known, p (C | X) represents the probability of C under the condition that X is known,
is shown in
Under known conditions
The probability of (a) of (b) being,
representing variables
Obey mean value of
Variance is λ
-1The probability density function of the complex gaussian distribution of (a),
is represented by x
jUnder known conditions
The probability of (a) of (b) being,
delta () represents the dirac function, G
nThe nth row of the G is represented,
auxiliary vector c with dimension N × 1
jThe nth element in (1), i.e. the element in the nth row and jth column of C, C
jIs the jth column vector in C, C
j=Gx
j,
p (X) represents the prior probability of X,
to represent
A priori probability of (a); then, rewriting p (X | Y) ocp (Y | X) p (X) into
Reissue to
To represent
Order to
To represent
Order to
To represent
Will be provided with
Is re-expressed as
Wherein, with f
A(B) Broad finger
f
A(B) A in (A) represents a factor in a factor graph, B represents a variable related to the factor A,
represents
Finally according to
The relationship between the medium variable and the factor, and the factor graph model is obtained, as shown in fig. 3.
And step 3: on the basis of the factor graph model, the combined detection is carried out on the user activity and multiple users, and the specific process is as follows:
step 3_ 1: will be provided with
Beginning of mean value ofThe initialization value is recorded as
Will be provided with
Is recorded as the initial value of the variance
And introducing intermediate variables
Will be provided with
Is recorded as
Let t represent the iteration number of the outer loop, and the initial value of t is 0; wherein p is
mTo represent
Is composed of
The symbol "|" is a modulo operation symbol,
merely as
Subscripts of (a).
Step 3_ 2: according to approximate message deliveryAlgorithm, calculating the factor at the t-th iteration
To a variable
The variance and mean of the backward message, correspond to
And
wherein the symbol "→" represents the direction of message delivery, the symbol "| |" is a modulo operation symbol, G
n,kThe element representing the n-th row and k-th column of G, when t is 0
Is that
t > 0
At the t-th iteration
When t is 0
Is that
t > 0
At the t-th iteration
When t is 0
Is that
t > 0
Shown at the t-1 th iteration
The value of (c).
Step 3_ 3: calculate all AND variables at the t-th iteration
The relevant factor being passed to the variable
The variance and mean of the messages (including forward and backward messages) of (1), are correspondingly denoted as
And
step 3_ 4: the calculation is at the t-th iteration
Is given as
Step 3_ 5: calculate all AND variables at the t-th iteration
The relevant factor being passed to the variable
The variance and mean of the forward message, correspond to
And
wherein (C)
HRepresenting a conjugate transpose.
Step 3_ 6: an intermediate vector r of dimension (K x J) x 1 is introduced,
then will be
Re-expressed as r ═ r
1,...,r
η,...,r
L]
T(ii) a Then for r ═ r
1,...,r
η,...,r
L]
TIntroduces a corresponding hidden variable of length Γ for each element in r
ηThe corresponding hidden variable introduced is denoted z
η,z
ηIs a row vector with dimension 1 × Γ; will then be for r ═ r
1,...,r
η,...,r
L]
TAll elements in (1)The hidden variable matrix with dimension L multiplied by gamma formed by the introduced corresponding hidden variables is marked as Z, and Z is [ Z ═ r
1,...,z
η,...,z
L]
T(ii) a Wherein, L is K multiplied by J,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the 1 st user on the 1 st slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the kth user on the 1 st slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the 1 st user on the 2 nd slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the kth user on the 2 nd slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the 1 st user on the 3 rd slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
representing the symbol transmitted by the kth user on the 3 rd slot,
denotes all AND variables at the t-th iteration
The relevant factor being passed to the variable
The average of the forward messages of (2),
represents the symbol transmitted by the Kth user on the J-th time slot, 1 is more than or equal to eta is less than or equal to L,
z
1is shown for r
1Corresponding hidden variables, z, introduced
LIs shown for r
LThe corresponding hidden variable introduced, Γ ═ M + 1.
Step 3_ 7: since the data distribution in the intermediate vector r is a gaussian mixture model (because there are Φ cases, that is, there are Φ gaussian distributions in the corresponding symbol data), the joint probability density function of the vector r, the hidden variable matrix Z, the parameter σ, the parameter μ, and the parameter τ is denoted as p (r, Z, σ, μ, τ), and p (r, Z, σ, μ, τ) is p (r | Z, μ, τ) p (Z | σ) p (σ) p (μ | τ) p (τ); wherein p (r | Z, μ, τ) represents the probability of r under the condition that Z, μ, and τ are known,
Φ is M +1, Φ is the total number of symbols in the set Δ', Γ Φ,
corresponding to the 1 st symbol, … …, the 1 st symbol in Δ
Symbol # … …, symbol # phi,
line η of Z
The elements of the column are,
has values of only 0 and 1, and the eta row vector Z of Z
ηWith only one 1 and the others all being 0,
represents the variable r
ηObey mean value of
Variance is tau
-1Of a complex Gaussian distribution of probability density functions, in
Mu is mean value
The parameter for scaling, τ, is the precision, p (Z | σ) represents the probability of Z with σ known,
is a distribution of a polynomial expression,
the second in a vector σ of length Φ
The individual elements, σ represents a vector composed of Φ mixture coefficients of gaussian distribution, p (σ) represents a prior probability of σ, and the prior probability of the mixture coefficients follows a dirichlet distribution, so
Is a dirichlet distribution and is,
is a parameter of p (sigma),
is a vector of length phi and,
β
0is composed of
The elements (A) and (B) in (B),
is a normalization constant for p (σ), p (μ | τ) represents the probability of μ given τ is known,
representing the variable μ obeying to mean μ
0Variance of (gamma)
0τ)
-1Is determined as a function of the probability density of the gaussian distribution of (a),
denotes a Gaussian distribution,. mu.
0And gamma
0All of which are hyper-parameters, p (τ) represents the prior probability of τ, p (τ) is Gam (τ | a)
0,b
0),Gam(τ|a
0,b
0) Denotes τ obedience parameter as a
0And b
0Gamma distribution of (a)
0And b
0Are all hyper-parameters.
Step 3_ 8: according to a variational Bayes inference algorithm, a variational distribution is represented by q (), and the variational distribution of a hidden variable matrix Z, a parameter sigma, a parameter mu and a parameter tau is represented as q (Z, sigma, mu, tau), q (Z, sigma, mu, tau) is q (Z) q (sigma) q (mu, tau); wherein q (Z) represents a variation distribution of the hidden variable matrix Z,
is a distribution of a polynomial expression,
exp () denotes an exponential function based on a natural base e (e ═ 2.17 …), ln () denotes a logarithmic function based on a natural base e (e ═ 2.17 …), the symbol "|" is a modulo operation symbol,
according to
Calculated, pi is 3.14 …, E () represents expectation, q (σ) represents variation distribution of parameter σ,
is a dirichlet distribution and is,
is a parameter of q (sigma),
is a vector of length phi and,
beta' is
The elements (A) and (B) in (B),
is a normalization constant for q (sigma),
q (mu, tau) represents the variation distribution of the parameter mu and the parameter tau,
mu ', gamma', a 'and b' are hyper-parameters, and
a'=a
0+Φ,
representing the variable μ obeying a mean of μ 'and a variance of (γ' τ)
-1Is determined, Gam (τ | a ', b') denotes a Gamma distribution with τ obedience parameters a 'and b',
E(ln(τ))=ψ(a')-ψ(b'),
ψ () is a digamma function,
re () represents the value of the real part of the complex number ()
*Representing the conjugate of a complex number.
Step 3_ 9: let t 'denote the number of iterations of the inner loop, the initialization value of t' being 1.
Step 3_ 10: calculate the value of β ' at the t ' iteration, denoted as β '
(t'),
And calculating the value of gamma ' at the t ' iteration, noted as gamma '
(t'),
Calculate value of μ ' at t ' iteration, denoted μ '
(t'),
Calculate the value of a ' at the t ' iteration, denoted as a '
(t'),a'
(t')=a
0+ phi; calculate the value of b ' at the t ' iteration, denoted as b '
(t'),
Wherein, beta
0Is greater than phi, in this example, beta is taken
0Is equal to 20, when t' is equal to 1 and
time of flight
Equal to 0.5, when t' is 1 and
time of flight
Is equal to
When t' > 1
Indicated at the t' -1 th iteration
Value of (a), γ
0Is greater than or equal to 1000, in this example, γ
0Is equal to 1000, mu
0Is greater than or equal to 1, in this example, μ
0Is equal to 1.25, a
0Is greater than or equal to 100, in this example, take a
0Is equal to 100, b
0Is greater than 0 and less than or equal to 1, in this example b
0Equal to 1.
Step 3_ 11: the calculation is at the t' th iteration
Is given as
Wherein the content of the first and second substances,
according to
Is obtained by calculation.
Step 3_ 12: judging whether the iteration number t' of the inner loop reaches the maximum iteration number t of the inner loopmaxIf yes, stopping the iterative process of the inner loop, and then executing the step 3_ 13; if not, let a0=a'(t'),b0=b'(t'),μ0=μ'(t'),γ0=γ'(t'),β0=β'(t')T' +1, and then returning to step 3_10 to continue execution; wherein, tmax'≥2000,a0=a'(t'),b0=b'(t'),μ0=μ'(t'),γ0=γ'(t'),β0=β'(t')In t '═ t' +1, "═ is an assigned symbol.
Step 3_ 13: judging whether the iteration number t of the outer loop reaches the maximum iteration number t of the outer loop
maxIf yes, stopping the iteration process of the outer loop, and executing the step 4; if not, obtaining a matrix
The eta line of
Column element of
Then let t be t +1, introduce a column vector of length phi
Order to
Is a column vector of dimension Lx 1, let
Column vector of dimension Lx 1
Conversion into a matrix of dimensions K J
Column vector of dimension Lx 1
Conversion into a matrix of dimensions K J
The conversion process is as follows: the 1 st column of the matrix of dimension K × J is the 1 st to Kth rows of the vector of dimension L × 1, the 2 nd column of the matrix of dimension K × J is the K +1 st to 2 Kth rows of the vector of dimension L × 1, the J th column of the matrix of dimension K × J is the Kx (J-1) +1 st to L th rows of the vector of dimension L × 1, so that
Is equal to the matrix
The value of the kth row and the jth column of (1), and
is equal to the matrix
The value of the jth row and jth column of the program code is returned to the step 3_2 to be continuously executed; wherein, t
max≥10,
Is shown at the t
maxUnder' a number of iterations
The value of (a) is,
all the vectors are introduced intermediate vectors, the symbol "|" is a modulus operation symbol, and the symbol "═ in t + 1" ═ is an assignment symbol.
And 4, step 4: obtaining a matrix
The eta line of
Column element of
Extracting to obtain
The column numbers of the columns in which the maximum values are located in each row of (1) are arranged in the order of the row numbers of the rows in which the maximum values are located to form a column vector having a dimension of L × 1, which is denoted as
Will be provided with
Re-expressed as a matrix of dimension K J
Is the 1 st column vector of
Is the 2 nd column vector of
Is the J-th column vector of
The kth row and jth column of (A) elements are
If it is
Then the kth user is considered to be inactive in the jth time slot, and the multi-user detection result is 0; if it is
Then the kth user is considered to be active on the jth slot and the multi-user detection result is the th in Δ
The number of the cells; wherein the content of the first and second substances,
is shown at t
maxUnder' minor iteration
The value of (a) is,
corresponding representation
Column number … … of the column in which the maximum value in row 1 is located,
Column number of the column in which the maximum value in the K-th row of (1) is located,
Column number of the column in which the maximum value in the K +1 th row is located, … …,
Column number of the column in which the maximum value in the 2K-th row is located, … …,
Column No. … …, column No. of the maximum value in Kx (J-1) +1 line,
The column number of the column in which the maximum value in the lth row of (1) is located,
is a positive integer from 1 to phi,
the performance of the method of the invention is further illustrated by the following simulation.
FIG. 4The method sends a 4QAM (namely M is 4) signal, when the number of subcarriers is N is 100, the total number of users is K is 150, the number of time slots is J is 7, and the maximum iteration number t of an outer loop is givenmax15 'maximum iteration number of inner loop'maxWhen the number of active devices is 20 and 5000, the symbol error rate of the method (the position of the active user and the emission symbol are unknown) and the Structured Iterative Support Detection (SISD) of the invention are compared with the change curve of the signal-to-noise ratio. It can be seen from fig. 4 that, as the signal-to-noise ratio increases, the symbol error rate of the method of the present invention is significantly reduced compared with the structured iterative support detection method under the condition that the modulation mode is 4QAM, and the symbol error rate reaches 10 under the condition of high signal-to-noise ratio (10dB)-5And the extremely low symbol error rate shows that the detection performance of the method is good.
Fig. 5 shows that a 16QAM (i.e., M-16) signal is transmitted, when the number of subcarriers is N-100, the total number of users is K-150, the number of slots is J-7, and the maximum number of outer loop iterations tmax15 'maximum iteration number of inner loop'maxWhen the number of active devices is 20 and 5000, the symbol error rate of the method (the position of the active user and the emission symbol are unknown) and the Structured Iterative Support Detection (SISD) of the invention are compared with the change curve of the signal-to-noise ratio. It can be seen from fig. 5 that the symbol error rate of the method of the present invention is still reduced significantly in the case of the modulation mode being 16QAM as the signal-to-noise ratio increases; in addition, the comparison between fig. 4 and fig. 5 shows that the detection performance of the method of the present invention is better under different modulation modes.
Fig. 6 shows that when the number of subcarriers is N-100, the total number of users is K-150, the number of slots is J-7, and the maximum number of outer loop iterations t is transmitted in a 16QAM (i.e., M-16) signalmax15 'maximum iteration number of inner loop'maxWhen the signal-to-noise ratio is 5000 and the signal-to-noise ratio is 10dB, the change curve of the symbol error rate of the method (the position of an active user and a transmitting symbol are unknown) and the change curve of the Structured Iterative Support Detection (SISD) along with the number of the active users are compared. As can be seen from FIG. 6, when the number of active users increases, the instant messaging method is up to 30E although the number of active usersThe performance change is obvious within the range of 50, the detection performance is reduced only when the number of active users reaches 50, but the symbol error rate performance is still better compared with that of a structured iterative support detection method; in addition, the comparison between fig. 5 and fig. 6 shows that the detection performance of the method of the present invention is lower than that of the structured iterative support detection method under the same modulation mode and different conditions.