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

By adjusting the decoding priority and codeword judgment threshold in real time, the problems of high computational complexity and high bit error rate in the SCMA system are solved, and more efficient multi-user detection and lower bit error rate are achieved.

CN119892124AActive Publication Date: 2025-04-25CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 6 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In the SCMA system, the MPA algorithm has high computational complexity during multi-user detection and fails to effectively consider channel changes, resulting in high bit error rate and low detection efficiency.

Method used

By dynamically perceiving channel changes, the channel coefficients between the user and resource block transmission are obtained in real time, the decoding priority and user codeword judgment threshold are adjusted, and the message delivery algorithm and codeword judgment process are optimized.

Benefits of technology

It effectively reduces the complexity of the reception side detection, improves the user detection success rate, reduces the bit error rate, and improves the system's decoding accuracy and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892124A_ABST
    Figure CN119892124A_ABST
Patent Text Reader

Abstract

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

Description

Technical Field

[0001] The present application relates to the field of wireless communication technology, and in particular to a SCMA system multi-user detection method and apparatus, communication equipment and readable storage medium. Background Art

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

[0003] In the SCMA system decoding solution, the current mainstream algorithm is the message passing algorithm (MPA). In the SCMA system, each resource block is connected to f different users, that is, different codewords colliding on the resource block, the receiving end MPA algorithm needs to distinguish the possibility of users sending all codewords on the same resource block, and its computational complexity is O(d f M df ). As the number of users accessing the SCMA system increases, the number of collision codewords on the same resource block will increase, and the complexity of the detection at the receiving end will increase exponentially. Excessively high computational complexity will become difficult to achieve.

[0004] During the iteration of the MPA algorithm, the changes in the actual transmission channel are 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 is different. If the original algorithm is used, the detection efficiency will be low. That is, the MPA algorithm has the problems of high bit error rate and high computational complexity. Summary of the invention

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

[0006] In a first aspect, a sparse code division multiple access (SCMA) system detection method is provided, the method comprising:

[0007] Determine a decoding sorting priority according to a channel parameter of each user in the user set; perform message iteration on the data to be decoded based on the decoding sorting priority to determine probability information of codeword transmission by each user; determine a bit error rate of each user according to the probability information corresponding to each user and a user codeword decision threshold; remove users with a target number of bits before the decoding sorting priority from the user set to update the user set; update the user codeword decision threshold of each user in the user set according to the updated bit error rate of each user in the user set 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 division layers.

[0008] According to the above technical means, the channel changes are dynamically sensed during the communication process, the channel coefficients between the user and the resource block are obtained in real time, the decoding priority of the user is obtained in real time during the decoding process, and the order of the user updating the codeword in each iteration is continuously adjusted during the serial update process, so that the most reliable information can be transmitted to the current message iteration, accelerating the convergence of the decoding algorithm. The dynamic threshold method is used for updating, and the default threshold is set for the first time. The training algorithm is fed back by calculating the bit error rate of the user after the judgment, and the updated and adjusted codeword threshold is obtained. This is repeated to obtain the specific threshold of each user. The judgment threshold is obtained by continuous optimization and learning during iteration, which can effectively improve the detection success rate of the receiving end user and reduce the complexity of the traditional MPA algorithm.

[0009] In some embodiments, updating the user set includes: when the bit error rate of a target number of users before the target number of priority positions among multiple users in the user set is less than a preset bit error rate threshold, eliminating the users before the target number of priority positions from the user set to obtain the updated user set; when the bit error rate of at least one target user among the users before the target number of priority positions among multiple users in the user set is not less than the preset bit error rate threshold, adjusting the user codeword decision threshold corresponding to the target user until the bit error rate of the user before the target number of priority positions is less than the preset bit error rate threshold, eliminating the users before the target number of priority positions from the user set to obtain the updated user set.

[0010] According to the above technical means, when the bit error rate of the users with a target number of bits before the decoding sorting priority among multiple users in the user set is less than the preset bit error rate threshold, these users are eliminated from the user set to obtain an updated user set; when there is a target user with a bit error rate not less than the preset bit error rate threshold among the users with a target number of bits before the decoding sorting priority, the corresponding user codeword decision threshold is adjusted until the condition is met and the user is eliminated. The decision threshold can be dynamically adjusted according to the actual bit error situation of each user, so that each user can be decoded at an appropriate threshold, and 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: when the bit error rate of the user with the target number of bits of decoding sorting priority before the multiple users in the user set is less than a preset bit error rate threshold, making a decoding decision and recovering the codeword sent by the user with the target number of bits of decoding sorting priority before the multiple users in the user set.

[0012] According to the above technical means, when the bit error rate of some users in the user set meets the conditions, decoding judgment is made and the codewords sent by them are restored. This can obtain accurate information of some users in a timely manner, reduce the amount of calculation for subsequent iterations of these users, and also provide some certain information for the decoding of the entire system, which is helpful for the subsequent decoding processing of other users and improves the decoding efficiency and accuracy of the system.

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

[0014] According to the above technical means, the end condition is that the updated user set is empty and / or the number of loop message iterations reaches a preset threshold. When the user set is empty, it means that all users have completed decoding, ensuring that the system can fully process the information of all users. The condition that the number of iterations reaches the preset threshold prevents the iteration process from being infinite, avoids excessive consumption of system resources, and improves the real-time performance and overall performance of the system while ensuring a certain decoding accuracy.

