Satellite internet SCMA multi-user detection method and device
Through the two-stage iterative multi-user detection method, the problem of excessive computational complexity during massive users is solved, and efficient multi-user detection is achieved, reducing system complexity and improving detection efficiency.
Patent Information
- Application Number
- CN202510163723.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-14
- Publication Date
- 2025-05-16
AI Technical Summary
In the satellite-ground communication network where massive users initiate access at the same time, the computing complexity of existing multi-user detection methods is too high to meet the growing user access needs.
Using a two-stage iteration multi-user detection method, the first stage calculates the user's conditional probability through iteration, discards the low-probability codewords and decodes some users in advance, and the second stage performs conditional probability iteration and decoding of undecoded users.
The detection complexity is significantly reduced, especially in scenarios with a large number of total iterations, which reduces the number of exponential operations, improves the detection efficiency, and shortens the detection time while ensuring the bit error rate.
Smart Images

Figure CN120017219A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of satellite Internet, and in particular to a satellite Internet SCMA multi-user detection method and device. Background Art
[0002] Under the large beam coverage of many communication systems (including terrestrial communication systems and non-terrestrial communication systems), the probability of massive users initiating random access at the same time increases significantly. Therefore, how to maximize the throughput of massive random access is an urgent problem to be solved in the current research on satellite-to-ground communication networks.
[0003] Using non-orthogonal multiple access technology to send user data can increase the number of users that can access the communication network at the same time and the utilization rate of spectrum resources. At the same time, this technology can realize the reuse of the same time-frequency resources by different users, thereby effectively solving the resource competition and data conflicts caused by massive users initiating access at the same time during random access, and improving spectrum efficiency and user access volume, which can just meet the explosive data growth and access needs in future communications. Considering the premise of massive users initiating access, due to the limited computing resources of the signal receiver, it is urgent to design a multi-user detection scheme that can guarantee the bit error rate performance.
[0004] The sparse code division multiple access technology SCMA (sparse code multiple access) makes the codebook sparse through low-density spread spectrum, improves overload capacity, and enables multiple users to access the same time-frequency resources through the code domain to improve the efficiency of wireless spectrum resource utilization. In addition, the sparsity of SCMA codewords allows the receiver to use a low-complexity multi-user detection method to detect user data. When the SCMA receiver performs detection, the message passing algorithm (MPA) is usually used. This algorithm transmits information between user nodes and resource nodes multiple times, and finally determines the original data of each user before sending through continuous updates and iterations. Since the detection process requires multiple iterations, and as the number of users and resource nodes increases, the detection complexity also increases dramatically. Considering the limited computing resources of the signal receiver, high-complexity detection methods can no longer meet the increasing user access needs. Summary of the invention
[0005] The object of the present invention is to provide a satellite Internet SCMA multi-user detection method and device to perform multi-user detection in a low-complexity manner in order to address all or part of the above-mentioned problems.
[0006] The technical solution adopted by the present invention is as follows:
[0007] A satellite internet SCMA multi-user detection method, comprising:
[0008] Configure two-stage iteration parameters;
[0009] In the first stage, the conditional probability of each user is iteratively calculated respectively; for each user, based on the conditional probability of each codeword of the user, the codeword that meets the first condition is deleted, and the user is decoded using the codeword that meets the second condition, and the first condition and the second condition are distinguished based on a predetermined threshold;
[0010] In the second stage, the conditional probabilities of the undecoded users are iteratively calculated respectively; for each undecoded user, the most likely codeword is indicated by the conditional probability of the undecoded user for decoding.
[0011] Furthermore, the two-stage iteration parameters include the number of iterations of the first stage and the second stage.
[0012] Furthermore, in the first stage, a probability sorting detection matrix is configured for each user; after each iteration of the first stage, each codeword is sorted according to the size of the corresponding conditional probability and written into the probability sorting detection matrix.
[0013] Furthermore, in the first stage, for each user, based on the conditional probability of each codeword of the user, the codewords satisfying the first condition are deleted, including:
[0014] After the first phase of iteration is completed, query the user's probability ranking detection matrix for the codeword with the minimum conditional probability after each iteration;
[0015] It is determined whether the queried codeword satisfies the first condition, and if so, the queried codeword is discarded.
[0016] Furthermore, in the first stage, for each user, based on the conditional probability of each codeword of the user, decoding the user using a codeword that satisfies the second condition includes:
[0017] After the first stage of iteration, query the user's probability ranking detection matrix for the codeword with the maximum conditional probability after each iteration;
[0018] It is determined whether the queried codeword satisfies the second condition, and if so, the queried codeword is used to decode the user.
[0019] Furthermore, in the second stage, a probability ranking counter is configured for each undecoded user; after each iteration of the second stage, the probability ranking counter is used to count the codewords corresponding to the maximum and / or minimum conditional probabilities of that iteration; the probability ranking counter has the same initial count value for each codeword.
[0020] Furthermore, the probability ranking counter adopts a reward and punishment mechanism, and counts the codewords corresponding to the maximum and / or minimum conditional probabilities of each iteration based on the initial count value.
[0021] Furthermore, the conditional probability of the undecoded user indicates that the most likely codeword is:
[0022] The count value of the probability sorting counter reaches the codeword corresponding to the predetermined value; or,
[0023] After the second stage iteration is completed, the probability sorting counter counts the codeword with the largest maximum conditional probability.
[0024] Furthermore, the method for calculating the conditional probability includes:
[0025] When the user sends prior information to the resource node, the same conditional probability is initialized for each codeword;
[0026] After receiving the prior information, the resource node starts the current iteration, updates the conditional probability of the iteration, and transmits a message to the user;
[0027] After receiving the message, the user updates the conditional probability of the iteration and transmits the external information to the resource node for the next iteration;
[0028] This process is repeated until the predetermined number of iterations is reached.
[0029] To solve the above problems, the present invention also provides a SCMA multi-user detection device, including a processor and a storage medium, wherein the storage medium stores a computer program; when the processor runs the computer program, the above-mentioned satellite Internet SCMA multi-user detection method is executed.
[0030] In summary, due to the adoption of the above technical solution, the beneficial effects of the present invention are:
[0031] The satellite Internet SCMA multi-user detection method of the present application adopts a two-stage iteration for multi-user detection (codeword detection). In the first stage, some low-probability codewords are discarded in advance, and some users are decoded in advance, so that these codewords and users do not need to be iteratively detected in subsequent iterations, which greatly reduces the detection complexity. Especially for scenarios with a large number of total iterations, the number of exponential operations is greatly reduced. While ensuring the bit error rate, the detection time is reduced and the detection efficiency is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The present invention will now be described by way of example with reference to the accompanying drawings, in which:
[0033] Figure 1This is a flow chart of a satellite Internet SCMA multi-user detection method provided by an embodiment of the present application.
[0034] Figure 2 This is a flow chart of a satellite Internet SCMA multi-user detection method provided by another embodiment of the present application.
[0035] Figure 3 It is a comparison chart of bit error rate performance of different detection methods in the embodiments of the present application.
[0036] Figure 4 It is a performance comparison chart of different detection methods when performing 5 and 10 iterations in the embodiments of the present application.
[0037] Figure 5 It is a performance comparison chart of different detection methods when performing 10 and 20 iterations in the embodiments of the present application.
[0038] Figure 6 It is a comparison chart of the average calculation times of exponential operations of different detection methods in the embodiments of the present application.
[0039] Figure 7 It is a comparison chart of average iteration time of different detection methods in the embodiments of the present application. DETAILED DESCRIPTION
[0040] All features disclosed in this specification, or steps in all methods or processes disclosed, except mutually exclusive features and / or steps, can be combined in any manner.
[0041] Any feature disclosed in this specification (including any additional claims and abstract), unless otherwise stated, may be replaced by other equivalent or alternative features having similar purposes. That is, unless otherwise stated, each feature is only an example of a series of equivalent or similar features.
[0042] The system complexity of the traditional MPA detection method is affected by the number of iterations t, the number of resource nodes K, and the number of users connected to the resource nodes d. v When the number of resource nodes K and the number of iterations t increase, the detection complexity increases linearly. In addition, when the number of user nodes connected to the resource node d v In view of the problem that the MPA algorithm has high computational complexity when performing multi-user detection and cannot be applied to scenarios with clear requirements for detection efficiency, the embodiments of the present application provide a satellite Internet SCMA multi-user detection method and device, aiming to reduce the system (computational) complexity in the multi-user detection process.
[0043] like Figure 1As shown, in some embodiments, the satellite Internet SCMA multi-user detection method provided by the present application includes the following process:
[0044] S1. Configure the two-stage iteration parameters.
[0045] As an optional implementation, the two-stage iteration parameters include the number of iterations of the first stage and the second stage.
[0046] As mentioned above, the system complexity of the traditional MPA algorithm increases linearly with the number of iterations t, which is related to the fact that each iteration of the traditional MPA algorithm requires the execution of the entire iteration step. In this application, the iteration process is divided into two stages, such as Figure 2 As shown, iterations are performed separately in the two stages, and the total number of iterations in the two stages is the agreed total number of iterations, corresponding to the number of iterations of the traditional MPA algorithm. In this way, the computational complexity of each iteration in the present application is lower than the computational complexity of the traditional MPA algorithm, and the amount of computation in the second stage is significantly reduced due to the filtering in the first stage, which greatly reduces the overall complexity of the system and improves the detection efficiency.
[0047] In some feasible embodiments, the number of iterations of the first stage and the second stage are configured to be equal or close to being equal, that is, the difference in the number of iterations of the two stages does not exceed 1. Let t represent the total number of iterations, and the number of iterations of the first stage and the second stage are represented as t1 and t2 respectively, then t=t1+t2, and preferably, |t1-t2|≤1.
[0048] S2. In the first stage, the conditional probability of each user is iteratively calculated; for each user, based on the conditional probability of each codeword of the user, the codeword that meets the first condition is deleted, and the user is decoded using the codeword that meets the second condition. The first condition and the second condition are distinguished based on a predetermined threshold.
[0049] For the conditional probability of a user, in some feasible implementations, the calculation method thereof includes:
[0050] When the user sends prior information to the resource node, the same conditional probability is initialized for each codeword;
[0051] After receiving the prior information, the resource node starts the current iteration, updates the conditional probability of the iteration, and transmits a message to the user;
[0052] After receiving the message, the user updates the conditional probability of the iteration and transmits the external information to the resource node for the next iteration;
[0053] This process is repeated until the predetermined number of iterations is reached.
[0054] Taking user j as an example, the method of calculating conditional probability includes:
[0055] The first step is to initialize the conditional probability. There are Z codewords in each codebook. Assuming that the prior information of each user sending each codeword is equally likely, the initial conditional probability of each codeword of the user can be expressed as:
[0056]
[0057] Where j, j∈{1,2,…,J} refers to users, J represents the set of all users, k, k∈{1,2,…,K} represents resource nodes, represents the set of all resource nodes k connected to user j. In this step, the user transmits information to the resource node. indicates that user j chooses to send the zth codeword, represents the conditional probability (i.e., prior probability) of the zth codeword sent by user j to resource node k at the initial time.
[0058] In the second step, after receiving the prior information, resource node k updates the information, including updating the conditional probability, and then starts the first iteration. Resource node k transmits a message to user j, which contains information transmitted by other users except user j. The conditional probability update of this step is expressed as:
[0059]
[0060] Among them, λ represents the normalization coefficient, N0 is the noise power, X [k] represents the set of all codewords on the kth resource node, ξ k is the set of users j connected to the kth resource node, It represents the conditional probability that when user j transmits the zth codeword to resource node k, resource node k sends the codeword combination of other associated users except j to user j. l∈ξ k \{j} is the other user connected to k except user j. Assume that each resource node k is connected to d v users are connected, then l contains d v -1 user. t and t-1 are iteration rounds. k represents the signal received at resource node k, that is, the superposition of the information sent to resource node k by all users connected to resource node k. k,l represents the channel state information between resource node k and user l, x k,l represents the codeword sent by user l on resource node k. According to the Jacobian logarithm expression, that is:
[0061] max*(x,y)=log(e x +e y)=max(x,y)+Q(|xy|)
[0062] Q(x)=log(1+e -x ),
[0063] The update of the conditional probability of the kth resource node in the above formula can be simplified as:
[0064]
[0065] In the third step, after user j receives the message transmitted by the above resource node k, it processes and updates the message and transmits external information to resource node k (the external information refers to the information transmitted by other resource nodes except resource node k), and updates the conditional probability of this iteration. The update formula is:
[0066]
[0067] in, Represents other resource nodes connected to user j except resource node k. It indicates the conditional probability combination of the codeword sent by user j when the codeword sent by user j is z, except for the codeword sent by k.
[0068] From the conditional probability formula in the third step, it can be concluded that the user node j sends They are:
[0069]
[0070] After the above iterative process is completed, the conditional probabilities of each codeword of user j are The second and third steps are repeated for each iteration to obtain the conditional probability of each codeword after each iteration.
[0071] As an optional implementation, in the first stage, a probability ranking detection matrix is configured for each user. After each iteration of the first stage, each codeword is ranked according to the size of the corresponding conditional probability and written into the user's probability ranking detection matrix. The probability ranking detection matrix can intuitively show the size order of the conditional probability of each codeword of the user at each iteration.
[0072] In some feasible implementations, after each iteration, each codeword is sorted in descending order according to its conditional probability, and the sorted codewords are then written into the user's probability sorting detection matrix.
[0073] For each user, in some optional implementations, based on the conditional probability of each codeword of the user, a method for deleting codewords that meet the first condition includes:
[0074] After the first phase of iteration is completed, query the user's probability ranking detection matrix for the codeword with the minimum conditional probability after each iteration;
[0075] It is determined whether the queried codeword satisfies the first condition, and if so, the queried codeword is discarded.
[0076] In some other optional implementations, based on the conditional probabilities of the codewords of the user, the method for decoding the user using the codewords satisfying the second condition includes:
[0077] After the first phase of iteration is completed, query the user's probability ranking detection matrix for the codeword with the maximum conditional probability after each iteration;
[0078] It is determined whether the queried codeword satisfies the second condition, and if so, the queried codeword is used to decode the user.
[0079] Assume that the set threshold is P, the value of P can be a set value, or a set calculation method. For example, in some feasible implementations, P=M / t1, (t1>M), where M is a preset value. According to the above embodiment of sorting codewords in descending order based on conditional probability, in some optional implementations, the first condition is set as follows: the sorting position of the codeword in each iteration is later than the position of the threshold P, or the codeword is sorted to the last position in each iteration. The second condition is set as follows: the sorting position of the codeword in each iteration is earlier than the position of the threshold P, or the codeword is sorted to the first position in each iteration.
[0080] For example, the probability ranking detection matrix of user j in the first stage is expressed as Assume that there are Z codewords in the codebook. Initially, it is a matrix of all zeros. Then the probability ranking detection matrix of the first stage tth iteration of user j is expressed as:
[0081]
[0082] The superscript t1 indicates that the data is the data of the first stage (the number of iterations is t1). Vector in is a real matrix of size t1×Z, represents the codeword sorting vector after the tth iteration of user j in the first stage, It can be expressed as:
[0083]
[0084] t∈{1,2,…,t1},z∈{1,2,…,Z} represents the codeword ranked at the zth position of user j at the tth iteration.
[0085] After reaching the maximum number of iterations t1 in the first stage, query the probability ranking detection matrix of user j The last column t∈{1,2,…,t1}, that is, the codeword with the minimum conditional probability after each iteration. If every codeword in t∈{1,2,…,t1} is the same, then the codeword is considered a low-probability codeword; otherwise, the query Each iteration sorting is closer to the position of threshold P (using t∈{1,2,…,t1} represents the codeword at the later position), determine whether there is the same codeword in each iteration, if so, regard the codeword as a low-probability codeword; determine the low-probability codeword as the codeword with the lowest conditional probability of user sending, discard the codeword, and the codeword will no longer participate in the subsequent iteration process. Similarly, after reaching the maximum number of iterations t1 in the first stage, query the probability ranking detection matrix of user j The first row t∈{1,2,…,t1}, that is, the codeword with the maximum conditional probability after each iteration. If every codeword in t∈{1,2,…,t1} is the same, or if there is a codeword whose ranking is higher than the threshold P in each iteration in t1 iterations, then the codeword is considered to be a high-probability codeword; otherwise, the query In each iteration, the codewords that are ranked higher than the threshold P are judged to determine whether there are the same codewords in each iteration. If so, the codeword is regarded as a high-probability codeword; the high-probability codeword is determined to be the codeword with the largest conditional probability of the user sending, and the user j with the high-probability codeword is regarded as a stable user and put into the stable user set In the process, the high probability codeword is used to decode user j in advance. The so-called advance means that the user no longer participates in the iteration of the second stage.
[0086] S3. In the second stage, the conditional probabilities of the undecoded users are calculated iteratively respectively; for each undecoded user, the most likely codeword is indicated by the conditional probability of the undecoded user for decoding.
[0087] As an optional implementation, in the second stage, for each undecoded user (i.e., the undecoded user in the first stage, corresponding to the user not included in the stable user set The probability sorting counter is configured for each user in the second stage. After each iteration of the second stage, the probability sorting counter is used to count the codewords corresponding to the maximum and / or minimum conditional probabilities of the iteration; the probability sorting counter has the same initial count value for each codeword.
[0088] The user's probability ranking counter arranges a position for counting each codeword participating in the iteration, and each number of the probability ranking counter corresponds to a codeword that the user may choose.
[0089] For example, the count value of the probability ranking counter of each undecoded user is expressed as Its expression is:
[0090]
[0091] Among them, cl j The count matrix, cl, represents the probability-ordered counters of undecoded user j. j =[cl j1 ,…,cl jz ,…,cl jZ ],cl jz represents the count position of the probability sorting counter of user j for codeword z, and the undecoded user set Expressed as
[0092] As an optional implementation, the probability ranking counter adopts a reward and punishment mechanism, and counts the codewords corresponding to the maximum and / or minimum conditional probabilities of each iteration based on the initial count value. For this type of implementation, the codeword with the most rewards is used as the most likely codeword for the conditional probability indication of the undecoded user.
[0093] In some feasible implementations, before the second phase starts iterating, the probability ranking counter of each undecoded user is initialized, represented as cl j =[c,…,c,…,c], where c is the initial count value after initialization, and its value can be set to t2 / 2. Then, in each iteration of the second stage, the probability sorting counter will count the codewords corresponding to the maximum and / or minimum conditional probabilities based on this initial count value.
[0094] In an optional implementation, in the second stage, a probability ranking detection matrix is also configured for each undecoded user (taking undecoded user j as an example for explanation), which is expressed as Before iteration, it is initialized to a matrix of all 0s. It can be expressed as:
[0095]
[0096] The superscript t2 indicates that it belongs to the second stage (the number of iterations is t2). Vector in represents the codeword sorting vector of the undecoded user j after the t-th iteration in the second stage, which can be expressed as:
[0097]
[0098] t∈{1,2,…,t2},z∈{1,2,…,Z} represents the codeword ranked at the zth position of user j at the tth iteration.
[0099] After each iteration, the probability of undecoded user j is sorted into a detection matrix In The first codeword of t∈{1,2,…,t2} is queried, and the count value corresponding to the queried codeword is reduced by 1. In the same way, after each iteration, the probability ranking detection matrix of the undecoded user j is In The last codeword of t∈{1,2,…,t2} is queried, and the count value corresponding to the queried codeword is increased by 1. The reverse is also possible.
[0100] As an optional implementation manner, the conditional probability of the undecoded user indicates that the most likely codeword is:
[0101] The code word corresponding to the count value of the probability sorting counter reaching the predetermined value; or,
[0102] After the second phase iteration is completed, the probability sorting counter counts the codeword with the largest conditional probability.
[0103] Previous article based on For example, the first and last bits of t∈{1,2,…,t2} are added or subtracted to the count value of the corresponding codeword. In some feasible implementations, the cl of the undecoded user j is j When a 0 element appears in (that is, the count value of a certain code element reaches 0), the undecoded user j is decoded according to the codeword corresponding to the 0 element.
[0104] In addition, if there are still undecoded users after the second stage iteration, that is, after the last iteration of the second stage, the probability ranking counter cl of the undecoded user j is used j The codeword with the smallest count value (i.e., the largest maximum conditional probability count) is used to decode the undecoded user j.
[0105] The performance of the proposed method is also verified in the embodiment of the present application. The performance of the proposed method (expressed as TSI-Log-MPA, full name Two Step Iteration based log Message Passing Algorithm) is compared with the traditional MPA detection method and the Log-MPA detection method, and the channel used is AWGN. The comparison results are shown in Figure 2. Figure 3-Figure 7 shown.
[0106] Figure 3 The number of iterations required to reach convergence under the same conditions for the traditional MPA detection method, the Log-MPA detection method and the TSI-Log-MPA detection method of the present application was compared. The results show that all three methods converged after 8 iterations. The TSI-Log-MPA method performed similarly to the other methods in the first iteration, and the bit error rate (BER) performance was consistent. In addition, as the number of iterations increased, the bit error rate of the TSI-Log-MPA detection method decreased significantly, and its detection performance gradually approached that of other detection methods after 7 iterations. It can be seen that at a higher number of iterations, the bit error rate performance of the TSI-Log-MPA method is comparable to that of the traditional MPA algorithm, but its detection complexity is significantly lower than that of the latter.
[0107] Figure 4 and Figure 5 The relationship curves between bit error rate and signal-to-noise ratio under different iteration numbers are shown respectively. Among them, when the number of iterations of the TSI-Log-MPA detection method is 5, the number of iterations of the two stages are 2 and 3 respectively, when the number of iterations is 10, the number of iterations of the two stages are 5, when the number of iterations is 15, the number of iterations of the two stages are 7 and 8 respectively, when the number of iterations is 20, the number of iterations of the two stages are 10. It can be seen from the figure that the bit error rate performance of the Log-MPA detection method is slightly higher than that of the MPA detection method. As the number of iterations increases, such as Figure 4 When 20 iterations are performed in , the performance curve of the TSI-Log-MPA detection method gradually approaches the traditional MPA detection method. From the above analysis, it can be concluded that the more iterations there are, the more obvious the performance advantage of the TSI-Log-MPA detection method is, and the system complexity can be significantly reduced without losing accuracy.
[0108] Figure 6 Taking the average number of calculations of exponential operations as an example, the computational complexity of the traditional MPA detection method, the Log-MPA detection method, and the TSI-Log-MPA detection method under the same number of iterations is compared. The maximum number of iterations of the traditional MPA detection method and the Log-MPA detection method is set to 10, while the number of iterations of the two stages of the TSI-Log-MPA detection method is 5. Figure 6 It can be observed that the average number of exponential operations of the traditional MPA detection method and the Log-MPA detection method is consistent, the complexity is high, and the corresponding curves overlap in the figure. In addition, the complexity of the two algorithms is not affected by the change of SNR. For the TSI-Log-MPA detection method, under high SNR conditions, it can exclude low-probability codewords faster and decode users in a stable state in advance. Therefore, as the SNR increases, the average number of exponential operations of the TSI-Log-MPA detection method gradually decreases.
[0109] Figure 7 The figure shows the average iteration time comparison of the three methods under the same number of iterations. The traditional MPA algorithm and Log-MPA algorithm have a relatively long running time due to their high overall computational complexity. In comparison, the TSI-Log-MPA algorithm has the lowest computational complexity and the running time of the algorithm is greatly reduced.
[0110] It can be determined from the comparative examples that the method of the present application can effectively guarantee the bit error rate performance when the number of iterations is high, and can also reduce the calculation complexity of the system and save detection time.
[0111] As an optional implementation, the SCMA multi-user detection device provided in the present application includes a processor and a storage medium, in which a computer program is stored; when the processor runs the computer program, the satellite Internet SCMA multi-user detection method of the above embodiment is executed.
[0112] The present invention is not limited to the above-mentioned specific embodiments, but extends to any new features or any new combination disclosed in this specification, as well as any new method or process steps or any new combination disclosed.
Claims
1. A satellite Internet SCMA multi-user detection method, characterized in that: include: Configure two-stage iteration parameters; In the first stage, the conditional probability of each user is calculated iteratively; For each user, based on the conditional probability of each codeword of the user, the codewords satisfying the first condition are deleted, and the user is decoded using the codewords satisfying the second condition, wherein the first condition and the second condition are distinguished based on a predetermined threshold; In the second stage, the conditional probabilities of the undecoded users are calculated iteratively respectively; For each undecoded user, the most likely codeword is decoded using the conditional probability indicator of the undecoded user.
2. The satellite Internet SCMA multi-user detection method as claimed in claim 1, characterized in that: The two-stage iteration parameters include the number of iterations of the first stage and the second stage.
3. The satellite Internet SCMA multi-user detection method as claimed in claim 1, characterized in that: In the first stage, a probability sorting detection matrix is configured for each user; after each iteration of the first stage, each codeword is sorted according to the size of the corresponding conditional probability and written into the probability sorting detection matrix.
4. The satellite Internet SCMA multi-user detection method as claimed in claim 3, characterized in that: In the first stage, for each user, based on the conditional probability of each codeword of the user, the codewords that meet the first condition are deleted, including: After the first phase of iteration is completed, query the user's probability ranking detection matrix for the codeword with the minimum conditional probability after each iteration; It is determined whether the queried codeword satisfies the first condition, and if so, the queried codeword is discarded.
5. The satellite Internet SCMA multi-user detection method as claimed in claim 3, characterized in that: In the first stage, for each user, based on the conditional probability of each codeword of the user, decoding the user using a codeword that satisfies the second condition includes: After the first phase of iteration is completed, query the user's probability ranking detection matrix for the codeword with the maximum conditional probability after each iteration; It is determined whether the queried codeword satisfies the second condition, and if so, the queried codeword is used to decode the user.
6. The satellite Internet SCMA multi-user detection method according to claim 1, characterized in that: In the second stage, a probability ranking counter is configured for each undecoded user; after each iteration of the second stage, the probability ranking counter is used to count the codewords corresponding to the maximum and / or minimum conditional probabilities of the iteration; The probability sorting counter has the same initial count value for each codeword.
7. The satellite Internet SCMA multi-user detection method according to claim 6, characterized in that: The probability ranking counter adopts a reward and punishment mechanism, and counts the codewords corresponding to the maximum and / or minimum conditional probabilities in each iteration based on the initial count value.
8. The satellite Internet SCMA multi-user detection method as claimed in claim 6, characterized in that: The conditional probability of the undecoded user indicates that the most likely codeword is: The count value of the probability sorting counter reaches the codeword corresponding to the predetermined value; or, After the second stage iteration is completed, the probability sorting counter counts the codeword with the largest maximum conditional probability.
9. The satellite Internet SCMA multi-user detection method according to any one of claims 1 to 8, characterized in that: The method for calculating the conditional probability includes: When the user sends prior information to the resource node, the same conditional probability is initialized for each codeword; After receiving the prior information, the resource node starts the current iteration, updates the conditional probability of the iteration, and transmits a message to the user; After receiving the message, the user updates the conditional probability of the iteration and transmits the external information to the resource node for the next iteration; This process is repeated until the predetermined number of iterations is reached.
10. A SCMA multi-user detection device, comprising a processor and a storage medium, wherein the storage medium stores a computer program; characterized in that: When the processor runs the computer program, it executes the satellite Internet SCMA multi-user detection method as described in any one of claims 1-9.
Citation Information
Patent Citations
SCMA multi-user detection method based on weight factor message passing
CN107508657A
SCMA receiving detection method based on state position
CN113746601A