Scma system multi-user detection method and device, communication equipment and readable storage medium

By dynamically adjusting the user decoding order and decision threshold, the problems of high computational complexity and bit error rate in the SCMA system are solved, achieving efficient and accurate user detection, adapting to channel changes, and improving system performance.

CN119892124BActive Publication Date: 2025-11-11CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411959612.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-11-11
Estimated Expiration
2044-12-27

AI Technical Summary

Technical Problem

In existing sparse code division multiple access (SCMA) systems, the message passing algorithm (MPA) has high computational complexity and high bit error rate in scenarios with a high number of users, and it cannot adapt to channel changes in real time, resulting in low decoding efficiency.

Method used

By dynamically adjusting the user decoding sorting priority and user codeword decision threshold, channel changes are perceived in real time, the message iteration process is optimized, and a dynamic threshold learning algorithm is used to optimize user detection.

Benefits of technology

It reduces the complexity of receiver detection, improves user detection success rate and system decoding accuracy, adapts to dynamic channel environments, and enhances system real-time performance and overall performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892124B_ABST
    Figure CN119892124B_ABST
Patent Text Reader

Abstract

The application provides a SCMA system multi-user detection method and device, communication equipment and a readable storage medium. The method comprises the following steps: determining a decoding order priority according to a channel parameter of each user in a user set; performing message iteration on to-be-decoded data based on the decoding order priority, and determining probability information of a code word sent by each user; determining a bit error rate of each user according to the probability information corresponding to each user and a user code word decision threshold; removing a target number of users in front of the decoding order priority from the user set to update the user set; and updating the user code word decision threshold of each user in the user set according to the bit error rate of each user in the updated user set, so as to perform cyclic detection on the updated user set. Through the above method, the success rate of user detection of a receiving end of a SCMA system can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technology, specifically to a multi-user detection method and apparatus for an SCMA system, a communication device, and a readable storage medium. Background Technology

[0002] With the continuous development of the mobile internet and Internet of Things industries, the main application scenario of fifth-generation mobile communication system (5G)—massive machine-type communication (mMTC)—urgently requires new air interface technologies for support. Among them, sparse code multiple access (SCMA) is a highly competitive air interface technology for 5G. It can support more users to access under the same resource configuration conditions and has obvious advantages in massive machine-type communication scenarios, which has attracted widespread attention at home and abroad.

[0003] In SCMA system decoding schemes, the mainstream algorithm is currently the message passing algorithm (MPA). In SCMA systems, each resource block is connected to d... f Given different users, i.e., different codewords colliding on the resource block, the receiver's MPA algorithm needs to distinguish the possibility of all codewords sent by users on the same resource block, and its computational complexity is O(d). f M df As the number of users accessing the SCMA system continues to increase, the number of collision codewords on the same resource block will also increase, leading to an exponential increase in the complexity of detection at the receiver. Excessive computational complexity will make implementation difficult.

[0004] During the iteration of the MPA algorithm, the actual transmission conditions and channel variations were not taken into account. The transmission of each user codeword on the resource block is affected by the environment, and the codeword loss on the resource block varies. If the original algorithm is followed, it will lead to low detection efficiency. In other words, the MPA algorithm suffers from high bit error rate and high computational complexity. Summary of the Invention

[0005] This application mainly provides a multi-user detection method and apparatus, communication equipment, and readable storage medium for a sparse code division multiple access (SCMA) system. The technical solution of this application is implemented as follows:

[0006] Firstly, a method for detecting a sparse code division multiple access (SCMA) system is provided, the method comprising:

[0007] Based on the channel parameters of each user in the user set, a decoding sorting priority is determined; based on the decoding sorting priority, message iteration is performed on the data to be decoded to determine the probability information of the codewords sent by each user; based on the probability information corresponding to each user and the user codeword decision threshold, the bit error rate of each user is determined; users with a target number of positions before the decoding sorting priority are removed from the user set to update the user set; based on the bit error rate of each user in the updated user set, the user codeword decision threshold of each user in the updated user set is updated to perform cyclic detection on the updated user set; wherein, the target number is related to the number of users in the user set, the number of iterations, and the preset number of partitioning layers.

[0008] Based on the aforementioned technical means, channel changes are dynamically sensed during communication. Channel coefficients between users and resource blocks are acquired in real time, and user decoding priorities are obtained in real time during decoding. During serial updates, the order in which users update codewords in each iteration is continuously adjusted, ensuring that the most reliable information is delivered to the current message iteration, thus accelerating the convergence of the decoding algorithm. A dynamic threshold method is used for updates. An initial default threshold is set, and the bit error rate of the user after the decision is calculated to feed back into the training algorithm, obtaining the updated and adjusted codeword threshold. This process is repeated to obtain a specific threshold for each user. The decision threshold is obtained through continuous optimization during iteration, which can effectively improve the user detection success rate at the receiving end and reduce the complexity of traditional MPA algorithms.

[0009] In some embodiments, updating the user set includes: if the bit error rate (BER) of the users in the top target number of decoding sorting priorities among the multiple users in the user set is less than a preset BER threshold, removing the users in the top target number of priorities from the user set to obtain the updated user set; if the BER of at least one target user among the users in the top target number of decoding sorting priorities among the multiple users in the user set is not less than the preset BER threshold, adjusting the user codeword decision threshold corresponding to the target user until the BER of the users in the top target number of decoding sorting priorities is less than the preset BER threshold, removing the users in the top target number of priorities from the user set to obtain the updated user set.

[0010] Based on the aforementioned technical means, when the bit error rate of the users in the top target number of users in the user set is less than a preset bit error rate threshold, these users are removed from the user set to obtain an updated user set. When there are target users in the top target number of users in the decoding priority that have a bit error rate not less than the preset bit error rate threshold, the corresponding user codeword decision threshold is adjusted until the condition is met and then removed. The decision threshold can be dynamically adjusted according to the actual bit error situation of each user, so that each user can decode under a suitable threshold. At the same time, the user set is continuously optimized to improve the decoding accuracy and efficiency of the entire system.

[0011] In some embodiments, the method further includes: if the bit error rate of the user with the highest decoding priority among the multiple users in the user set is less than a preset bit error rate threshold, making a decoding decision to recover the codewords sent by the user with the highest decoding priority.

[0012] Based on the aforementioned technical methods, when the bit error rate of a subset of users in the user group meets the conditions, a decoding decision is made and the codewords transmitted by those users are recovered. This enables the timely acquisition of accurate information from a subset of users, reducing the computational load for subsequent iterations for these users. It also provides partially definitive information for the overall system's decoding, facilitating subsequent decoding of other users and improving the system's decoding efficiency and accuracy.

[0013] In some embodiments, the method further includes terminating the loop detection when the updated user set is empty and / or the number of loop message iterations reaches a preset threshold.