[0015] In some embodiments, the adjusting of the user codeword decision threshold corresponding to the target user updates the user codeword decision threshold corresponding to each user in the user set, including: taking the minimum bit error rate as a target, dynamically adjusting the user codeword decision threshold according to the bit error rate of each target user, and the increase or decrease step size of the user codeword decision threshold is half of the previous iteration step size.

[0016] According to the above technical means, with the minimum bit error rate as the goal, the user codeword decision threshold is dynamically adjusted according to the bit error rate of each user, and the increase or decrease step size of the user codeword decision threshold is half of the previous iteration step size. This adjustment strategy makes the threshold adjustment more stable and accurate, avoiding the situation where the bit error rate fluctuates or the system is unstable due to excessive step size. By gradually optimizing the threshold, the bit error rate can be more effectively reduced, the decoding accuracy of the system can be improved, and the needs of different users at different iteration stages can be met.

[0017] In some embodiments, before determining the decoding sorting priority according to the channel parameters of each user in the user set, the method also includes: during the communication process, determining in real time 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; determining the decoding sorting priority includes: determining the information weight of each user according to the channel coefficient and iteration factor of each user; determining the encoding and decoding sorting priority of multiple users in the user set according to the information weight of each user; wherein the iteration factor is related to the number of iterations of the loop message.

[0018] According to the above technical means, through real-time channel monitoring and parameter updating, the timeliness and accuracy of channel parameters are guaranteed, so that the decoding sorting priority can reflect the user's channel status changes in real time, and the system's adaptability to dynamic channel environments is improved; based on this, the decoding sorting priority is determined to make the decoding order more reasonable, which helps to improve the effect of message iteration, accelerate the convergence speed of the decoding algorithm, and reduce the bit error rate.

[0019] In some embodiments, the performing message iteration based on the decoding sorting priority to determine the probability information of each user sending a codeword 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 normalized calculation on the message probability of each user to determine the probability information of each user sending a codeword.

[0020] According to the above technical means, the message iteration is carried out according to the reasonable decoding sorting priority, which ensures that the message transmission between the resource node and the user node is more efficient during the entire decoding process. By accurately calculating the message probability of each user and normalizing it to obtain the probability information of the sent codeword, a reliable data basis is provided for the subsequent bit error rate calculation and codeword judgment, which jointly improves the decoding accuracy and efficiency of the system.

[0021] In a second aspect, a sparse code division multiple access (SCMA) system detection device is provided, and the device includes: a sorting unit, used to determine a decoding sorting priority according to a channel parameter of each user in a user set; a message iteration unit, used to perform message iteration based on the decoding sorting priority, and determine the probability information of each user sending a codeword; a first determination unit, used to determine the bit error rate of each user according to the probability information corresponding to each user and a user codeword decision threshold; an updating unit, used to remove users with a target number of bits before the decoding sorting priority from the user set to update the user set; and, according to the updated bit error rate of each user in the user set, update the user codeword decision threshold of each user in the user set 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 division layers.

[0022] According to a third aspect, a communication device is provided, comprising a memory and a processor, wherein the memory is used to store a computer program, and the processor is used to execute the computer program to perform the method according to the first aspect.

[0023] According to a fourth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium is used to store a computer program, and the computer program implements the method according to the first aspect when executed. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 A schematic diagram of the architecture of a communication system to which the technical solution provided by this application is applied;

[0025] Figure 2 The SCMA communication system model in the SCMA system detection method provided in the embodiment of the present application;

[0026] Figure 3 The factor graph and factor matrix of the SCMA system provided in the embodiment of the present application;

[0027] Figure 4 A schematic flow chart of a SCMA system detection method provided in an embodiment of the present application;

[0028] Figure 5 A schematic flow chart of a SCMA system detection method provided in another embodiment of the present application;

[0029] Figure 6 A schematic flow chart of a SCMA system detection method provided in another embodiment of the present application;

[0030] Figure 7 A schematic flow chart of a SCMA system detection method provided in another embodiment of the present application;

[0031] Figure 8 A schematic diagram of a detection method provided in an embodiment of the present application;

[0032] Fig. 9 A flow chart of a method for dynamically adjusting a user codeword decision threshold provided in an embodiment of the present application;

[0033] Fig.10 An exemplary decoding flowchart of a receiving end provided in an embodiment of the present application;

[0034] Fig.11 A schematic structural diagram of a SCMA system detection device provided in an embodiment of the present application;

[0035] Fig.12 A schematic structural diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0036] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without creative work belong to the scope of protection of the present invention. Among them, in the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" refers to two or more than two.

[0037] Before introducing the technical solution provided by the present application, a brief description of the relevant terms involved in the technical solution of the present application is first given.

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

[0039] Codeword: The SCMA codeword is mapped from the user's sent bit stream through the codebook and is superimposed and transmitted in the channel.

[0040] SCMA factor graph: represents the transmission during the message decoding process, and the occupancy relationship between users and resource blocks is represented by lines, where the connecting nodes are called user nodes and resource nodes respectively.

[0041] Figure 1The schematic diagram of the architecture of a communication system to which the technical solution provided in the embodiment of the present application is applicable is shown. The wireless communication system includes a network device 110 and a terminal device 120, and the network device 110 can be a device that communicates 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 in the coverage area.

