Large-scale multiple access method based on adaptive matching pursuit
By combining the block sparsity model and the adaptive matching pursuit algorithm, the problems of inaccurate sparsity estimation and long signal reconstruction time are solved, efficient signal detection and reconstruction are achieved in scenarios with dynamically changing sparsity, and the performance of unlicensed multiple access for large-scale terminals is improved.
Patent Information
- Application Number
- CN202310812717.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-04
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2043-07-04
AI Technical Summary
Existing multi-user detection algorithms based on compressed sensing have inaccurate sparsity estimation in large-scale machine-type communications, long multi-user uplink signal reconstruction time, and a fixed step size that limits the sparsity detection performance, making it difficult to adapt to scenarios with dynamically changing sparsity.
The block sparse model is combined with the adaptive matching pursuit algorithm to improve the detection and reconstruction performance of active users. The dynamic step size strategy, dynamic pruning strategy and dynamic iteration strategy are introduced to optimize the active user candidate set and sparsity, thereby improving the signal detection and reconstruction performance and algorithm efficiency.
In the case of unknown sparsity, the signal detection and reconstruction performance is improved, the signal processing delay is reduced, the problem of unauthorized random access of large-scale terminals in sporadic burst data transmission scenarios is solved, and the algorithm operation speed and efficiency are improved.
Smart Images