[0014] Based on the aforementioned technical methods, the system terminates when the updated user set is empty and / or the number of iterations of the loop message reaches a preset threshold. When the user set is empty, it indicates that all users have completed decoding, ensuring that the system can fully process the information of all users. The condition of reaching the preset threshold prevents the iteration process from proceeding indefinitely, avoiding excessive consumption of system resources and improving the system's real-time performance and overall performance while ensuring a certain level of decoding accuracy.

[0015] In some embodiments, adjusting the user codeword decision threshold corresponding to the target user and updating the user codeword decision threshold corresponding to each user in the user set includes: dynamically adjusting the user codeword decision threshold according to the bit error rate of each target user with the goal of minimizing the bit error rate, wherein the increment or decrement step of the user codeword decision threshold is half of the step of the previous iteration.

[0016] Based on the aforementioned technical methods, with the goal of minimizing the bit error rate, the user codeword decision threshold is dynamically adjusted according to the bit error rate of each user, with the increment or decrement step size of the user codeword decision threshold being half the step size of the previous iteration. This adjustment strategy makes the threshold adjustment more stable and accurate, avoiding bit error rate fluctuations or system instability caused by excessively large step sizes. By gradually optimizing the threshold, the bit error rate can be reduced more effectively, the decoding accuracy of the system can be improved, and the needs of different users at different iteration stages can be adapted.

[0017] In some embodiments, before determining the decoding ordering priority based on the channel parameters of each user in the user set, the method further includes: determining, in real time during communication, the channel gain value between each user in the user set and the resource block transmission; the channel parameters include the channel coefficient of each user, the channel coefficient being the sum of the channel gain values ​​of each user between different resource block transmissions; determining the decoding ordering priority includes: determining the information weight of each user based on the channel coefficient and the iteration factor; determining the encoding and decoding ordering priority of multiple users in the user set based on the information weight of each user; wherein, the iteration factor is related to the number of iterations of the cyclic message.

[0018] Based on the above technical means, real-time channel monitoring and parameter updates ensure the timeliness and accuracy of channel parameters, enabling the decoding sorting priority to reflect changes in the user's channel status in real time, thus improving the system's adaptability to dynamic channel environments. Determining the decoding sorting priority based on this makes the decoding order more reasonable, which helps improve the effect of message iteration, accelerates the convergence speed of the decoding algorithm, and reduces the bit error rate.

[0019] In some embodiments, the step of iterating messages based on the decoding sorting priority to determine the probability information of each user sending codewords includes: performing message iteration from resource node to user node and from user node to resource node for each user in the user set according to the decoding sorting priority to determine the message probability of each user; and performing normalization calculation on the message probability of each user to determine the probability information of each user sending codewords.

[0020] Based on the aforementioned technical methods, message iteration is performed according to a reasonable decoding priority, ensuring more efficient message transmission between resource nodes and user nodes throughout the decoding process. By accurately calculating and normalizing the message probability for each user to obtain the probability information of the transmitted codewords, a reliable data foundation is provided for subsequent bit error rate calculation and codeword decision-making, jointly improving the decoding accuracy and efficiency of the system.

[0021] Secondly, a sparse code division multiple access (SCMA) system detection apparatus is provided. The apparatus includes: a sorting unit, configured to determine a decoding sorting priority based on the channel parameters of each user in a user set; a message iteration unit, configured to perform message iteration based on the decoding sorting priority to determine the probability information of codewords transmitted by each user; a first determination unit, configured to determine the bit error rate of each user based on the probability information corresponding to each user and a user codeword decision threshold; an update unit, configured to remove users with a target number of bits above the decoding sorting priority from the user set to update the user set; and to update the user codeword decision threshold of each user in the updated user set based on the bit error rate of each user in the updated user set, so as to perform cyclic detection on the updated user set; wherein the target number is related to the number of users in the user set, the number of iterations, and the preset number of partitioning layers.

[0022] Thirdly, a communication device is provided, including a memory and a processor, the memory for storing a computer program and the processor for executing the computer program to perform the method as described in the first aspect.

[0023] Fourthly, a computer-readable storage medium is provided for storing a computer program that, when run, implements the method described in the first aspect. Attached Figure Description

[0024] Figure 1 A schematic diagram of the architecture of a communication system that applies the technical solutions provided in this application;

[0025] Figure 2 This application provides an SCMA communication system model in the SCMA system detection method.

[0026] Figure 3 The factor diagram and factor matrix of the SCMA system provided in the embodiments of this application;

[0027] Figure 4 A schematic flowchart illustrating an embodiment of the SCMA system detection method provided in this application;

[0028] Figure 5 A schematic flowchart illustrating an SCMA system detection method provided in another embodiment of this application;

[0029] Figure 6 A schematic flowchart illustrating an SCMA system detection method provided in another embodiment of this application;

[0030] Figure 7 A schematic flowchart illustrating an SCMA system detection method provided in another embodiment of this application;

[0031] Figure 8 A flowchart illustrating the detection method provided in one embodiment of this application;

[0032] Figure 9 A flowchart illustrating a method for dynamically adjusting user codeword decision thresholds provided in this application embodiment;

[0033] Figure 10 A decoding flowchart of an exemplary receiving end provided in an embodiment of this application;

[0034] Figure 11 A schematic structural diagram of the SCMA system detection device provided in the embodiments of this application;

[0035] Figure 12 This is a schematic structural diagram of a communication device provided in an embodiment of this application. Detailed Implementation

[0036] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention. In the description of the embodiments of this application, unless otherwise stated, " / " means "or", for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.

[0037] Before introducing the technical solution provided in this application, a brief explanation of the relevant terms involved in the technical solution of this application will be given first.

[0038] Codebook: The user codebook design is the design of the SCMA encoder, which can achieve higher system performance gains.

[0039] Codeword: SCMA codewords are derived from the bit stream sent by the user through a codebook mapping and are superimposed and transmitted in the channel.

[0040] SCMA factor graph: Represents the transmission during message decoding. The connection between users and resource blocks indicates the occupancy relationship. The connecting nodes are called user nodes and resource nodes, respectively.

[0041] Figure 1This diagram illustrates the architecture of a communication system to which the technical solutions provided in this application are applicable. The wireless communication system includes a network device 110 and a terminal device 120. The network device 110 can communicate with the terminal device 120. The network device 110 can provide communication coverage for a specific geographical area and can communicate with the terminal device 120 located within that coverage area.

[0042] Figure 1 An exemplary embodiment shows a network device and three terminal devices. Optionally, the wireless communication system 100 may include multiple network devices and each network device may include other numbers of terminal devices within its coverage area. This application embodiment does not limit this.

[0043] Optionally, the wireless communication system 100 may also include other network entities such as a network controller and a mobility management entity, which is not limited in this embodiment.