[0042] Figure 1 One network device and three terminal devices are shown exemplarily. Optionally, the wireless communication system 100 may include multiple network devices and each network device may include another number of terminal devices within its coverage area, which is not limited in the embodiments of the present application.

[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 the embodiments of the present application.

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

[0045] The terminal device in the embodiment of the present application may 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 the embodiment of the present application may be a device that provides voice and / or data connectivity to a user, and may be used to connect people, objects and machines, such as a handheld device with wireless connection function, a vehicle-mounted device, etc. The terminal device in the embodiment of the present application can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc. Optionally, the UE can be used to act as a base station. For example, the UE can act as a scheduling entity that provides sidelink signals between UEs in V2X or D2D, etc. For example, a cellular phone and a car communicate with each other using a sidelink signal. The cellular phone and the smart home device communicate with each other without relaying the communication signal through the base station.

[0046] The network device in the embodiment of the present application may be a device for communicating with a terminal device, and the network device may also be referred to as an access network device or a wireless access network device, such as a base station. The network device in the embodiment of the present application may refer to a wireless access network (RAN) node (or device) that connects a terminal device to a wireless network. Base station can broadly cover various names as follows, or replace with the following names, such as: NodeB, evolved NodeB (eNB), next generation NodeB (gNB), relay station, transmission point (transmitting and receiving point, TRP), transmission point (transmitting point, TP), master station MeNB, auxiliary station SeNB, multi-standard radio (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, base band unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distributed unit (DU), positioning node, etc. The base station can be a macro base station, a micro base station, a relay node, a donor node or the like, or a combination thereof. The base station can also refer to a communication module, a modem or a chip used to be set in the aforementioned device or apparatus. The base station can also be a mobile switching center and a device that performs base station functions in device-to-device D2D, vehicle-to-everything (V2X), machine-to-machine (M2M) communications, a network-side device in a 6G network, and a device that performs base station functions in future communication systems. The base station can support networks with the same or different access technologies. The embodiments of the present application do not limit the specific technology and specific device form used by 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 based on the location of the mobile base station. In other examples, a helicopter or drone can be configured to act as a device that communicates with another base station.

[0048] In some deployments, the network device in the embodiments of the present application may refer to a CU or a DU, or the network device includes a CU and a DU. The gNB may also include an AAU.

[0049] The network equipment and terminal equipment can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on the water surface; they can also be deployed on aircraft, balloons or satellites in the air. The embodiments of the present application do not limit the scenarios in which the network equipment and terminal equipment are located.

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

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

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

[0053] At the receiving end of SCMA, the sparse characteristics of the codebook are used to perform multi-user detection, that is, SCMA decoding is performed to distinguish the codewords sent by different users, and finally restore the original signal sent by each user.

[0054] In the decoding scheme of SCMA system, the current mainstream algorithm is the message passing algorithm (MPA). MPA is a confidence propagation detection algorithm that uses factor graph model to regress the probability reasoning problem. The message is iteratively transmitted between resource nodes and user nodes. After multiple iterations, when the confidence of all nodes no longer changes and reaches the convergence state, the codeword probability information of each user is calculated, and the codeword sent by the user is judged and output. The MPA algorithm is based on the 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 Uj , square represents resource node R k , the MPA algorithm can be divided into the following steps:

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

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

[0057] (3) When the maximum number of iterations is reached, the codeword probability information is calculated and the user codeword output is determined.

[0058] The message passing algorithm can approach the optimal system performance and effectively reduce the computational complexity. However, as the number of users connected to the SCMA system continues to increase, the computational complexity of the MPA algorithm is still high, making it difficult to obtain practical engineering applications.

[0059] The problems with the above MPA algorithm are:

[0060] In the SCMA system, each resource block is connected to f different users, that is, different codewords colliding on the resource block, the receiving end MPA algorithm needs to distinguish the possibility of users sending all codewords on the same resource block, and its computational complexity is O(d f M df ). As the number of users accessing the SCMA system increases, the number of collision codewords on the same resource block will increase, and the complexity of the detection at the receiving end will increase exponentially. Excessively high computational complexity will become difficult to achieve.

[0061] During the iteration of the MPA algorithm, the changes in the actual transmission channel are 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 is different. If the original algorithm is used, the detection efficiency will be low. That is, the MPA algorithm has the problems of high bit error rate and high computational complexity. Specifically, it can include the following two aspects:

[0062] (1) The current mainstream receiving decoding algorithm cannot perceive channel changes in real time. If we only design decoding methods that are beneficial to the receiving end from the perspective of the sending end, we will actually ignore the flexibility of the decoding algorithm strategy itself, and the decoding efficiency will still be 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 environmental changes. How to make the earliest decision on user information while ensuring the bit error rate is also an urgent problem to be solved.

[0064] In view of the above problems, the embodiments of the present application provide a SCMA system detection method and device, communication equipment and computer-readable storage medium. The technical solution provided by the present application realizes the detection of the SCMA system by introducing an algorithm of dynamic user sorting and threshold learning. During the detection process, not only can the order of user decoding be dynamically adjusted according to the user channel state, and the factor graph of the message passing algorithm be optimized, but also when the MPA algorithm performs user node judgment, it can also dynamically feedback and optimize the user codeword judgment threshold according to the bit error rate in the judgment decoding, so as to minimize the judgment error loss in a dynamic manner. This solution can effectively reduce the detection complexity of the SCMA receiving end while ensuring the optimal performance.

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

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

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

[0068] The channel parameter is a quantity that can reflect the characteristics between each user in the user set and the communication channel, and the channel parameter may be, for example, a channel gain, etc. For example, in a multi-resource block communication scenario, the channel quality of the user on each resource block is different, which results in different channel gains for each user.

[0069] According to the above channel parameters of each user, the decoding sorting priority of multiple users in the user set is determined. The higher the priority, the higher the channel quality, and the easier it is for the user's information to be decoded. Therefore, determining the decoding sorting priority and decoding each user in turn according to the priority can speed up the convergence of the algorithm. This is conducive to improving the decoding efficiency and accuracy of the entire system.

[0070] In step S420, message iteration is performed on the data to be decoded based on the decoding sorting priority to determine the probability information of each user sending a codeword.

[0071] In the SCMA system, there is a complex signal interaction relationship between resource nodes and user nodes. The message iteration from resource nodes to user nodes can be understood as the resource nodes passing the received signal-related information to the user nodes, and the user nodes process it according to their own conditions and then feed the information back to the resource nodes. After multiple iterations, the probability information of each user sending a codeword is determined based on the final iteration result. This probability information reflects the possibility of users sending different codewords under the current channel conditions and system status.

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

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

[0074] The embodiment of the present application does not limit the value of the above-mentioned user codeword decision threshold. Whether the value is reasonable will have a great impact on the bit error rate. In the scheme of the present application, it is necessary to determine it 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 usage scenario.

[0075] When the user codeword decision threshold is too high, the receiving end will be more strict in judging the codewords sent by the user. For example, in the SCMA system, for the codeword "0" sent by a certain user, if the decision threshold is too high, even if the probability of the user sending "0" in the received signal is relatively high, it may still be judged as other codewords because it does not reach this high threshold, resulting in an increase in the bit error rate.

[0076] When the threshold is too low, some codewords that should not be determined as sent by a certain user may be mistakenly determined as the codeword of the user. For example, there may be interference factors such as noise in the received signal, which makes the probability of a certain user sending other codewords mistakenly estimated to be high. Since the threshold is too low, it will be determined as the codeword sent by the user, resulting in misjudgment.

[0077] In step S440, users whose decoding ranking priorities are before the target number are removed from the user set to update the user set.

[0078] In the aforementioned method, after the decoding sorting priorities of multiple users in the user set are determined, the bit error rate of each user is determined according to the probability information corresponding to each user and the user codeword decision threshold.

[0079] For users with the decoding priority ranking being the front target number, if their bit error rate is small, it indicates that the previous message iteration process has converged or is close to convergence, and there is no need to perform subsequent iterations for these users. Instead, they are decoded in advance, and the remaining user sets continue to participate in the message iteration, which can reduce the detection time and improve the detection efficiency.

[0080] The embodiment of the present application does not limit the value of the above-mentioned target number. As an example, the target number can be 1, that is, in each iteration, only the user with the highest decoding priority in the user set is decoded, 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 division layers. For example, if there are many users in the user set, the target number may be small at the beginning of the iteration. As the number of iterations increases and the number of division layers changes, the target number may be adjusted. When the bit error rate of the target number of users before the priority is low, it means that the decoding of these users is relatively accurate. They can be removed from the user set to reduce the amount of calculation for subsequent iterations and focus on processing users with high bit error rates and greater decoding difficulty.

[0082] In step S450, the user codeword decision threshold of each user in the 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, namely, the user codeword decision threshold is too high or too low. As mentioned above, if the user codeword decision threshold is too high, the receiving end will be more strict in judging the codewords sent by the user, and some correct information will be discarded; if the codeword decision threshold is too low, some erroneous information will be introduced. Therefore, in the scheme of the present application, if the bit error rate is too high, the decision threshold can be adjusted in the subsequent cyclic iteration process, and the goal of the adjustment is to minimize the bit error rate.

[0084] For example, if a user has a high bit error rate, its decision threshold may be appropriately lowered to increase the possibility of correctly receiving the codeword, and the adjustment step size is determined based on the step size of the previous iteration. This can make the threshold adjustment more reasonable and stable, and avoid excessive adjustment that may cause system instability.

[0085] After the user set is updated, the above-mentioned cyclic detection process is repeated for the updated user set, that is, the decoding order of each user in the updated user set is re-determined, and the message iteration is performed according to the decoding order. According to the updated user codeword decision threshold, the bit error rate of each user is determined again, and the user set is updated again, etc., until the conditions for ending the detection are met.

[0086] According to the above technical means, the channel changes are dynamically sensed during the communication process, the channel coefficients between the user and the resource block are obtained in real time, the decoding priority of the user is obtained in real time during the decoding process, and the order of the user updating the codeword in each iteration is continuously adjusted during the serial update process, so that the most reliable information can be transmitted to the current message iteration, accelerating the convergence of the decoding algorithm. The dynamic threshold method is used for updating, and the default threshold is set for the first time. The training algorithm is fed back by calculating the bit error rate of the user after the judgment, and the updated and adjusted codeword threshold is obtained. This is repeated to obtain the specific threshold of each user. The judgment threshold is obtained by continuous optimization and learning during iteration, which can effectively improve the detection success rate of the receiving end user and reduce the complexity of the traditional MPA algorithm.

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

[0088] Step S441, determining whether the bit error rate of the user with the target number of bits before the decoding sorting priority is less than a preset bit error rate threshold, if so, executing step S442, otherwise executing step S443.

[0089] In step S442, when the bit error rate of the users with the target number of decoding priorities among the multiple users in the user set is less than the preset bit error rate threshold, the users with the target number of decoding priorities are removed from the user set to obtain an updated user set.

[0090] In step S443, if the bit error rate of at least one target user among the users with the target number of bits of decoding sorting priority in the multiple users in the user set is greater than or equal to the preset bit error rate threshold, it indicates that the value of the user codeword decision threshold corresponding to the user is inappropriate, and it needs to be adjusted and the bit error rate is re-determined until its bit error rate is less than the preset bit error rate threshold. By continuously increasing the threshold, the bit error rate of the at least one target user is reduced to an acceptable range, and then it is removed from the user set to ensure the processing efficiency and accuracy of the entire user set.

[0091] According to the above technical means, when the bit error rate of the users with a target number of bits before the decoding sorting priority among multiple users in the user set is less than the preset bit error rate threshold, these users are eliminated from the user set to obtain an updated user set; when there is a target user with a bit error rate not less than the preset bit error rate threshold among the users with a target number of bits before the decoding sorting priority, the corresponding user codeword decision threshold is adjusted until the condition is met and the user is eliminated. The decision threshold can be dynamically adjusted according to the actual bit error situation of each user, so that each user can be decoded at an appropriate threshold, and 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, Figure 6 As shown, between the aforementioned step S441 and step S442, the method further includes step S610, performing decoding decision to recover the codewords sent by the user with the target number of bits before the decoding sorting priority.

[0093] When the bit error rate of these users meets the conditions, it means that the codewords they sent can be recovered more accurately. Through the previously determined probability information and related decoding algorithms, the codewords sent by these users are decoded and judged to obtain the original codeword information, thus completing the information transmission and decoding process of these users.

[0094] According to the above technical means, when the bit error rate of some users in the user set meets the conditions, decoding judgment is made and the codewords sent by them are restored. This can obtain accurate information of some users in a timely manner, reduce the amount of calculation for subsequent iterations of these users, and also provide some certain information for the decoding of the entire system, which is helpful for the subsequent decoding processing of other users and improves the decoding efficiency and accuracy of the system.

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

[0096] The preset end condition includes that the updated user set is empty and / or the number of iterations of the loop message reaches a preset number threshold.

[0097] When the user set is empty, it means that all users in the user set have been processed, the detection and decoding tasks have been completed, and the detection process of the entire SCMA system has ended. In order to prevent the iteration process from being infinite, a preset number 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 is stopped. This is a balance between detection accuracy and computing resource consumption, avoiding the system being in iterative calculation for a long time due to excessive pursuit of low bit error rate, affecting the overall communication efficiency.

[0098] According to the above technical means, the end condition is that the updated user set is empty and / or the number of loop message iterations reaches a preset threshold. When the user set is empty, it means that all users have completed decoding, ensuring that the system can fully process the information of all users. The condition that the number of iterations reaches the preset threshold prevents the iteration process from being infinite, avoids excessive consumption of system resources, and improves the real-time performance and overall performance of the system while ensuring a certain decoding accuracy.

[0099] In some embodiments, the aforementioned adjustment of the user codeword decision threshold corresponding to the target user includes: taking the minimum bit error rate as the target, dynamically adjusting the user codeword decision threshold according to the bit error rate of the target user, wherein the increase or decrease step size for the codeword decision threshold is half of the previous iteration step size.

[0100] If the target user has a high bit error rate, the threshold needs to be adjusted. For example, if the bit error rate is too high, the decision threshold may be lowered to allow more signals to be judged as the user's codewords to increase the probability of correct reception. The adjustment step size is half of the previous iteration step size, which can make the threshold adjustment more stable and avoid the situation where the bit error rate increases or the system becomes unstable due to a large step size. The previous iteration step size is a quantity calculated based on the previous bit error rate and threshold adjustment. By taking half of it as the current step size, the adjustment range can be more finely controlled when adjusting the threshold.

[0101] According to the above technical means, with the minimum bit error rate as the goal, the user codeword decision threshold is dynamically adjusted according to the bit error rate of the target user, and the increase or decrease step size of the user codeword decision threshold is half of the previous iteration step size. This adjustment strategy makes the threshold adjustment more stable and accurate, avoiding the situation where the bit error rate fluctuates or the system is unstable due to excessive step size. By gradually optimizing the threshold, the bit error rate can be more effectively reduced, the decoding accuracy of the system can be improved, and the needs of different users at different iteration stages can be met.

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

[0103] During the communication process, the channel gain value is constantly changing. For example, the channel gain between the user and the resource block will change due to factors such as user movement and changes in the surrounding environment. By determining these channel gain values ​​in real time, the user's channel parameters can be updated in a timely manner to ensure the accuracy and effectiveness of the decoding sorting priority. Because the channel coefficient is calculated based on the channel gain value, if an outdated channel gain value is used, it may cause an error in the decoding sorting priority, which in turn affects the detection performance of the entire SCMA system.

[0104] The channel parameters mentioned in the embodiment of the present application include a channel coefficient for each user, and the channel coefficient is the sum of the channel gain values ​​of each user between transmissions of different resource blocks.

[0105] In a multi-resource block SCMA system, the channel gain value of each user on different resource blocks has an impact on 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 on the entire communication resource, providing a comprehensive channel information basis for determining the decoding sorting priority.

[0106] Determining the decoding sorting priority in the aforementioned step S410 further includes: determining the information weight of each user according to the channel coefficient and iteration factor of each user. And, determining the encoding and decoding sorting priority of multiple users in the user set according to the information weight of each user. Wherein, the iteration factor is related to the number of iterations of the loop message.

[0107] The channel coefficient reflects the channel status of the user, while the iteration factor changes with the number of iterations of the loop message. For example, in the early iteration, the iteration factor may make the channel coefficient have a relatively small impact on the information weight. As the number of iterations increases, the impact 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 importance or priority of the user in the entire decoding order.

[0108] According to the information weight of each user, the encoding and decoding sorting priority of multiple users in the user set can be determined. Users with high information weight will be processed first, which can improve the decoding efficiency of the entire system, because processing those users who have a greater impact on the overall decoding results or are easier to decode first will help the subsequent decoding of other users and reduce the overall bit error rate.

[0109] According to the above technical means, through real-time channel monitoring and parameter updating, the timeliness and accuracy of channel parameters are guaranteed, so that the decoding sorting priority can reflect the user's channel status changes in real time, and the system's adaptability to dynamic channel environments is improved; based on this, the decoding sorting priority is determined to make the decoding order more reasonable, which helps to improve the effect of message iteration, accelerate the convergence speed of the decoding algorithm, and reduce the bit error rate.

[0110] In some embodiments, the aforementioned step S420 performs message iteration based on the decoding sorting priority, and determining the probability information of each user sending a codeword further includes:

[0111] 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. And,

[0112] The message probability of each user is normalized and calculated to determine the probability information of each user sending a codeword.

[0113] The order of the above-mentioned message iteration is carried out according to the decoding sorting priority. In the message iteration process from the resource node to the user node and then back to the resource node, the message probability of each user is continuously updated. For example, what is initially received at the resource node is the information after the superposition of multiple user signals. Through the iterative process of transmitting information to the user node and returning, the signal information of each user is gradually separated to obtain the message probability of each user. Then, through normalized calculation, these message probabilities are adjusted to a suitable range so that they can accurately reflect the probability of each user sending a specific codeword, which is convenient for subsequent bit error rate calculation and codeword judgment operations.

[0114] According to the above technical means, the message iteration is carried out according to the reasonable decoding sorting priority, which ensures that the message transmission between the resource node and the user node is more efficient during the entire decoding process. By accurately calculating the message probability of each user and normalizing it to obtain the probability information of the sent codeword, a reliable data basis is provided for the subsequent bit error rate calculation and codeword judgment, which jointly improves the decoding accuracy and efficiency of the system.

[0115] Combine the following Figure 8 The technical solution of this application is further described. Figure 8 It is a flow chart of a detection method provided in one embodiment of the present 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 receiving end dynamically detects the user channel, that is, obtains the channel gain between the user and the resource block in real time during the communication process, and obtains the user decoding sorting priority. Since the channel quality of the user on each resource block can be measured by calculating the channel coefficient, the channel gain of the user on resource blocks k1 and k2 is:

[0118]

[0119] In the above formulas (1) and (2), h j,k1 and h j,k2 are the channel gains of user j on resource block k1 respectively.

[0120] Using formulas (1) and (2), we can get the channel gain of user j as h j =h j,k1 +h j,k2 In the serial MPA algorithm, the message is updated to the end with a higher convergence degree and the message is more reliable. Therefore, in the solution of the embodiment of the present application, the iteration factor θ is set j In the iteration process, the iteration factors of the user sequence are multiplied respectively, and the weight of the final user information is calculated according to the size. The user iteration priority ranking result can be obtained as follows:

[0121]

[0122] The weight of user information is calculated according to the user's channel gain and iteration factor, thereby obtaining the user iteration priority ranking result and determining the user decoding order, so that users with good channel quality and high importance in the iteration process are decoded first.

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

[0124] According to step S810, the user iteration priority ranking result is obtained, and message iteration from resource node to user node and from user node to resource node is performed, that is, the message probability is obtained using formula (4) (5).

[0125]

[0126] In formula (4), Indicates that in the tth iteration, from the resource node r k To user node u j About codeword x j The message probability of y k is the signal received by the resource node; h k,j is the channel sparseness of user j on resource node k; x k,j is the codeword sent by user j on resource node k; σ2 is the noise variance, which is used to measure the degree of noise interference in the communication process; ε k Represents the set of users associated with the resource node; ε k \j represents the set of all user nodes connected to resource node k except user node j; Indicates that in the tth iteration process, from user node u l To resource node r k About codeword x j The probability of news.

[0127] In formula (5), Indicates that in the tth iteration, from user node u l To resource node r k About codeword x j The probability of news.

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

[0129] In step S830, the probability Q(x j ).

[0130] After each iteration, the user codeword decision threshold T is initialized d , remove high-priority users, and no longer update their information in the next iteration. The remaining user sets continue to participate in message iteration:

[0131]

[0132] In formula (6), Q(x j ) indicates that user j sends codeword x j The probability of is the resource node r calculated in the above formula (4) k To user node u j About codeword x j The probability of news.

[0133] By comprehensively calculating the message probability from the resource node to the user node, the probability of the user sending the codeword is obtained, which provides a basis for the subsequent calculation of the bit error rate and codeword decision.

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

[0135] After a round of elimination judgment, the bit error rate information can be calculated. It can be used to learn the threshold and increase the feedback on the threshold:

[0136]

[0137] In formula (7), T d is the user codeword decision threshold, err(d) represents the bit error rate. According to the feedback factor obtained by formula (7), the minimum bit error rate is used as an indicator, and the user codeword decision threshold is dynamically adjusted by the step size to learn the appropriate threshold. (In order to obtain the converged threshold, the step size of each iteration is 1 / 2 of the previous iteration).

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

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

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

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

[0142] Based on the method provided in the above embodiment, the method for dynamically adjusting the user codeword decision threshold is described below. Fig. 9 A schematic flow chart of a method for dynamically adjusting a user codeword decision threshold in a method provided in an embodiment of the present application is shown. Fig. 9 The method includes steps S910-S950.

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

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

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

[0146] In step S930 and step S940, the threshold is increased or decreased according to the step length formula. -1 , then in the iterative process, the reverse user continuously calculates the bit error rate of each user under the threshold. If the bit error rate calculated for the first time is higher than 10 -1, it means that the decision threshold is too low, and a low-probability codeword is decided. The threshold is increased in the opposite direction. The increased threshold is defined as the step size, and each step size is 1 / 2 of the previous one. In this way, the step size will tend to a stable value after multiple iterations.

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

[0148] Fig.10 An exemplary decoding flowchart of the receiving end in the method provided in the embodiment of the present application is shown. Fig.10 The method includes steps S1010-S1070.

[0149] In step S1010, initialization is performed to obtain the channel coefficients between the user and each resource block. The specific calculation method of the channel coefficients can refer to the above formulas (4) and (5).

[0150] In step S1020, the user decoding priorities are sorted according to the user sequence perceived by the channel.

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

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

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

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

[0155] Combination of the above Figure 1-Figure 10 , the method embodiment of the present application is described in detail, and the device embodiment of the present application will be described in detail with reference to the accompanying drawings. It should be understood that the description of the device embodiment corresponds to the method embodiment, so the part not described in detail can refer to the method embodiment above.

[0156] Fig.11 It is a schematic structural diagram of a sparse code division multiple access (SCMA) system detection device provided in an embodiment of the present application. Fig.11 The device 1100 in the embodiment includes:

[0157] The sorting unit 1110 is used to determine a decoding sorting priority according to a channel parameter of each user in the user set.

[0158] The message iteration unit 1120 is configured to perform message iteration based on the decoding sorting priority to determine the probability information of each user sending a codeword.

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

[0160] The updating unit 1140 is used to remove the users with a target number of bits before the decoding sorting priority from the user set to update the user set; and 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 also used for: when the bit error rate of the target number of users before the decoding sorting priority among multiple users in the user set is less than a preset bit error rate threshold, eliminating the target number of users before the priority from the user set to obtain an updated user set; when the bit error rate of at least one target user among the users before the target number of users before the decoding sorting priority among multiple users in the user set is not less than the preset bit error rate threshold, adjusting the user codeword decision threshold corresponding to the target user until the bit error rate of the users before the target number of users before the decoding sorting priority is less than the preset bit error rate threshold, eliminating the target number of users before the priority from the user set to obtain 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 division layers.

[0162] In some embodiments, the above-mentioned device also includes a decision unit, which is used to make a decoding decision and restore the codewords sent by users with a target number of bits before the decoding sorting priority among multiple users in the user set when the bit error rate of users with a target number of bits before the decoding sorting priority is less than a preset bit error rate threshold.

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

[0164] In some embodiments, the updating unit is further used to: dynamically adjust the user codeword decision threshold according to the bit error rate of the target user with the minimum bit error rate as the target, and the increase or decrease step size of the user codeword decision threshold is half of the previous iteration step size.

[0165] In some embodiments, the above-mentioned device further includes a second determination unit, which is used to determine in real time during the communication process, the channel gain value between each user in the user set and the resource block transmission; the channel parameter includes a 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 according to the channel coefficient and iteration factor of each user; determine the encoding and decoding sorting priority of multiple users in the user set according to the information weight of each user; wherein the iteration factor is related to the number of iterations of the loop message.

[0167] In some embodiments, the first determination unit is also used 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, to determine the message probability of each user; to perform normalized calculation on the message probability of each user, to determine the probability information of each user sending a codeword.

[0168] The embodiment of the present application also provides a communication device, Fig.12 The dotted line in the figure indicates that the unit or module is optional. The communication device 1200 can be used to implement the method described in the above method embodiment. 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 may support the communication device 1200 to implement the method described in the foregoing method embodiment. 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 also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0170] The communication device 1200 may further include one or more memories 1220. The memory 1220 stores a program, which can be executed by the processor 1210, so that the processor 1210 executes the method described in the above method embodiment. The memory 1220 may be independent of the processor 1210 or integrated in the processor 1210.

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

[0172] The embodiment of the present 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 the embodiment of the present application, and the program enables the computer to execute the method performed by the communication device in each embodiment of the present application.

[0173] The embodiment of the present application also provides a computer program. The computer program can be applied to the communication device provided in the embodiment of the present application, and the computer program enables a computer to execute the method executed by the communication device in each embodiment of the present application.

[0174] It should be understood that the terms "system" and "network" in this application can be used interchangeably. In addition, the terms used in this application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application. The terms "first", "second", "third" and "fourth" in the specification and claims of this application and the accompanying drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions.

[0175] In the embodiments of the present application, the "indication" mentioned can be a direct indication, an indirect indication, or an indication of an association relationship. For example, A indicates B, which can mean that A directly indicates B, for example, B can be obtained through A; it can also mean that A indirectly indicates B, for example, A indicates C, and B can be obtained through C; it can also mean that there is an association relationship between A and B.

[0176] In the embodiments of the present application, the "include" mentioned may refer to direct inclusion or indirect inclusion. Optionally, the "include" mentioned in the embodiments of the present application may be replaced with "indicate" or "used to determine". For example, A includes B, which may be replaced with A indicates B, or A is used to determine B.

[0177] In the embodiment of the present application, "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.

[0178] In the embodiments of the present application, the term "corresponding" may indicate that there is a direct or indirect correspondence between the two, or an association relationship between the two, or a relationship of indication and being indicated, configuration and being configured, etc.

[0179] In the embodiments of the present application, "pre-definition" or "pre-configuration" can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in a device (for example, including a terminal device and a network device), and the present application does not limit the specific implementation method. For example, pre-definition can refer to what is defined in the protocol.

[0180] In the embodiments of the present application, the “protocol” may refer to a standard protocol in the communication field, for example, it may include an LTE protocol, an NR protocol, and related protocols used in future communication systems, and the present application does not limit this.

[0181] In the embodiments of the present application, the term "and / or" is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0182] In various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean 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 the present application.