Figure CN116708089B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of wireless communications, and in particular relates to a large-scale multiple access method based on adaptive matching pursuit. Background Art
[0002] With the rapid development of mobile Internet and the Internet of Things, various smart terminal devices and applications are becoming increasingly abundant, and large-scale terminal multiple access has become a new challenge. Massive Machine Type Communication (mMTC) is a typical use case of the fifth-generation mobile communication wireless network. It has the characteristics of small data volume, high connectivity, and irregular transmission. The maximum number of devices supported by traditional orthogonal multiple access is limited by the number of orthogonal resources. This orthogonal constraint makes the spectrum efficiency of mMTC very low and causes large delays, making it difficult to support the access of large-scale terminals in the future. In order to solve the access challenge, unlicensed non-orthogonal multiple access (NOMA) technology came into being. It realizes uplink random multiple access of large-scale terminals by jointly detecting user activities and transmission data on the base station side, effectively reducing control signaling overhead and transmission delay.
[0003] As a typical scenario of mMTC, the sporadic burst transmission of massive MTDs has sparse communication characteristics. Taking advantage of the sparse characteristics of uplink received signals, a new NOMA scheme, Compressive Sensing Multi-User Detection (CS-MUD), has become a popular unlicensed multiple access method in recent years. Based on the compressed sensing signal processing framework, the base station can detect active users from the uplink random transmission signals of multiple users and reconstruct the user's transmission signal, thereby supporting multiple access for large-scale users. Most existing random multiple access schemes based on CS-MUD are based on the assumption of known sparsity. However, the number of active users in actual systems is usually unknown, so these CS-MUD algorithms lack practical value. It is extremely necessary to develop a sparsity-adaptive CS-MUD algorithm for scenarios with an unknown number of active users (i.e., unknown sparsity).
[0004] At present, a small number of adaptive CS-MUD algorithms have been proposed, but these algorithms have defects such as inaccurate estimation of the sparsity of active users and long reconstruction time of multi-user uplink signals. For example, Wang Qianzhu et al. applied the CS-MUD algorithm to solve the problem of joint detection of multi-user signals in "Multi-user Detection of Unlicensed Non-Orthogonal Multiple Access Uplink Transmission Based on Improved Sparsity Adaptive Matching Algorithm" (Journal of Electronics and Information Technology, September 2020, Vol. 42, No. 9). It uses the generalized Dice coefficient matching criterion to update the support set, and adopts an adaptive step size algorithm to solve the problems of over-estimation, under-estimation, and reconstruction of active users. However, its search step size has only two fixed values. The fixed step size limits the sparsity detection performance of active users and thus affects the signal reconstruction performance. The applicability to scenarios with dynamic changes in sparsity is limited. Therefore, how to improve the sparsity estimation performance and the quality of active user signal reconstruction and reduce signal processing delay is a difficult problem in the field of mMTC random multiple access technology. Summary of the Invention
[0005] To address the above technical issues, the present invention provides a massive multi-access method based on adaptive matching pursuit, suitable for scenarios with sparse burst uplink transmissions from a large number of machine-type terminals (users). This method utilizes block sparse model (CS) technology to enhance the estimation of active users. Furthermore, the introduction of a related adaptive strategy effectively improves the detection and reconstruction performance of active user uplink signals, while also enhancing the algorithm's speed and efficiency.
[0006] The adaptive matching pursuit-based large-scale multiple access method of the present invention comprises the following steps:
[0007] Step 1: In a single-cell uplink transmission scenario, some active users in a large number of user terminals send spread spectrum signals to the base station to perform uplink access transmission;
[0008] Step 2: The base station receives uplink signals from multiple users and models them as block sparse vectors, and uses the vectors to reconstruct a new uplink received signal equation;
[0009] Step 3: The base station uses an adaptive matching pursuit algorithm based on a block sparse model to perform active user detection and reconstruct user sent data.
[0010] Furthermore, in step 1, the base station is located at the center of the cell, and a large number of user terminals are randomly distributed within the cell; the number of users is K, and both the base station and the users are equipped with a single antenna;
[0011] At any given time, only a small number of users are active, while the majority are inactive. Each user is assigned a spreading sequence of length N. The data of active users is modulated and spread-spectrum-modulated using this spreading sequence to form an uplink transmission signal. Each user transmits uplink data using a time frame structure, with each frame consisting of J time slots. The user's activity status remains unchanged within a frame. Considering that the uplink data frame of an inactive user is equivalent to an all-zero frame, the multi-user uplink transmission signal exhibits frame sparseness.
[0012] Furthermore, in step 2, the block sparse vector of the received signal is modeled, and the specific steps are as follows:
[0013] Step 2-1: Model the uplink signal received by the base station as a row sparse matrix;
[0014] The active user is allowed to transmit data using a time frame structure, with each frame carrying J data symbols, and each symbol corresponding to a transmission time slot; the uplink signal y received by the base station in the jth time slot is (j) Expressed as:
[0015]
[0016] Where S=[s1,s2,...,s K ]∈C N×K represents the extended sequence matrix; s k ∈C N×1 represents the extended sequence of user k; h=[h1,h2,...,h K ] T ∈C K×1 represents the channel coefficient vector; h k is the channel attenuation coefficient from user k to the base station, which obeys a complex Gaussian distribution with mean 0 and variance 1, i.e. h~CN(0,1); represents the data vector sent by K users in time slot j; represents the data symbol of user k in time slot j. The data symbols of active users are obtained from the complex constellation set X, and the symbols sent by inactive users are zero; n j It represents the channel additive noise in the jth time slot, which has a mean of 0 and a variance of The complex Gaussian distribution of
[0017] Uplink received signal Y=[y (1) ,y (2) ,...,y (J) ]∈C N×J Expressed as
[0018] Y=AX+N (2)
[0019] Where A = S diag(h) represents the observation matrix, A∈C N × K ; X = [x (1) ,x (2) ,...,x (J) ]∈C K×J Represents the user's sending data matrix; N = [n (1) ,n (2) ,...n (J) ]∈C N×J represents the additive noise matrix of the channel;
[0020] Since the signal frame of an inactive user is equivalent to an all-zero frame, and the number of active users is much smaller than the total number of users, the data symbol matrix X has a row-sparse characteristic.
[0021] Step 2-2, converting the base station's received signal matrix into a block sparse vector;
[0022] Since the user activity state remains unchanged within each frame, the active user index set Γ in each frame is expressed as:
[0023] Γ=supp(x (1) )=supp(x (2) )=…=supp(x (j) )=…=supp(x (J) ) (3)
[0024] Among them, supp(x (j) ) represents the set of active user indices in time slot j, also called the support set of time slot j, j = 1, 2, ..., J; the zero-norm of Γ is ||Γ||0, which represents the number of active users in a frame, i.e., the sparsity S;
[0025] Based on the block sparse model, the user's transmission data matrix X is stacked, that is, each row of the matrix X is transposed and arranged downward in sequence to generate a block sparse signal vector c∈C KJ×1 , the relationship between vector c and matrix X is expressed as:
[0026]
[0027] Where X(k,j) represents the element in the kth row and jth column of the matrix X; vector c contains K block vectors, each with J elements, and all J elements in the kth block are either zero or non-zero; vector c is expressed as:
[0028]
[0029] Among them, vec(·) represents the matrix column vectorization function, that is, the stack function;
[0030] Similarly, the uplink received signal matrix Y and the additive noise matrix N are stacked to obtain NJ × 1-dimensional vectors p and v. The vectors p and v are expressed as follows:
[0031] p=vec(Y T ) (6)
[0032] v=vec(N T ) (7)
[0033] Where vec(·) represents the matrix column vectorization function; p is the stack vector of the uplink received signal matrix Y; and v is the vector after the noise matrix N is stacked.
[0034] Furthermore, in step 2, the steps of establishing the new uplink received signal equation are as follows:
[0035] Use the original measurement matrix A to construct a new measurement matrix D, that is, use the element A(i,j) of matrix A and the J×J diagonal matrix I J The product of A(i,j)I J Replace the element A(i,j) of matrix A to generate a new observation matrix D∈C NJ×KJ ; The new observation matrix D is expressed as:
[0036]
[0037] Therefore, the uplink received signal equation described in equation (2) is rewritten as a new uplink received signal equation:
[0038] p=Dc+v (9)
[0039] Furthermore, in step 3, assuming that the channel is known a priori, the stacked uplink received signal vector p∈C NJ×1 and the new observation matrix D∈C NJ×KJ As input parameters, the user data reconstructed by the base station As output; let the initial active user search step be The sparsity of active users is S; the active user search step length for the qth iteration is The initial set and candidate set of active users are B q and C q , active user preliminary set B q The size of L is L; the active user index set of the qth iteration is the support set Γ q ; The residual signal of the qth iteration is vector p and the qth iteration reconstruction signal The difference vector is r (q) ;
[0040] Based on the above variable definitions, the specific steps of the adaptive matching pursuit algorithm based on the block sparse model to perform active user detection and recover the data signal X from the received signal vector p are as follows:
[0041] Step 3-1: Initialize algorithm parameters;
[0042] The initial value of the number of iterations q = 0; the initial value of the support set Initial value of active user search step The initial value of sparsity S = 0, the size of the initial set of active users L = 0; the initial value of the residual signal r 0 =p;
[0043] Step 3-2: Calculate the initial value of the active user search step
[0044] Calculate the LS estimate of the stacked signal vector c for:
[0045]
[0046] Among them, D T represents the transpose of the new observation matrix D; p is the stack vector of the base station received signal matrix Y.
[0047] Calculate the initial value of active user search step length according to formula (11)
[0048]
[0049] Among them, Card(·) is a function that calculates the number of elements in a set; M represents a vector The maximum block modulus value of Represents a vector The i-th element of , |·| represents the calculation element modulus; θ represents the step relaxation factor, θ∈(0,1), when the vector When the large element data block occupies a large proportion, the initial value of the step size becomes larger; otherwise, the initial value of the step size will become smaller;
[0050] Let q = 1, the sparsity of active users in the current iteration is The current iteration active user search step is The size of the initial selection set of active users in the current iteration is
[0051] Step 3-3: Calculate the initial set B of active users for the current iteration q and candidate set C q , estimate the reconstructed signal
[0052] The transpose matrix D of the observation matrix D T and the residual signal r of the (q-1)th iteration (q-1) Multiply, divide the elements of the product vector into groups of J, find the user index corresponding to the first L data blocks with the largest data modulus value, and you can get the initial set B of active users in the current iteration q , as shown in formula (12):
[0053]
[0054] Among them, the function argLMax() means to get the index of the L largest elements in a vector or set; D T represents the transpose of the observation matrix D; r (q-1) Represents the residual signal of the (q-1)th iteration; vector D T r (q-1) The i-th element corresponds to the User, symbol Indicates taking down an integer;
[0055] Using the backtracking idea, the initial set B of the current iteration q and the support set Γ of the previous iteration q-1 Merge to get the active user candidate set C of the current iteration q :
[0056] C q =B q ∪Γ q-1 (13)
[0057] Reconstruct the data vector of active users detected in the current iteration based on the LS criterion
[0058]
[0059] in, Observation matrix representing active users The pseudo-inverse matrix of
[0060] Step 3-4: Filter the active user index to obtain the support set Γ of the current iteration q ;
[0061] According to the residual signal r of the last iteration q-1 Calculate the adaptive energy threshold σ for the current iteration q :
[0062]
[0063] Where ε represents the given noise threshold; η represents the energy relaxation factor, η∈(0,1);
[0064] In order to reduce the occurrence of over-estimation, according to the energy threshold σ q Reconstructed signal Perform screening, i.e. select the reconstructed signal The energy exceeds the threshold σ q The user index corresponding to the data block is updated to support set Γ q for:
[0065]
[0066] in, Represents the reconstructed signal The vector corresponding to the (k-1)J to kJ elements of , which corresponds to the data block of user k; ||·||2 represents the 2-norm of the vector, that is, the energy of the vector is calculated;
[0067] In order to prevent underestimation, we further calculate the size of the current support set ||Γ q ||0 to check the number of active users detected in the current iteration; if ||Γ q || 0<L, execute steps 3-5, otherwise execute steps 3-6;
[0068] Step 3-5: Update the support set Γ of the current iteration q ;
[0069] The reconstructed signal vector obtained from step 3-3 Select the user index corresponding to the L data blocks with the largest energy, and update the support set Γ of the current iteration according to formula (17) q , perform steps 3-6.
[0070]
[0071] in, Represents the reconstructed signal The vector corresponding to the (k-1)J to kJ elements of
[0072] Step 3-6: Update the reconstructed signal Calculate the residual signal r of the qth iteration (q) and the step size of the next iteration
[0073] Use the support set Γ updated in steps 3-5 q Delete reconstruction signal The interference information in the support set Γ q The user reconstruction signal is zero, as shown in formula (18):
[0074]
[0075] in, Represents the reconstructed signal The vector corresponding to the (k-1)J to kJ elements of {1,2,…,K}\Γ q Indicates that it does not belong to the support set Γ q The user index collection;
[0076] Update the reconstructed signal according to formula (18) According to formula (19), the residual signal r of the current iteration is calculated q :
[0077]
[0078] Calculate the step size of the next iteration according to formula (20)
[0079]
[0080] Step 3-7: Determine whether the algorithm stopping condition is met;
[0081] Compare the residual signal energy || r q ||2 and a given noise threshold ε to determine whether the current iteration should stop:
[0082] 1) If || r q ||2≤ε, execute steps 3-10;
[0083] 2) If || r q ||2>ε, the current iterative algorithm has not converged yet, and steps 3-8 are executed;
[0084] Step 3-8: Determine whether the size and sparsity of the initial set need to be changed;
[0085] Compare the residual signal energy of the current iteration || r q ||2 and the residual signal energy of the previous iteration||r q-1 ||2, to determine whether it is necessary to adjust the size and sparsity value of the initial set of active users:
[0086] 1) If || r q ||2≥||r q-1 || 2, that is, the residual signal energy of the current iteration is greater than the residual signal energy of the previous iteration, which indicates that the current iteration has over-estimation. According to formula (21), the size L and sparsity S of the initial selection set of active users are adjusted:
[0087]
[0088] The number of iterations q = q + 1, returns to step 3-3, and performs the next iteration detection;
[0089] 2) If || rq ||2<||r q-1 || 2, that is, the residual signal energy of the current iteration is less than the residual signal energy of the previous iteration, and the current iteration is under-estimated, and steps 3-9 are executed;
[0090] Step 3-9 determines whether to execute phase transition;
[0091] Calculate the support set Γ of this iteration q and the support set Γ of the previous iteration q-1 The difference set Γ diff , as shown in formula (22):
[0092] Γ diff =Γ q \Γ q-1 (twenty two)
[0093]
[0094] Among them, γ represents the iteration adjustment factor, γ∈(0,1);
[0095] Judgment difference set Γ diff The size of ||Γ diff Does ||0 satisfy formula (23):
[0096] 1) If satisfied, adjust the size L and sparsity S of the initial set of active users according to formula (21), the number of iterations q = q + 1, return to step 3-3, and perform the next iterative detection;
[0097] 2) If not satisfied, the number of iterations q = q + 1, return to step 3-3, and perform the next iterative detection.
[0098] Step 3-10: Output the reconstructed user-sent signal and end the algorithm;
[0099] Let the output signal vector Pair Vector Perform the reverse stack operation, that is, vector Each J element of is arranged into a column to form a matrix and transposed, as shown in formula (24), to obtain the estimated value of the original transmitted signal X
[0100]
[0101] Output reconstructed transmission signal The active user index set is the support set Γ = Γ q .
[0102] The beneficial effects of the present invention are as follows: the method of the present invention combines the block sparse model with the adaptive matching pursuit algorithm to form a new adaptive matching pursuit algorithm based on the block sparse model (BSMAMP) to solve the problem of unlicensed multiple access of mMTC terminals in uplink when the sparsity of active users is unknown; it plays the role of block compressed sensing (BCS) The proposed algorithm takes advantage of block sparse signal model to improve multi-user signals based on compressed sensing (CS), strengthens the estimation of active users, and detects and reconstructs the performance of detection and reconstruction. While inheriting the backtracking idea and sparsity adaptation strategy of the traditional adaptive matching pursuit (SAMP) algorithm, it newly adds three optimization strategies: dynamic step size strategy, dynamic pruning strategy, and dynamic iteration strategy. The dynamic step size strategy is used to adaptively adjust the size and sparsity of the active user candidate set; the dynamic pruning strategy is used to adaptively optimize the support set, iteratively detect active users and reconstruct the active user signals; the dynamic iteration strategy is used to adaptively adjust the number of algorithm iterations to accelerate the convergence of the algorithm, thereby solving the over-estimation and under-estimation problems of the SAMP algorithm, improving the signal detection and reconstruction performance in the case of unknown sparsity, and at the same time improving the algorithm's running speed and efficiency, solving the problem of unlicensed random access transmission of large-scale MTD terminals in sporadic burst data transmission scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0103] Figure 1 is a system model diagram in an embodiment of the present invention;
[0104] Figure 2 Schematic diagram of a matrix stack as a block sparse vector in an embodiment of the present invention;
[0105] Figure 3 1 is a diagram of the signal detection and reconstruction process of the BSMAMP algorithm in an embodiment of the present invention;
[0106] Figure 4 is a flow chart of a multiple access solution in an embodiment of the present invention;
[0107] Figure 5 This is the simulation result in the embodiment of the present invention. DETAILED DESCRIPTION
[0108] In order to make the contents of the present invention more clearly understood, the present invention is further described in detail below based on specific embodiments in conjunction with the accompanying drawings.
[0109] set up Figure 1 System scenario shown:
[0110] Consider a single-cell mMTC system scenario, where the base station is located at the center of the cell, and a large number of mMTC user terminals are randomly distributed within the cell. The number of users is K, and both the base station and the users are equipped with a single antenna. At any given time, only a small number of users are active, while the majority are inactive. Each user is assigned a spreading sequence of length N, which is used to spread the user's modulated data to form the uplink transmit signal. Each user transmits uplink data using a time frame structure, with each frame consisting of J time slots. The user's activity status remains unchanged within a frame. The uplink data frame of an inactive user is equivalent to an all-zero frame, resulting in a sparse frame-based uplink transmission signal matrix for multiple users.
[0111] Combine Figure 1 system model, Figure 2 Schematic diagram of block sparse vector generation, Figure 3 The signal detection and reconstruction process and Figure 4 The BSMAMP algorithm process of the present invention comprises the following steps:
[0112] Step 1: In a single-cell uplink transmission scenario, some active users in a large number of user terminals send spread spectrum signals to the base station to perform uplink access transmission;
[0113] The spread spectrum signal specifically refers to a new sequence generated by bit-by-bit multiplication of the user's original data sequence and the user's unique spread sequence (ie, spread spectrum code, also called signature code).
[0114] Step 2: The base station receives uplink signals from multiple users and models them as block sparse vectors, and uses the vectors to reconstruct a new uplink received signal equation;
[0115] The block sparse vector modeling process of the received signal is specifically as follows:
[0116] Step 2-1: Model the uplink signal received by the base station as a row sparse matrix;
[0117] The active user is allowed to transmit data using a time frame structure, with each frame carrying J data symbols, and each symbol corresponding to a transmission time slot. The uplink signal y received by the base station in the jth time slot is (j) It can be expressed as:
[0118]
[0119] Where S=[s1,s2,...,s K ]∈C N×K represents the extended sequence matrix, s k ∈C N×1 represents the extended sequence of user k; h=[h1,h2,...,h K ]T ∈C K×1 represents the channel coefficient vector, h k is the uplink channel attenuation coefficient from user k to the base station, which obeys a complex Gaussian distribution with a mean of 0 and a variance of 1, that is, h~CN(0,1). Denotes the data vector sent by K users in time slot j. represents the data symbol of user k in time slot j. The data symbols of active users are obtained from the complex constellation set X, and the symbols sent by inactive users are zero. j It represents the channel additive noise in the jth time slot, which has a mean of 0 and a variance of The complex Gaussian distribution of
[0120] A frame signal Y received by the base station is (1) ,y (2) ,…,y (J) ]∈C N×J It can be expressed as
[0121] Y=AX+N (2)
[0122] Where A = S diag(h) represents the observation matrix, A∈C N×K ; X = [x (1) ,x (2) ,...,x (J) ]∈C K×J Represents the user's sending data matrix; N = [n (1) ,n (2) ,...n (J) ]∈C N×J represents the additive noise matrix of the channel.
[0123] Since the signal frame of an inactive user is equivalent to an all-zero frame, and the number of active users is much smaller than the total number of users, the data symbol matrix X has a row-sparse characteristic.
[0124] Step 2-2 converts the base station's received signal matrix into a block sparse vector;
[0125] Since the user activity state remains unchanged within each frame, the active user index set Γ in each frame can be expressed as:
[0126] Γ=supp(x (1) )=supp(x (2) )=…=supp(x (j) )=…=supp(x (J) ) (3)
[0127] Among them, supp(x (j)) represents the set of active user indices in time slot j, also called the support set of time slot j, j = 1, 2, ..., J. The zero-norm of Γ is ||Γ||0, which represents the number of active users in a frame, that is, the sparsity S.
[0128] Based on the block sparse model, the user's transmission data matrix X is stacked, that is, each row of the matrix X is transposed and arranged downward in sequence to generate a block sparse signal vector c∈C KJ×1 ,like Figure 2 As shown, the relationship between vector c and matrix X is expressed as:
[0129]
[0130] Among them, X(k,j) represents the element in the kth row and jth column of the matrix X. Represents the data transmitted by user k in time slot j. Vector c contains K block vectors, each with J elements, and all J elements in the kth block are zero or non-zero; vector c can be expressed as:
[0131]
[0132] Among them, vec(·) represents the matrix column vectorization function, that is, the stack function.
[0133] Similarly, the uplink received signal matrix Y and the additive noise matrix N are stacked to obtain NJ × 1-dimensional vectors p and v. Vectors p and v are expressed as:
[0134] p=vec(Y T ) (6)
[0135] v=vec(N T ) (7)
[0136] Among them, vec() represents the matrix column vectorization function.
[0137] The method for establishing the new uplink received signal equation in step 2 is as follows:
[0138] Use the original measurement matrix A to construct a new measurement matrix D, that is, use the element A(i,j) of matrix A and the J×J diagonal matrix I J The product of A(i,j)I J Replace the element A(i,j) of matrix A to generate a new observation matrix D∈C NJ×KJ The new observation matrix D is expressed as:
[0139]
[0140] Therefore, the uplink received signal equation described in equation (2) can be rewritten as a new uplink received signal equation:
[0141] p=Dc+v (9)
[0142] Step 3: The base station uses the Block Sparse Model-Based Adaptive Matching Pursuit (BSMAMP) algorithm to perform active user detection and reconstruct user sent data.
[0143] The block sparse model based adaptive matching pursuit (BSMAMP) algorithm is specifically as follows:
[0144] Assuming that the channel is known a priori, the stacked uplink received signal vector p∈C NJ×1 and the new observation matrix D∈C NJ ×KJ As input parameters, the user data reconstructed by the base station as output.
[0145] Let the initial value of active user search step be The sparsity of active users is S; the active user search step length for the qth iteration is The initial set and candidate set of active users are B q and C q , active user preliminary set B q The size of L is L; the active user index set of the qth iteration is the support set Γ q ; The residual signal of the qth iteration is vector p and the qth iteration reconstruction signal The difference vector is r (q) Based on the above variable definitions, the specific steps for recovering the data signal X from the received signal vector p are as follows:
[0146] Step 3-1: Initialize algorithm parameters;
[0147] The initial value of the number of iterations q = 0; the initial value of the support set Initial value of active user search step The initial value of sparsity S = 0, the size of the initial set of active users L = 0; the initial value of the residual signal r 0 =p; execute step 3-2.
[0148] Step 3-2: Calculate the initial value of the active user search step
[0149] Calculate the LS estimate of the stacked signal vector c for:
[0150]
[0151] Among them, D T represents the transpose of the new observation matrix D; p is the stack vector of the base station received signal matrix Y.
[0152] Calculate the initial value of active user search step length according to formula (11)
[0153]
[0154] Among them, Card(·) is a function that calculates the number of elements in a set; M represents a vector The maximum block modulus value of Represents a vector The i-th element of , |·| represents the calculated element modulus; θ represents the step relaxation factor, θ∈(0,1), for example, θ=0.65; when the vector When the large element data block occupies a large proportion, the initial value of the step size becomes larger; otherwise, the initial value of the step size will become smaller.
[0155] Let q = 1, the sparsity of active users in the current iteration is The current iteration active user search step is The size of the initial selection set of active users in the current iteration is Follow step 3-3.
[0156] Step 3-3: Calculate the initial set B of active users for the current iteration q and candidate set C q , estimate the reconstructed signal
[0157] According to formula (12), calculate the initial set B of active users in the current iteration q for:
[0158]
[0159] Among them, the function argLMax() means to get the index of the L largest elements in a vector or set; D T represents the transpose of the observation matrix D; r (q-1) It is necessary to note that the vector D T r (q-1) The i-th element corresponds to the User, symbol Indicates removing an integer.
[0160] Using the backtracking idea, the initial set B of the current iteration q and the support set Γ of the previous iteration q-1 Merge to get the active user candidate set C of the current iteration q :
[0161] C q =B q ∪Γ q-1(13)
[0162] Reconstruct the data vector of active users detected in the current iteration based on the LS criterion
[0163]
[0164] in, Observation matrix representing active users The pseudo-inverse matrix of
[0165] Follow steps 3-4.
[0166] Step 3-4: Filter the active user index to obtain the support set Γ of the current iteration q ;
[0167] According to the residual signal r of the last iteration q-1 Calculate the adaptive energy threshold σ for the current iteration q :
[0168]
[0169] Where ε represents the noise threshold; η represents the energy relaxation factor, η∈(0,1).
[0170] In order to reduce the occurrence of over-estimation, according to the energy threshold σ q Reconstructed signal Perform screening, i.e. select the reconstructed signal The energy exceeds the threshold σ q The user index corresponding to the data block is updated to support set Γ q for:
[0171]
[0172] in, Represents the reconstructed signal The vector corresponding to the (k-1)J to kJ elements of , which corresponds to the data block of user k; ||·||2 represents the 2-norm of the vector, that is, the energy of the calculated vector.
[0173] Further calculate the size of the current support set ||Γ q ||0 to check the number of active users detected in the current iteration; if ||Γ q ||0<L, execute steps 3-5, otherwise execute steps 3-6.
[0174] Step 3-5: Update the support set Γ of the current iteration q ;
[0175] Update the support set Γ of the current iteration according to formula (17) q, perform steps 3-6.
[0176]
[0177] Step 3-6: Update the reconstructed signal Calculate the residual signal r of the qth iteration (q) and the initial step size for the next iteration
[0178] Delete reconstruction signal The interference information in the support set Γ q The user reconstruction signal is zero, as shown in formula (18):
[0179]
[0180] in, Represents the reconstructed signal The vector corresponding to the (k-1)J to kJ elements of {1,2,…,K}\Γ q Indicates that it does not belong to the support set Γ q The user index collection.
[0181] Update the reconstructed signal according to formula (18) According to formula (19), the residual signal r of the current iteration is calculated q :
[0182]
[0183] Calculate the step size of the next iteration according to formula (20)
[0184]
[0185] Follow steps 3-7.
[0186] Step 3-7: Determine whether the algorithm stopping condition is met;
[0187] Compare the residual signal energy || r q ||2 and a given noise threshold ε to determine whether the current iteration should stop:
[0188] 1) If || r q ||2≤ε, execute steps 3-10;
[0189] 2) If || r q ||2>ε, the current iterative algorithm has not converged, and steps 3-8 are executed.
[0190] Step 3-8: Determine whether the size and sparsity value of the initial selection set need to be changed;
[0191] Compare the residual signal energy of the current iteration with that of the previous iteration, and the results are as follows:
[0192] 1) If || r q ||2≥||r q-1 ||2, that is, the residual signal energy of the current iteration is greater than the residual signal energy of the previous iteration, which indicates that the current iteration may have over-estimation. According to formula (21), the size L and sparsity S of the initial selection set of active users are adjusted:
[0193]
[0194] The number of iterations q = q + 1, returns to step 3-3, and performs the next iteration detection;
[0195] 2) If || r q ||2<||r q-1 || 2, that is, the residual signal energy of the current iteration is less than the residual signal energy of the previous iteration. The current iteration may be under-estimated, and steps 3-9 are executed.
[0196] Step 3-9 determines whether to execute phase transition;
[0197] Calculate the support set Γ of this iteration q and the support set Γ of the previous iteration q-1 The difference set Γ diff , as shown in formula (22):
[0198] Γ diff =Γ q \Γ q-1 (twenty two)
[0199]
[0200] Among them, γ represents the iteration adjustment factor, γ∈(0,1);
[0201] Determine whether formula (23) is true:
[0202] 1) If it holds, adjust the size L and sparsity S of the initial set of active users according to formula (21), the number of iterations q = q + 1, return to step 3-3, and perform the next iterative detection;
[0203] 2) If not, the number of iterations q = q + 1, and the process returns to step 3-3 to perform the next iteration test.
[0204] Step 3-10: Output the reconstructed user-sent signal and end the algorithm;
[0205] Let the output signal vector Pair Vector Perform the reverse stack operation, that is, vector Each J element of is arranged into a column to form a matrix and transposed, as shown in formula (24), to obtain the estimated value of the original transmitted signal X
[0206]
[0207] Output reconstructed transmission signal The active user index set is the support set Γ = Γ q ; The algorithm ends.
[0208] The simulation parameters of the method are set as follows:
[0209] The number of terminal users K = 256, the user access probability P α =0.15, overload factor α =0.45; the user's uplink signal modulation mode is QPSK, and the base station and terminal are both equipped with a single antenna; the uplink channel matrix An uplink data frame consists of seven time slots, each of which transmits one data symbol. This means that each user's data frame contains seven data symbols. In the BSMAMP algorithm, the step-size relaxation factor θ = 0.65, the energy relaxation factor η = 0.5, the iteration adjustment factor γ = 0.65, and the noise threshold ε = 0.1.
[0210] Based on the above assumptions, MATLAB software was used to simulate and compare the performance of this scheme (BSMAMP) with the other four existing CS-MUD schemes. The results are as follows: Figure 5 As shown in the figure, it can be seen that under different SNRs, the bit error rate of the BSMAMP algorithm of the present invention is significantly lower than that of the SP, SAMP and BCV-SP algorithms, and its BER performance is close to that of the ideal LS algorithm (Oracle in the figure).
[0211] The above description is only a preferred embodiment of the present invention and is not intended to further limit the present invention. All equivalent changes made using the contents of the present invention description and drawings are within the scope of protection of the present invention.
Claims
1. A large-scale multiple access method based on adaptive matching pursuit, characterized in that: The steps include: Step 1: In a single-cell uplink transmission scenario, some active users in a large number of user terminals send spread spectrum signals to the base station to perform uplink access transmission. Step 2: The base station receives uplink signals from multiple users and models them as block sparse vectors, and uses the vectors to reconstruct a new uplink received signal equation; Step 3: The base station uses an adaptive matching pursuit algorithm based on a block sparse model to perform active user detection and reconstruct user sent data; specifically: Assuming that the channel is known a priori, the stacked uplink received signal vector p∈C NJ×1 and the new observation matrix D∈C NJ×KJ As input parameters, the user data reconstructed by the base station As output; let the initial active user search step be The sparsity of active users is S; the active user search step length for the qth iteration is The initial set and candidate set of active users are B q and C q , active user preliminary set B q The size of L is L; the active user index set of the qth iteration is the support set Γ q ; The residual signal of the qth iteration, that is, the vector p and the qth iteration reconstruction signal The difference vector is r (q) ; Where K is the number of users; N is the length of the extended sequence assigned to each user; each user transmits uplink data using a time frame structure, and each frame contains J time slots; Based on the above variable definitions, the specific steps of the adaptive matching pursuit algorithm based on the block sparse model to perform active user detection and recover the data signal X from the received signal vector p are as follows: Step 3-1: Initialize algorithm parameters; The initial value of the number of iterations q = 0; the initial value of the support set Initial value of active user search step The initial value of sparsity S = 0, the size of the initial set of active users L = 0; the initial value of the residual signal r 0 =p; Step 3-2: Calculate the initial value of the active user search step Calculate the LS estimate of the stacked signal vector c for: Among them, D T represents the transpose of the new observation matrix D; p is the stack vector of the base station received signal matrix Y; Calculate the initial value of active user search step length according to formula (11) Among them, Card(·) is a function that calculates the number of elements in a set; M represents a vector The maximum block modulus value of Represents a vector The i-th element of , |·| represents the calculated element modulus; θ represents the step relaxation factor, θ∈(0,1); Let q = 1, the sparsity of active users in the current iteration is The current iteration active user search step is The size of the initial selection set of active users in the current iteration is Step 3-3: Calculate the initial set B of active users for the current iteration q and candidate set C q , estimate the reconstructed signal The transpose matrix D of the observation matrix D T and the residual signal r of the (q-1)th iteration (q-1) Multiply, divide the elements of the product vector into groups of J, find the user index corresponding to the first L data blocks with the largest data modulus value, and you can get the initial set B of active users in the current iteration q , as shown in formula (12): Among them, the function argLMax() means to take out the index of the L largest elements in a vector or set; D T represents the transpose of the observation matrix D; r (q-1) Represents the residual signal of the (q-1)th iteration; vector D T r (q-1) The i-th element corresponds to the User, symbol Indicates taking down an integer; Using the backtracking idea, the initial set B of the current iteration q and the support set Γ of the previous iteration q-1 Merge to get the active user candidate set C of the current iteration q : C q =B q ∪Γ q-1 (13) Reconstruct the data vector of active users detected in the current iteration based on the LS criterion in, Observation matrix representing active users The pseudo-inverse matrix of Step 3-4: Filter the active user index to obtain the support set Γ of the current iteration q ; According to the residual signal r of the last iteration q-1 Calculate the adaptive energy threshold σ for the current iteration q : Where ε represents the given noise threshold; η represents the energy relaxation factor, η∈(0,1); In order to reduce the occurrence of over-estimation, according to the energy threshold σ q Reconstructed signal Perform screening, i.e. select the reconstructed signal The energy exceeds the threshold σ q The user index corresponding to the data block is updated to support set Γ q for: in, Represents the reconstructed signal The vector corresponding to the (k-1)J to kJ elements of , which corresponds to the data block of user k; ||·||2 represents the 2-norm of the vector, that is, the energy of the vector is calculated; In order to prevent underestimation, we further calculate the size of the current support set ||Γ q ||0 to check the number of active users detected in the current iteration; if ||Γ q || 0<L, execute steps 3-5, otherwise execute steps 3-6; Step 3-5: Update the support set Γ of the current iteration q ; The reconstructed signal vector obtained from step 3-3 Select the user index corresponding to the L data blocks with the largest energy, and update the support set Γ of the current iteration according to formula (17) q , execute steps 3-6; in, Represents the reconstructed signal The vector corresponding to the (k-1)J to kJ elements of Step 3-6: Update the reconstructed signal Calculate the residual signal r of the qth iteration (q) and the step size of the next iteration Use the support set Γ updated in steps 3-5 q Delete reconstruction signal The interference information in the support set Γ q The user reconstruction signal is zero, as shown in formula (18): in, Represents the reconstructed signal The vector corresponding to the (k-1)J to kJ elements of {1,2,…,K}\Γ q Indicates that it does not belong to the support set Γ q The user index collection; Update the reconstructed signal according to formula (18) According to formula (19), the residual signal r of the current iteration is calculated q : Calculate the step size of the next iteration according to formula (20) Step 3-7: Determine whether the algorithm stopping condition is met; Compare the residual signal energy || r q ||2 and a given noise threshold ε to determine whether the current iteration should stop: 1) If || r q ||2≤ε, execute steps 3-10; 2) If || r q ||2>ε, the current iterative algorithm has not converged yet, and steps 3-8 are executed; Step 3-8: Determine whether the size and sparsity of the initial set need to be changed; Compare the residual signal energy of the current iteration || r q ||2 and the residual signal energy of the previous iteration||r q-1 ||2, to determine whether it is necessary to adjust the size and sparsity value of the initial set of active users: 1) If || r q ||2≥||r q-1 ||2, that is, the residual signal energy of the current iteration is greater than the residual signal energy of the previous iteration, which indicates that the current iteration has over-estimation. According to formula (21), the size L and sparsity S of the initial selection set of active users are adjusted: The number of iterations q = q + 1, returns to step 3-3, and performs the next iteration detection; 2) If || r q ||2<||r q-1 || 2, that is, the residual signal energy of the current iteration is less than the residual signal energy of the previous iteration, and the current iteration is under-estimated, and steps 3-9 are executed; Step 3-9 determines whether to execute phase transition; Calculate the support set Γ of this iteration q and the support set Γ of the previous iteration q-1 The difference set Γ diff , as shown in formula (22): C diff =C q \G q-1 (22) Among them, γ represents the iteration adjustment factor, γ∈(0,1); Judgment difference set Γ diff The size of ||Γ diff Does ||0 satisfy formula (23): 1) If satisfied, adjust the size L and sparsity S of the initial set of active users according to formula (21), the number of iterations q = q + 1, return to step 3-3, and perform the next iterative detection; 2) If not satisfied, the number of iterations q = q + 1, return to step 3-3, and perform the next iteration test; Step 3-10: Output the reconstructed user-sent signal and end the algorithm; Let the output signal vector Pair Vector Perform the reverse stack operation, that is, vector Each J element of is arranged into a column to form a matrix and transposed, as shown in formula (24), to obtain the estimated value of the original transmitted signal X Output reconstructed transmission signal The active user index set is the support set Γ = Γ q .
2. The adaptive matching pursuit-based large-scale multiple access method according to claim 1, wherein: In step 1, the base station is located at the center of the cell, and a large number of user terminals are randomly distributed within the cell; both the base station and the users are equipped with a single antenna; At any given time, only a small number of users are active, while the majority are inactive. The data of active users is modulated and spread-spectrum-modulated using the spreading sequence to form an uplink transmission signal. The user's activity status remains unchanged within a frame. Considering that the uplink data frame of an inactive user is equivalent to an all-zero frame, the uplink transmission signal of multiple users has a frame-sparse characteristic.
3. The adaptive matching pursuit-based large-scale multiple access method according to claim 2, wherein: In step 2, the block sparse vector of the received signal is modeled. The specific steps are: Step 2-1: Model the uplink signal received by the base station as a row sparse matrix; The active user is allowed to transmit data using a time frame structure, with each frame carrying J data symbols, and each symbol corresponding to a transmission time slot; the uplink signal y received by the base station in the jth time slot is (j) Expressed as: Where S=[s1,s2,...,s K ]∈C N×K represents the extended sequence matrix; s k ∈C N×1 represents the extended sequence of user k, k∈{1,...,K}; h=[h1,h2,...,h K ] T ∈C K×1 represents the channel coefficient vector; h k is the channel attenuation coefficient from user k to the base station, which obeys a complex Gaussian distribution with mean 0 and variance 1, i.e. h~CN(0,1); represents the data vector sent by K users in time slot j; represents the data symbol of user k in time slot j. The data symbols of active users are obtained from the complex constellation set X, and the symbols sent by inactive users are zero; n j It represents the channel additive noise in the jth time slot, which has a mean of 0 and a variance of The complex Gaussian distribution of Uplink received signal Y=[y (1) ,y (2) ,...,y (J) ]∈C N×J Expressed as: Y=AX+N (2) Where A = S diag(h) represents the observation matrix, A∈C N×K ; X = [x (1) ,x (2) ,...,x (J) ]∈C K×J Represents the user's sending data matrix; N = [n (1) ,n (2) ,...n (J) ]∈C N×J represents the additive noise matrix of the channel; Step 2-2, converting the base station's received signal matrix into a block sparse vector; Since the user activity state remains unchanged within each frame, the active user index set Γ in each frame is expressed as: Γ=supp(x (1) )=supp(x (2) )=…=supp(x (j) )=…=supp(x (J) ) (3) Among them, supp(x (j) ) represents the set of active user indices in time slot j, also called the support set of time slot j, j = 1, 2, ..., J; the zero-norm of Γ is ||Γ||0, which represents the number of active users in a frame, i.e., the sparsity S; Based on the block sparse model, the user's transmission data matrix X is stacked, that is, each row of the matrix X is transposed and arranged downward in sequence to generate a block sparse signal vector c∈C KJ×1 , the relationship between vector c and matrix X is expressed as: Where X(k,j) represents the element in the kth row and jth column of the matrix X; vector c contains K block vectors, each with J elements, and all J elements in the kth block are either zero or non-zero; vector c is expressed as: Among them, vec(·) represents the matrix column vectorization function, that is, the stack function; Similarly, the uplink received signal matrix Y and the additive noise matrix N are stacked to obtain NJ × 1-dimensional vectors p and v. The vectors p and v are expressed as follows: p=thing(Y T ) (6) in=thing(N T ) (7) Where vec(·) represents the matrix column vectorization function; p is the stack vector of the uplink received signal matrix Y; and v is the vector after the noise matrix N is stacked.
4. The adaptive matching pursuit-based large-scale multiple access method according to claim 3, wherein: In step 2, the steps for establishing the new uplink received signal equation are as follows: Use the original measurement matrix A to construct a new measurement matrix D, that is, use the element A(i,j) of matrix A and the J×J diagonal matrix I J The product of A(i,j)I J Replace the element A(i,j) of matrix A to generate a new observation matrix D∈C NJ×KJ ; The new observation matrix D is expressed as: Therefore, the uplink received signal equation described in equation (2) is rewritten as a new uplink received signal equation: p=Dc+v (9).
Citation Information
Patent Citations
Channel estimation method for large-scale MIMO system based on block structure adaptive compressive sampling matching pursuit algorithm
CN108599820A
Cited By
Transmission pattern generation method and system for high-sparsity multi-user transmission
CN119995785A
Transmission pattern generation method and system for high sparsity multi-user transmission
CN119995785B