[0044] It should be understood that the technical solutions of the embodiments of this application can be applied to various communication systems, such as: 5th generation (5G) systems or new radio (NR), long term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, etc. The technical solutions provided in this application can also be applied to future communication systems, such as 6th generation mobile communication systems, satellite communication systems, etc.

[0045] The terminal device in this application embodiment can also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device. The terminal device in this application embodiment can be a device that provides voice and / or data connectivity to a user, and can be used to connect people, objects, and machines, such as a handheld device with wireless connectivity, vehicle-mounted device, etc. The terminal devices in the embodiments of this application can be mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, self-driving, remote medical surgery, smart grids, transportation safety, smart cities, and smart homes, etc. Optionally, the UE can act as a base station. For example, the UE can act as a scheduling entity, providing sidelink signals between UEs in V2X or D2D, etc. For example, cellular phones and cars communicate with each other using sidelink signals. Cellular phones and smart home devices communicate without relaying communication signals through a base station.

[0046] The network device in this application embodiment can be a device for communicating with a terminal device. This network device can also be called an access network device or a wireless access network device, such as a base station. In this application embodiment, the network device can refer to a radio access network (RAN) node (or device) that connects the terminal device to the wireless network. A base station can broadly encompass, or be replaced by, various names including: NodeB, evolved NodeB (eNB), next-generation NodeB (gNB), relay station, transmitting and receiving point (TRP), transmitting point (TP), master MeNB, secondary SeNB, multi-mode radio (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distributed unit (DU), positioning node, etc. A base station can be a macro base station, micro base station, relay node, donor node, or a combination thereof. A base station can also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. Base stations can also be mobile switching centers, devices that perform base station functions in device-to-device (D2D), vehicle-to-everything (V2X), and machine-to-machine (M2M) communications, network-side devices in 6G networks, and devices that perform base station functions in future communication systems. Base stations can support networks using the same or different access technologies. The embodiments of this application do not limit the specific technologies or device forms used in the network equipment.

[0047] Base stations can be fixed or mobile. For example, a helicopter or drone can be configured to act as a mobile base station, and one or more cells can move depending on the location of the mobile base station. In other examples, a helicopter or drone can be configured as a device to communicate with another base station.

[0048] In some deployments, the network device in this application embodiment may refer to a CU or a DU, or the network device may include both a CU and a DU. The gNB may also include an AAU.

[0049] Network devices and terminal devices can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, or satellites. This application does not limit the scenario in which the network devices and terminal devices are located.

[0050] It should be understood that all or part of the functions of the communication device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (e.g., a cloud platform).

[0051] With the continuous development of the mobile internet and Internet of Things industries, the main application scenario of fifth-generation mobile communication system (5G)—massive machine-type communication (mMTC)—urgently requires new air interface technologies for support. Among them, sparse code multiple access (SCMA) is a highly competitive air interface technology for 5G. It can support more users to access under the same resource configuration conditions and has obvious advantages in massive machine-type communication scenarios, which has attracted widespread attention at home and abroad.

[0052] Figure 2 The model of an SCMA system is shown, in which J user nodes multiplex K orthogonal time-frequency resources. J and K are both positive integers, where J > K. Each user is assigned a different codebook. The information bits of the data stream 1-data stream J from the J users, after channel coding, are fed back to the SCMA encoder. The coded bits in the data stream are directly mapped to multidimensional SCMA codewords in the complex domain. The codewords from different user nodes are non-orthogonally superimposed on the physical resource elements in a sparsely extended manner; in other words, the data stream, after channel coding, SCMA coding, and physical mapping, is mapped into multidimensional codewords, which are then superimposed in the same channel.

[0053] At the SCMA receiver, the sparsity of the codebook is used to perform multi-user detection, i.e., SCMA decoding, to distinguish the codewords sent by different users and finally recover the original signal sent by each user.

[0054] In SCMA system decoding schemes, the mainstream algorithm is currently the Message Passing Algorithm (MPA). MPA is a confidence propagation detection algorithm that uses a factor graph model to regress probabilistic inference problems. Messages are iteratively transmitted between resource nodes and user nodes. After multiple iterations, when the confidence of all nodes no longer changes and convergence is achieved, the codeword probability information of each user is calculated, and a decision is made on the codewords sent by the user. The MPA algorithm is based on a factor graph model. Taking 6 users and 4 resource blocks as an example, the factor graph and factor matrix of the SCMA system are as follows: Figure 3 As shown, the circle represents the user node U.j The square represents resource node R. k The MPA algorithm can be divided into the following steps:

[0055] (1) Initialize the probability of user sending codewords;

[0056] (2) Updates from resource nodes to user nodes, and updates from user nodes to resource nodes;

[0057] (3) When the maximum number of iterations is reached, calculate the codeword probability information and decide on the user's codeword output.

[0058] Message passing algorithms can achieve near-optimal system performance and effectively reduce computational complexity. However, as the number of users accessing the SCMA system continues to increase, the computational complexity of the MPA algorithm remains high, making it difficult to apply in practical engineering.

[0059] The problem with the above MPA algorithm is that:

[0060] In an SCMA system, each resource block has a connection d f Given different users, i.e., different codewords colliding on the resource block, the receiver's MPA algorithm needs to distinguish the possibility of all codewords sent by users on the same resource block, and its computational complexity is O(d). f M df As the number of users accessing the SCMA system continues to increase, the number of collision codewords on the same resource block will also increase, leading to an exponential increase in the complexity of detection at the receiver. Excessive computational complexity will make implementation difficult.

[0061] During the iteration of the MPA algorithm, the actual transmission conditions and channel variations were not considered. Each user codeword's transmission on the resource block is affected by the environment, resulting in varying codeword loss across resource blocks. Following the original algorithm would lead to low detection efficiency. In other words, the MPA algorithm suffers from high bit error rate and high computational complexity. Specifically, this can be attributed to the following two aspects:

[0062] (1) The current mainstream receiver decoding algorithms cannot perceive channel changes in real time. If the decoding is designed to benefit the receiver from the perspective of the transmitter, the flexibility of the decoding algorithm strategy itself is ignored, and the decoding efficiency is still very low.

[0063] (2) In order to decode users in advance, the decision threshold in the current MPA algorithm is a fixed value and cannot be changed in real time according to the changes in the environment. How to make a decision on user information as early as possible while ensuring the bit error rate is also an urgent problem to be solved.

[0064] In view of the above problems, embodiments of this application provide an SCMA system detection method and apparatus, communication equipment, and computer-readable storage medium. The technical solution provided in this application achieves SCMA system detection by introducing dynamic user ordering and threshold learning algorithms. During this detection process, not only can the user decoding order be dynamically adjusted according to the user channel state, and the message passing algorithm factor graph be optimized, but also, during the MPA algorithm's user node decision-making, the threshold for user codeword decision-making can be dynamically adjusted based on the bit error rate in the decision decoding, thereby minimizing decision error loss dynamically. This solution can effectively reduce the detection complexity of the SCMA receiver while ensuring optimal performance.

[0065] The technical solution of this application will now be described in detail with reference to the accompanying drawings. Figure 4 This is a schematic flowchart of the SCMA system detection method provided in the embodiments of this application, such as... Figure 4 As shown, the method includes steps S410-S450.

[0066] In step S410, the decoding sorting priority is determined based on the channel parameters of each user in the user set.

[0067] The aforementioned user set is the set of all users to be decoded in the SCMA system, for example, in Figure 3 In the example of 6 users and 4 resource blocks shown, users 1 to 6 constitute the user set of the system.

[0068] Channel parameters are quantities that reflect the characteristics of each user in a user set with respect to the communication channel. These channel parameters can be, for example, channel gain. For instance, in a multi-resource block communication scenario, the channel quality for each user differs across resource blocks, resulting in different channel gains for each user.

[0069] Based on the channel parameters for each user, the decoding priority for multiple users in the user set is determined. A higher priority indicates higher channel quality, making it easier to decode the user's information. Therefore, determining the decoding priority and decoding each user sequentially according to this priority can accelerate the algorithm's convergence speed, thus improving the overall decoding efficiency and accuracy of the system.

[0070] In step S420, the data to be decoded is iterated based on the decoding sorting priority to determine the probability information of each user sending codewords.

[0071] In an SCMA system, there is a complex signal interaction relationship between resource nodes and user nodes. Message iteration from resource node to user node can be understood as the resource node transmitting received signal-related information to the user node, the user node processing it according to its own situation, and then feeding the information back to the resource node. After multiple iterations, the probability information for each user to send codewords is determined based on the final iteration result. This probability information reflects the likelihood of the user sending different codewords under the current channel conditions and system state.

[0072] In step S430, the bit error rate of each user is determined based on the probability information corresponding to each user and the user codeword decision threshold.

[0073] As mentioned earlier, in step S430, the probability information for each user is determined. By comparing and calculating these probabilities with pre-set user codeword decision thresholds, the bit error rate for each user can be obtained. For example, for a certain user, if the probability of a certain codeword is greater than the user codeword decision threshold, it is temporarily determined that the user sent this codeword. By comparing the user's codeword after decoding at the receiving point with the original codeword sent by the sending end bit by bit, the bit error rate corresponding to that user can be determined. For example, if the total number of codeword bits is 100 and 5 bits are inconsistent, the bit error rate is 0.05.

[0074] This application does not limit the value of the user codeword decision threshold mentioned above. Whether the value is reasonable will have a significant impact on the bit error rate. In the solution of this application, it needs to be determined in combination with the key parameters of the system. For example, when the channel quality is good, the user codeword decision threshold can be set to a higher value; or, it can be determined according to the specific use case.

[0075] When the user codeword decision threshold is too high, the receiver will be more stringent in judging the codewords sent by the user. For example, in an SCMA system, if the decision threshold is too high, even if the probability of the user sending "0" in the received signal is already relatively high, it may still be judged as other codewords because it has not reached this excessively high threshold, thus increasing the bit error rate.

[0076] When the threshold is too low, it may incorrectly identify codewords that should not be attributed to a particular user as that user's codewords. For example, there may be noise or other interference in the received signal, causing the probability of a user sending other codewords to be incorrectly estimated to be higher. Because the threshold is too low, such codewords may be identified as those sent by that user, resulting in a misjudgment.

[0077] In step S440, users whose decoding sorting priority is less than the target number of bits are removed from the user set to update the user set.

[0078] In the aforementioned method, after determining the decoding ordering priority of multiple users in the user set, the bit error rate of each user is determined based on the probability information corresponding to each user and the user codeword decision threshold.

[0079] For users whose decoding priority is ranked first among the target numbers, if their bit error rate is small, it indicates that the previous message iteration process has converged or is close to converged. Therefore, there is no need to perform subsequent iterations for this group of users. Instead, they can be decoded in advance, and the remaining user set can continue to participate in message iteration. This can reduce detection time and improve detection efficiency.

[0080] In this application embodiment, the value of the target number is not limited. As an example, the target number can be 1, that is, each iteration only decodes the user with the highest decoding priority in the user set, which can improve the decoding accuracy. As another example, in order to improve the decoding efficiency, the target number can be set to 2 or more, so that multiple users are decoded in successive iterations.

[0081] The target number is related to the number of users in the user set, the number of iterations, and the preset number of partitioning layers. For example, if the user set has a large number of users, the target number may be small in the early stages of iteration. As the number of iterations increases and the number of partitioning layers changes, the target number may be adjusted. When the bit error rate of users with a lower target number of priorities is low, it indicates that the decoding of these users is already relatively accurate, and they can be removed from the user set to reduce the computational load of subsequent iterations, allowing the focus to be placed on processing users with higher bit error rates and greater decoding difficulty.

[0082] In step S450, the user codeword decision threshold for each user in the updated user set is updated according to the bit error rate of each user in the updated user set, so as to perform cyclic detection on the updated user set.

[0083] For users with high bit error rates, there are two possibilities: the user's codeword decision threshold is too high or too low. As mentioned earlier, if the user's codeword decision threshold is too high, the receiver will be more stringent in judging the codewords sent by the user, discarding some correct information; if the codeword decision threshold is too low, some erroneous information will be introduced. Therefore, in the scheme of this application, if the bit error rate is too high, the decision threshold can be adjusted in subsequent iterative processes, with the goal of minimizing the bit error rate.

[0084] For example, if a user has a high error rate, their decision threshold may be appropriately lowered to increase the probability of correctly receiving codewords. The adjustment step size is determined based on the step size of the previous iteration, which makes the threshold adjustment more reasonable and stable, and avoids excessive adjustment that could lead to system instability.

[0085] After updating the user set, the above cyclic detection process is repeated on the updated user set, that is: redetermine the decoding order of each user in the updated user set, perform message iteration according to the decoding order, determine the bit error rate of each user again according to the updated user codeword decision threshold, and update the user set again, until the condition for ending the detection is met.

[0086] Based on the aforementioned technical means, channel changes are dynamically sensed during communication. Channel coefficients between users and resource blocks are acquired in real time, and user decoding priorities are obtained in real time during decoding. During serial updates, the order in which users update codewords in each iteration is continuously adjusted, ensuring that the most reliable information is delivered to the current message iteration, thus accelerating the convergence of the decoding algorithm. A dynamic threshold method is used for updates. An initial default threshold is set, and the bit error rate of the user after the decision is calculated to feed back into the training algorithm, obtaining the updated and adjusted codeword threshold. This process is repeated to obtain a specific threshold for each user. The decision threshold is obtained through continuous optimization during iteration, which can effectively improve the user detection success rate at the receiving end and reduce the complexity of traditional MPA algorithms.

[0087] In some embodiments, such as Figure 5 As shown, updating the user set in step S440 further includes:

[0088] Step S441: Determine whether the bit error rate of the user with the target number of bits before the decoding sorting priority is less than the preset bit error rate threshold. If yes, proceed to step S442; otherwise, proceed to step S443.

[0089] In step S442, if the bit error rate of the users with the highest priority among the multiple users in the user set is less than a preset bit error rate threshold, the users with the highest priority among the multiple users in the user set are removed from the user set to obtain an updated user set.

[0090] In step S443, if the bit error rate (BER) of at least one target user among the users with the highest decoding priority in the user set is greater than or equal to a preset BER threshold, it indicates that the value of the user codeword decision threshold for that user is inappropriate and needs to be adjusted and the BER redefined until it is lower than the preset BER threshold. By continuously increasing the threshold, the BER of the aforementioned at least one target user is reduced to an acceptable range, and then that user is removed from the user set to ensure the processing efficiency and accuracy of the entire user set.

[0091] Based on the aforementioned technical means, when the bit error rate of the users in the top target number of users in the user set is less than a preset bit error rate threshold, these users are removed from the user set to obtain an updated user set. When there are target users in the top target number of users in the decoding priority that have a bit error rate not less than the preset bit error rate threshold, the corresponding user codeword decision threshold is adjusted until the condition is met and then removed. The decision threshold can be dynamically adjusted according to the actual bit error situation of each user, so that each user can decode under a suitable threshold. At the same time, the user set is continuously optimized to improve the decoding accuracy and efficiency of the entire system.

[0092] In some embodiments, such as Figure 6 As shown, between the aforementioned steps S441 and S442, the method further includes step S610, which involves making a decoding decision and recovering the codewords sent by the user before the target number of bits of the decoding sorting priority.

[0093] When the bit error rate of these users meets the condition, it means that the codewords they send can be recovered relatively accurately. Using the previously determined probability information and related decoding algorithms, the codewords sent by these users are decoded and a decision is made to obtain the original transmitted codeword information, thus completing the information transmission and decoding process for these users.

[0094] Based on the aforementioned technical methods, when the bit error rate of a subset of users in the user group meets the conditions, a decoding decision is made and the codewords transmitted by those users are recovered. This enables the timely acquisition of accurate information from a subset of users, reducing the computational load for subsequent iterations for these users. It also provides partially definitive information for the overall system's decoding, facilitating subsequent decoding of other users and improving the system's decoding efficiency and accuracy.

[0095] In some embodiments, the aforementioned method further includes: ending the loop detection when the updated user set is empty and / or the number of loop message iterations reaches a preset threshold.

[0096] The preset termination conditions include an updated user set that is empty and / or the number of iterations of the loop message reaching a preset threshold.

[0097] When the user set is empty, it means that all users in the user set have been processed, completing the detection and decoding tasks, and the entire SCMA system's detection process ends. To prevent the iteration process from going on indefinitely, a preset threshold is set. Even if there are still users in the user set that have not been processed, if the number of iterations reaches this threshold, the iteration stops. This is a balance between detection accuracy and computational resource consumption, avoiding the system being in iterative computation for a long time due to an excessive pursuit of a low bit error rate, which would affect the overall communication efficiency.

[0098] Based on the aforementioned technical methods, the system terminates when the updated user set is empty and / or the number of iterations of the loop message reaches a preset threshold. When the user set is empty, it indicates that all users have completed decoding, ensuring that the system can fully process the information of all users. The condition of reaching the preset threshold prevents the iteration process from proceeding indefinitely, avoiding excessive consumption of system resources and improving the system's real-time performance and overall performance while ensuring a certain level of decoding accuracy.

[0099] In some embodiments, the aforementioned adjustment of the user codeword decision threshold corresponding to the target user includes: dynamically adjusting the user codeword decision threshold based on the target user's bit error rate, with the goal of minimizing the bit error rate. The increment / decrement step size for the codeword decision threshold is half the step size of the previous iteration.

[0100] If the target user's bit error rate (BER) is high, the threshold needs to be adjusted. For example, if the BER is too high, the decision threshold might be lowered to allow more signals to be identified as the user's codewords, thus increasing the probability of correct reception. The adjustment step size is half of the previous iteration step size. This makes the threshold adjustment smoother and avoids situations where the BER increases or the system becomes unstable due to an excessively large step size. The previous iteration step size is a value calculated based on the previous BER and threshold adjustment results. By taking half of it as the current step size, the adjustment range can be more precisely controlled when adjusting the threshold.

[0101] Based on the aforementioned technical methods, with the goal of minimizing the bit error rate, the user codeword decision threshold is dynamically adjusted according to the target user's bit error rate, with the increment / decrement step size of the user codeword decision threshold being half the step size of the previous iteration. This adjustment strategy makes the threshold adjustment more stable and accurate, avoiding bit error rate fluctuations or system instability caused by excessively large step sizes. By gradually optimizing the threshold, the bit error rate can be reduced more effectively, the decoding accuracy of the system can be improved, and the needs of different users at different iteration stages can be adapted.

[0102] In some embodiments, such as Figure 7 As shown, before determining the decoding sorting priority based on the channel parameters of each user in the user set in the aforementioned step S410, the method further includes step S710, which determines the channel gain value between each user in the user set and the resource block transmission in real time during the communication process.

[0103] During communication, the channel gain value is constantly changing. For example, due to factors such as user movement and changes in the surrounding environment, the channel gain between the user and the resource block will change. By determining these channel gain values ​​in real time, the user's channel parameters can be updated promptly, thereby ensuring the accuracy and effectiveness of decoding prioritization. Because the channel coefficients are calculated based on the channel gain value, using outdated channel gain values ​​may lead to incorrect decoding prioritization, thus affecting the detection performance of the entire SCMA system.

[0104] The channel parameters mentioned in the embodiments of this application include the channel coefficients for each user, which are the sum of the channel gain values ​​for each user between different resource block transmissions.

[0105] In a multi-resource-block SCMA system, the channel gain value of each user on different resource blocks affects the overall signal transmission. The channel coefficient obtained by adding the channel gain values ​​of these different resource blocks can comprehensively reflect the channel characteristics of the user across the entire communication resource, providing a comprehensive channel information basis for determining the decoding priority.

[0106] The aforementioned step S410, determining the decoding ordering priority, further includes: determining the information weight of each user based on the channel coefficient and iteration factor; and determining the encoding / decoding ordering priority of multiple users in the user set based on the information weight of each user. The iteration factor is related to the number of iterations of the cyclic message.

[0107] The channel coefficient reflects the user's channel conditions, while the iteration factor changes with the number of iterations of the loop message. For example, in the early stages of iteration, the iteration factor may make the influence of the channel coefficient on the information weight relatively small, but as the number of iterations increases, the influence of the channel coefficient gradually increases. The information weight of each user is calculated by combining the two. The information weight can be understood as a quantitative indicator of the user's importance or priority in the entire decoding and sorting process.

[0108] Based on the information weight of each user, the encoding and decoding priority of multiple users in the user set can be determined. Users with higher information weights will be processed first, which can improve the decoding efficiency of the entire system. This is because processing users who have a greater impact on the overall decoding result or are easier to decode first helps with the subsequent decoding processing of other users and reduces the overall bit error rate.

[0109] Based on the above technical means, real-time channel monitoring and parameter updates ensure the timeliness and accuracy of channel parameters, enabling the decoding sorting priority to reflect changes in the user's channel status in real time, thus improving the system's adaptability to dynamic channel environments. Determining the decoding sorting priority based on this makes the decoding order more reasonable, which helps improve the effect of message iteration, accelerates the convergence speed of the decoding algorithm, and reduces the bit error rate.

[0110] In some embodiments, the aforementioned step S420, which iterates messages based on decoding sorting priority to determine the probability information of each user sending codewords, further includes:

[0111] Based on the decoding sorting priority, perform message iteration from resource node to user node and from user node to resource node for each user in the user set to determine the message probability for each user. And,

[0112] The message probability of each user is normalized to determine the probability information of each user sending codewords.

[0113] The message iteration order described above follows the decoding priority. During the message iteration process from the resource node to the user node and back to the resource node, the message probability for each user is continuously updated. For example, initially, the resource node receives information consisting of multiple superimposed user signals. Through the iterative process of transmitting and returning information to the user node, the signal information of each user is gradually separated, yielding the message probability for each user. Then, through normalization calculations, these message probabilities are adjusted to an appropriate range so that they accurately reflect the probability of each user sending a specific codeword, facilitating subsequent operations such as bit error rate calculation and codeword decision-making.

[0114] Based on the aforementioned technical methods, message iteration is performed according to a reasonable decoding priority, ensuring more efficient message transmission between resource nodes and user nodes throughout the decoding process. By accurately calculating and normalizing the message probability for each user to obtain the probability information of the transmitted codewords, a reliable data foundation is provided for subsequent bit error rate calculation and codeword decision-making, jointly improving the decoding accuracy and efficiency of the system.

[0115] The following is combined with Figure 8 The technical solution of this application will be further described below. Figure 8 This is a schematic flowchart of a detection method provided in an embodiment of this application. Figure 8 The method includes steps S810-S850.

[0116] In step S810, the channel parameters of the user on the resource block are obtained, and the user decoding sorting priority is calculated based on the channel parameters.

[0117] The receiver performs dynamic detection of the user channel, i.e., it acquires the channel gain between the user and the resource block during communication in real time, and obtains the user decoding priority. Since the channel quality of the user on each resource block can be measured by calculating the channel coefficient, the channel gains of the user on resource blocks k1 and k2 are respectively:

[0118]

[0119] In equations (1) and (2) above, h j,k1 and h j,k2 These represent the channel gain of user j on resource block k1.

[0120] Using formulas (1) and (2), the channel gain h of user j can be obtained. j =h j,k1 +h j,k2 In the serial MPA algorithm, the convergence rate is relatively high when messages are updated to the end, and the messages are more reliable. Therefore, in the scheme of this application embodiment, an iteration factor θ is set. j During the iteration process, the user information is multiplied by an iteration factor based on the user's order of visit, and the final weight of the user information is calculated based on the magnitude of the factor. The user iteration priority ranking result is shown below:

[0121]

[0122] The weights of user information are calculated based on the user's channel gain and iteration factor, thereby obtaining the user iteration priority ranking result, determining the user decoding order, and giving priority to users with good channel quality and high importance in the iteration process.

[0123] In step S820, the probability information of the codeword sent by the user is calculated based on the priority user message iteration.

[0124] Based on the user iteration priority sorting result obtained in step S810, the message iteration from resource node to user node and from user node to resource node is executed, that is, the message probability is obtained by using formula (4) and (5).

[0125]

[0126] In equation (4), This indicates that in the t-th iteration, from resource node r... k To user node u j Regarding the code x j Message probability; y k It is the signal received by the resource node; h k,j The channel for user j on resource node k is sparse; x k,j It is the codeword sent by user j on resource node k; σ2 ε is the noise variance, used to measure the degree of noise interference during communication; k Represents the set of users associated with a resource node; ε k \j represents the set of all user nodes connected to resource node k, excluding user node j; This indicates that during the t-th iteration, from user node u... l To resource node r k Regarding the code x j The probability of receiving a message.

[0127] In equation (5), This indicates that in the t-th iteration, from user node u... l To resource node r k Regarding the code x j The probability of receiving a message.

[0128] Calculating the message probability from user nodes to resource nodes is part of the message iteration process. The information processed by user nodes according to their own situation is fed back to the resource nodes so that the resource nodes can perform the next round of iteration calculation.

[0129] In step S830, the probability Q(x) of the user sending codewords is calculated based on the probability information using normalization. j ).