[0183] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

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

[0185] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0186] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part 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, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that can be read by a computer or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).

[0187] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection 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 comprises: Determine a decoding sorting priority according to a channel parameter of each user in the user set; Performing message iteration on the data to be decoded based on the decoding sorting priority to determine probability information of each user sending a codeword; Determine the bit error rate of each user according to the probability information corresponding to each user and the user codeword decision threshold; Eliminate the target number of users in the decoding sorting priority from the user set to update the user set; According to the updated bit error rate of each user in the user set, updating the user codeword decision threshold of each user in the 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 division layers.

2. The method according to claim 1, characterized in that The updating of the user set comprises: When the bit error rate of the users with the target number of digits before the priority of the decoding order among the multiple users in the user set is less than the preset bit error rate threshold, the users with the target number of digits before the priority are removed from the user set to obtain the updated user set; When the bit error rate of at least one target user among the users with a target number of digits before the decoding sorting priority among multiple users in the user set is not less than the preset bit error rate threshold, adjust the user codeword decision threshold corresponding to the target user until the bit error rate of the users with a target number of digits before the decoding sorting priority is less than the preset bit error rate threshold, and eliminate the users with the target number of digits before the priority from the user set to obtain the updated user set.

3. The method according to claim 2, characterized in that The method further comprises: When the bit error rate of the user with the target number of bits before the decoding sorting priority among the multiple users in the user set is less than a preset bit error rate threshold, a decoding decision is made to restore the codeword sent by the user with the target number of bits before the decoding sorting priority.

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