[0130] After each iteration, initialize the user codeword decision threshold T. d Remove high-priority users; their information will not be updated in the next iteration. The remaining user set will continue to participate in message iteration.

[0131]

[0132] In equation (6), Q(x) j This indicates that user j sends codeword x. j The probability, The resource node r calculated in the aforementioned formula (4) k To user node u j Regarding the code x j The probability of receiving a message.

[0133] By comprehensively calculating the message probabilities from resource nodes to user nodes, the probability of a user sending codewords is obtained, providing a basis for subsequent calculation of bit error rate and codeword decision-making.

[0134] In step S840, the bit error rate is calculated and the user codeword decision threshold is adjusted.

[0135] After one round of elimination decisions, the bit error rate information can be calculated. This information can be used to learn the threshold and increase feedback on the threshold.

[0136]

[0137] In equation (7), T d The user codeword decision threshold is err(d), which represents the bit error rate. Based on the feedback factor obtained from formula (7), the minimum bit error rate is used as the criterion, and the decision threshold of the user codeword is dynamically adjusted with a step size to learn a suitable threshold. (In order to obtain the converged threshold, the step size each time is 1 / 2 of the previous iteration).

[0138] In step S850, the user makes a decoding decision in advance based on the threshold of the previous iteration.

[0139] In step S860, it is determined whether the user set φ(j) is empty. If it is not empty, proceed to step S870 to continue the message iteration process and return to step S820; if it is empty, the decoding ends. Thus, the sent codeword information of all users is determined.

[0140] φ(j)=φ(1,2,...,J)\j α (8)

[0141] In the above formula, φ(1,2,...,J) is the union of all users; j α The user with the highest priority.

[0142] Based on the method provided in the above embodiments, the following describes the method for dynamically adjusting the user codeword decision threshold. Figure 9 This illustration shows a schematic flowchart of the method for dynamically adjusting the user codeword decision threshold in the method provided in the embodiments of this application. Figure 9 The method includes steps S910-S950.

[0143] In step S910, a bit error rate threshold is set. This bit error rate threshold could be, for example, 10. -1 .

[0144] In step S920, the bit error rate is calculated and compared with the set bit error rate threshold.

[0145] Through the aforementioned iterative process, the probability information of each user is determined. By comparing and calculating these probabilities with pre-set user codeword decision thresholds, the bit error rate of each user can be obtained.

[0146] In steps S930 and S940, the threshold is increased or decreased according to the step size formula. When the given algorithm's bit error rate standard is 10... -1 Then, by working backwards, during the iteration process, the bit error rate for each user under the threshold is continuously calculated. If the bit error rate calculated for the first time is higher than 10... -1If the threshold is too low, it means that a low-probability codeword was judged. In this case, the threshold is increased in reverse. The increased threshold is defined as the step size. Each step size is half of the previous one. In this way, after multiple iterations, the step size will tend to a stable value.