5. The method according to claim 2, characterized in that: The adjusting the user codeword decision threshold corresponding to the target user includes: With the minimum bit error rate as the target, the user codeword decision threshold is dynamically adjusted according to the bit error rate of the target user, and the increase or decrease step size of the user codeword decision threshold is half of the previous iteration step size.

6. The method according to any one of claims 1 to 5, characterized in that Before determining the decoding sorting priority according to the channel parameters of each user in the user set, the method further comprises: determining in real time during the communication process the channel gain value between each user in the user set and the resource block transmission; The channel parameters include a channel coefficient of each user, where the channel coefficient is the sum of channel gain values ​​of each user between transmissions of different resource blocks; Determining the decoding sorting priority includes: Determining the information weight of each user according to the channel coefficient and the iteration factor of each user; Determining the encoding and decoding ordering priority of the plurality of users in the user set according to the information weight of each user; The iteration factor is related to the number of iterations of the loop message.

7. The method according to any one of claims 1 to 5, characterized in that The performing message iteration based on the decoding sorting priority to determine the probability information of each user sending a codeword includes: According to the decoding sorting priority, performing message iteration from resource node to user node and from user node to resource node for each user in the user set, and determining the message probability of each user; A normalized calculation is performed on the message probability of each user to determine probability information of each user sending a codeword.

8. A multi-user detection device for a sparse code division multiple access (SCMA) system, characterized in that: The device comprises: A sorting unit, used to determine a decoding sorting priority according to a channel parameter of each user in the user set; A message iteration unit, configured to perform message iteration based on the decoding sorting priority to determine probability information of each user sending a codeword; A first determining unit, configured to determine a bit error rate of each user according to the probability information corresponding to each user and a user codeword decision threshold; An updating unit, configured to remove users with a target number of bits before the decoding sorting priority from the user set to update the user set; and, based on the bit error rate of each user in the updated user set, update the user codeword decision threshold of each user in the user set 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 division layers.

9. A communication device, characterized in that: The invention comprises a memory and a processor, wherein the memory is used to store a computer program, and the processor is used to execute the computer program to perform the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store a computer program, and the computer program implements the method according to any one of claims 1 to 7 when executed.

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

  • Multi-user detection method and device for SCMA uplink communication system

    CN109889283A

  • Decoding method and device of sparse code division multiple access system

    CN115514450A

  • Coding-assisted blind frame synchronization method and system based on maximum detection stop judgment

    CN115580310A