[0147] In step S950, after the threshold condition is met, the user iteration is completed.

[0148] Figure 10 The diagram illustrates an exemplary decoding flowchart of the receiving end in the method provided in this application embodiment. Figure 10 The method includes steps S1010-S1070.

[0149] In step S1010, initialization is performed, and the channel coefficients of the user and each resource block are obtained. The specific calculation method of the channel coefficients can be found in formulas (4) and (5) above.

[0150] In step S1020, the user decoding priority is sorted according to the user order sensed by the channel.

[0151] In step S1030, the resource node and user node are updated, and the codeword probability is calculated.

[0152] In step S1040, an update decision is made based on the threshold, and the user is removed from all users.

[0153] In step S1050, the bit error rate of decoding for each user module is calculated and the threshold is updated.

[0154] In step S1060, it is determined whether the decoding user set is empty. If it is, the above process ends; otherwise, step S1070 is executed to perform message iteration operation and return to step S1010.

[0155] The above text combined Figures 1-10 The method embodiments of this application have been described in detail. The device embodiments of this application will now be described in detail with reference to the accompanying drawings. It should be understood that the description of the device embodiments corresponds to the method embodiments; therefore, any parts not described in detail can be referred to the method embodiments above.

[0156] Figure 11 This is a schematic structural diagram of the sparse code division multiple access (SCMA) system detection device provided in the embodiments of this application. Figure 11 The device 1100 includes:

[0157] The sorting unit 1110 is used to determine the decoding sorting priority based on the channel parameters of each user in the user set.

[0158] The message iteration unit 1120 is used to iterate messages based on the decoding sorting priority to determine the probability information of each user sending codewords.

[0159] The first determining unit 1130 is used to determine the bit error rate of each user based on the probability information corresponding to each user and the user codeword decision threshold.

[0160] The update unit 1140 is used to remove users with a target number of bits higher than the decoding sorting priority from the user set to update the user set; and to update the user codeword decision threshold of each user in the user set according to the bit error rate of each user in the updated user set to perform cyclic detection on the updated user set.

[0161] In some embodiments, the updating unit is further configured to: remove users from the user set whose decoding priority ranks among the target number of users in the user set is less than a preset bit error rate threshold, thereby obtaining an updated user set; and adjust the user codeword decision threshold corresponding to the target user until the bit error rate ranks among the target number of users in the user set is less than the preset bit error rate threshold, thereby removing users from the user set whose decoding priority ranks among the target number of users in the user set is not less than the preset bit error rate threshold, thereby obtaining an updated user set; wherein the target number is related to the number of users in the user set, the number of iterations, and the preset number of partitioning layers.

[0162] In some embodiments, the above-described apparatus further includes a decision unit, configured to make a decoding decision and recover the codewords sent by the users whose decoding priority is the target number of bits among multiple users in the user set is less than a preset bit error rate threshold.

[0163] In some embodiments, the message iteration unit 1120 is further configured to: end the loop detection when the updated user set is empty and / or the number of loop message iterations reaches a preset threshold.

[0164] In some embodiments, the update unit is further configured to: dynamically adjust the user codeword decision threshold according to the target user's bit error rate with the goal of minimizing the bit error rate, wherein the increment or decrement step of the user codeword decision threshold is half the step of the previous iteration.

[0165] In some embodiments, the above apparatus further includes a second determining unit, configured to determine in real time during communication the channel gain value between each user in the user set and the resource block transmission; the channel parameters include the channel coefficient of each user, and the channel coefficient is the sum of the channel gain values ​​of each user between different resource block transmissions;

[0166] The sorting unit is also used to: determine the information weight of each user based on the channel coefficient and iteration factor of each user; and determine the encoding and decoding sorting priority of multiple users in the user set based on the information weight of each user; wherein the iteration factor is related to the number of iterations of the cyclic message.

[0167] In some embodiments, the first determining unit is further configured to perform message iteration from resource node to user node and from user node to resource node for each user in the user set according to the decoding sorting priority, determine the message probability of each user; and perform normalization calculation on the message probability of each user to determine the probability information of each user sending codewords.

[0168] This application also provides a communication device. Figure 12 The dashed lines indicate that the unit or module is optional. The communication device 1200 can be used to implement the methods described in the above method embodiments. The communication device 1200 can be a chip or a communication device. For example, the communication device can be a base station or an access point device.

[0169] The communication device 1200 may include one or more processors 1210. The processor 1210 can support the communication device 1200 in implementing the methods described in the preceding method embodiments. The processor 1210 may be a general-purpose processor or a special-purpose processor. For example, the processor may be a central processing unit (CPU). Alternatively, the processor may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0170] The communication device 1200 may further include one or more memories 1220. The memories 1220 store a program that can be executed by the processor 1210, causing the processor 1210 to perform the methods described in the preceding method embodiments. The memories 1220 may be independent of the processor 1210 or integrated within the processor 1210.

[0171] The communication device 1200 may also include a transceiver 1230. The processor 1210 can communicate with other devices or chips through the transceiver 1230. For example, the processor 1210 can send and receive data with other devices or chips through the transceiver 1230.

[0172] This application also provides a computer program product. The computer program product includes a program. The computer program product can be applied to the communication device provided in this application embodiment, and the program causes a computer to execute the methods performed by the communication device in various embodiments of this application.

[0173] This application also provides a computer program. This computer program can be applied to the communication device provided in this application, and causes the computer to execute the methods performed by the communication device in various embodiments of this application.

[0174] It should be understood that the terms "system" and "network" in this application can be used interchangeably. Furthermore, the terminology used in this application is only for explaining specific embodiments of the application and is not intended to limit the application. The terms "first," "second," "third," and "fourth," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. In addition, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion.

[0175] In the embodiments of this application, the term "instruction" can be a direct instruction, an indirect instruction, or an indication of a relationship. For example, A instructing B can mean that A directly instructs B, such as B being able to obtain information through A; it can also mean that A indirectly instructs B, such as A instructing C, so B can obtain information through C; or it can mean that there is a relationship between A and B.

[0176] In the embodiments of this application, the term "comprising" may refer to direct inclusion or indirect inclusion. Optionally, "comprising" in the embodiments of this application may be replaced with "instructing" or "used to determine". For example, "A includes B" may be replaced with "A instructs B" or "A is used to determine B".

[0177] In the embodiments of this application, "B corresponding to A" means that B is associated with A, and B can be determined based on A. However, it should also be understood that determining B based on A does not mean that B is determined solely based on A; B can also be determined based on A and / or other information.

[0178] In the embodiments of this application, the term "correspondence" can indicate a direct or indirect correspondence between two things, or an association between two things, or a relationship such as instruction and being instructed, configuration and being configured.

[0179] In this application embodiment, "predefined" or "preconfigured" can be implemented by pre-storing corresponding codes, tables, or other means that can be used to indicate relevant information in the device (e.g., including terminal devices and network devices). This application does not limit the specific implementation method. For example, predefined can refer to what is defined in the protocol.

[0180] In this application embodiment, the "protocol" may refer to a standard protocol in the field of communication, such as the LTE protocol, the NR protocol, and related protocols applied to future communication systems. This application does not limit this.

[0181] In the embodiments of this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.

[0182] In the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0183] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0184] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0185] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0186] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can read or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs, DVDs) or semiconductor media (e.g., solid-state disks, SSDs), etc.

[0187] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A multi-user detection method for a sparse code division multiple access (SCMA) system, characterized in that, The method includes: Determine the decoding ordering priority based on the channel parameters of each user in the user set; Based on the decoding sorting priority, message iteration is performed on the data to be decoded to determine the probability information of each user sending codewords; The error rate of each user is determined based on the probability information corresponding to each user and the user codeword decision threshold. Remove users from the user set whose decoding sorting priority is the target number of positions ahead, and update the user set accordingly; Based on the bit error rate of each user in the updated user set, update the user codeword decision threshold for each user in the updated user set, so as to perform cyclic detection on the updated user set; The target number is related to the number of users in the user set, the number of iterations, and the preset number of partitioning layers; The step of updating the user set includes: if the bit error rate (BER) of the users in the top target number of decoding sorting priorities among the multiple users in the user set is less than a preset BER threshold, removing the users in the top target number of priorities from the user set to obtain the updated user set; if the BER of at least one target user among the users in the top target number of decoding sorting priorities among the multiple users in the user set is not less than the preset BER threshold, adjusting the user codeword decision threshold corresponding to the target user until the BER of the users in the top target number of decoding sorting priorities is less than the preset BER threshold, removing the users in the top target number of priorities from the user set to obtain the updated user set; The adjustment of the user code word judgment threshold corresponding to the target user includes: With the goal of minimizing the bit error rate, the user codeword decision threshold is dynamically adjusted based on the bit error rate of the target user, and the increment or decrement step of the user codeword decision threshold is half the step of the previous iteration.

2. The method according to claim 1, characterized in that, The method further includes: If the bit error rate of the user in the user set whose decoding priority is less than a preset bit error rate threshold is less than a target number of users, a decoding decision is made to recover the codewords sent by the user whose decoding priority is the target number of users.

3. The method according to claim 1, characterized in that, The method further includes: ending the loop detection when the updated user set is empty and / or the number of loop message iterations reaches a preset threshold.

4. The method according to any one of claims 1 to 3, characterized in that, Before determining the decoding sorting priority based on the channel parameters of each user in the user set, the method further includes: determining the channel gain value between each user in the user set and the resource block transmission in real time during the communication process; The channel parameters include the channel coefficients for each user, which are the sum of the channel gain values ​​for each user across different resource block transmissions; The determination of decoding sorting priority includes: The information weight of each user is determined based on the channel coefficient and iteration factor of each user; Based on the information weight of each user, the encoding and decoding sorting priority of multiple users in the user set is determined; The iteration factor is related to the number of iterations of the loop message.

5. The method according to any one of claims 1 to 3, characterized in that, The step of iterating through messages based on the decoding sorting priority to determine the probability information of each user sending codewords includes: According to the decoding sorting priority, perform message iteration from resource node to user node and from user node to resource node for each user in the user set to determine the message probability of each user; The message probability of each user is normalized to determine the probability information of the codeword sent by each user.

6. A multi-user detection device for a sparse code division multiple access (SCMA) system, characterized in that, The device includes: The sorting unit is used to determine the decoding sorting priority based on the channel parameters of each user in the user set; The message iteration unit is used to perform message iteration based on the decoding sorting priority to determine the probability information of each user sending codewords; The first determining unit is used to determine the bit error rate of each user based on the probability information corresponding to each user and the user codeword decision threshold. The update unit is configured to remove users from the user set whose decoding sorting priority is the target number of bits before the target number of bits, so as to update the user set; and to update the user codeword decision threshold of each user in the user set according to the bit error rate of each user in the updated user set, so as to perform cyclic detection on the updated user set. The target number is related to the number of users in the user set, the number of iterations, and the preset number of partitioning layers; The step of updating the user set includes: if the bit error rate (BER) of the users in the top target number of decoding sorting priorities among the multiple users in the user set is less than a preset BER threshold, removing the users in the top target number of priorities from the user set to obtain the updated user set; if the BER of at least one target user among the users in the top target number of decoding sorting priorities among the multiple users in the user set is not less than the preset BER threshold, adjusting the user codeword decision threshold corresponding to the target user until the BER of the users in the top target number of decoding sorting priorities is less than the preset BER threshold, removing the users in the top target number of priorities from the user set to obtain the updated user set; The adjustment of the user code word judgment threshold corresponding to the target user includes: With the goal of minimizing the bit error rate, the user codeword decision threshold is dynamically adjusted based on the bit error rate of the target user, and the increment or decrement step of the user codeword decision threshold is half the step of the previous iteration.

7. A communication device, characterized in that, It includes a memory and a processor, the memory being used to store a computer program and the processor being used to execute the computer program to perform the method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Method for blind detection of receiver according to wireless optical communication

    CN106130660A

  • SCMA uplink transmission method based on asynchronous detection

    CN108521317A