Decoding method, device, electronic equipment and non-transitory computer-readable storage medium
By determining the user activation probability and constructing an initial factor graph, and using a message passing algorithm for decoding, the problem of high computational complexity in SCMA technology is solved, and efficient data detection is achieved when the number of activated users is small.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING SMARTCHIP SEMICON TECH CO LTD
- Filing Date
- 2026-01-20
- Publication Date
- 2026-05-29
AI Technical Summary
Existing sparse code division multiple access (SCMA) technology has high computational complexity in active user detection and data detection, especially when the number of access users is small, which leads to overcomputation.
By determining the activation probability of users, an initial factor graph is constructed and decoded using a message passing algorithm. Data detection is performed only on activated users, reducing computational complexity.
It significantly reduces the computational complexity of data detection, and improves computational efficiency, especially when the number of activated users is small.
Smart Images

Figure CN121567285B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of communication technology, and in particular relates to a decoding method, apparatus, electronic device, and non-transitory computer-readable storage medium. Background Technology
[0002] Non-orthogonal multiple access (NOMA) technology improves spectrum utilization by allowing multiple users to share the same time-frequency resource block, thus meeting the needs of massive IoT device access networks. Sparse code multiple access (SCMA) is a type of NOMA technology that distinguishes user transmission codewords by allocating different sparse codewords (referred to as "decoding").
[0003] In related technologies, SCMA uses Active User Detection (AUD) and Data Detection (DD) for decoding. It requires adding zero codewords to the user's codebook. If a user is detected transmitting a zero codeword, they are considered an unconnected user, meaning each codeword sent by a user needs to be detected individually. Clearly, when the number of connected users is small, there is a risk of overcomputation, leading to a waste of computational resources. Summary of the Invention
[0004] This application aims to address at least one of the technical problems existing in related technologies. To this end, this application proposes a decoding method, apparatus, electronic device, and non-transitory computer-readable storage medium that can reduce the computational complexity of active user detection and data detection.
[0005] Firstly, this application provides a decoding method, which includes:
[0006] Based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network, the activation probability of each user is determined; the activation probability represents the probability that a user will send a non-all-zero codeword in the current time period.
[0007] Based on the activation probability of each user, each activated user is determined from among the users in the communication network;
[0008] An initial factor graph is constructed based on the active user and the subcarriers occupied by the non-zero elements in the corresponding codebook; the user nodes in the initial factor graph represent active users; the resource nodes in the initial factor graph represent subcarriers; the edges in the initial factor graph represent the subcarriers represented by the resource nodes represented by the user nodes connected by the corresponding edges.
[0009] Based on the message passing algorithm, the initial factor graph, and the codebook of each user, the sparse code division multiple access signals are decoded to obtain the transmitted codewords of each active user.
[0010] According to the decoding method of this application, the activation probability of each user is determined based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network. Then, based on the activation probability of each user, each active user is identified from the users in the communication network, and an initial factor graph corresponding to the active user is created. Then, based on the message passing algorithm, the initial factor graph, and the codebook of each user, each sparse code division multiple access signal is decoded to obtain the transmitted codeword of each active user. This method can realize data detection only for active users. When the activation probability of a user is low, the user is directly regarded as an inactive user who sends all-zero codewords, which can reduce the computational complexity of data detection. When the number of active users is small, its complexity is significantly reduced.
[0011] According to one embodiment of this application, the activation probability of each user is determined based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network, including:
[0012] For any user among all users, determine the probability that the user is active in sending non-all-zero codewords for each sparse code division multiple access signal;
[0013] The user's activation probability is obtained based on the mean of the activation probabilities for each sparse code division multiple access signal.
[0014] According to one embodiment of this application, determining the active probability of a user transmitting non-all-zero codewords for each sparse code division multiple access signal includes:
[0015] For any sparse code division multiple access signal, obtain the initial active probability of non-all-zero codewords in the codebook sent by the user for the sparse code division multiple access signal;
[0016] Based on sparse code division multiple access signals, user codebooks, prior probabilities of each codeword in the corresponding codebook transmitted by the user, and known channel responses of each user, the initial active probability is iteratively updated in multiple rounds until the number of iterations reaches the first target round.
[0017] The active probability obtained from the last round of iteration is used as the active probability of a user sending non-all-zero codewords for sparse code division multiple access signals.
[0018] According to one embodiment of this application, the initial active probability is iteratively updated multiple times based on the sparse code division multiple access signal, the user's codebook, the prior probability of each codeword in the corresponding codebook transmitted by the user, and the known channel response of each user, including:
[0019] For any codeword in a user's codebook, the posterior probability of the codeword in this iteration is obtained based on the active probability obtained in the previous iteration, the sparse code division multiple access signal, the prior probability of the user sending each codeword in the corresponding codebook, and the known channel response of each user; the active probability of the previous iteration in the first iteration is the initial active probability.
[0020] The active probability of this iteration is obtained by summing the posterior probabilities of each codeword in the codebook in this iteration.
[0021] According to one embodiment of this application, determining each active user from among the users of the communication network based on the activity probability of each user includes:
[0022] For any given user, if the user's probability of being active is higher than the target probability of being active, the user is determined to be an active user.
[0023] According to one embodiment of this application, based on a message passing algorithm, an initial factor graph, and the codebook of each user, each sparse code division multiple access signal is decoded to obtain the transmitted codeword of each active user, including:
[0024] For any sparse code division multiple access signal, obtain the interference power and white noise power of each inactive user in the sparse code division multiple access signal;
[0025] A new sparse code division multiple access signal is obtained by suppressing the interference power and white noise power in the sparse code division multiple access signal.
[0026] Iterate through the set of activated users, which consists of all activated users, and perform the following operations during the iteration until the set of activated users is empty:
[0027] For the active user in this traversal, based on the sparse code division multiple access signal of this traversal, the message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the soft symbol of the active user in this traversal; the sparse code division multiple access signal of the first traversal is the new sparse code division multiple access signal; the soft symbol is used to record the user's sent codeword.
[0028] Remove the user node of the active user and all edges connecting the user node from the factor graph of the current traversal to obtain the factor graph of the next traversal.
[0029] Remove the active users from the current set of active users to obtain the set of active users for the next set of active users.
[0030] The sparse code division multiple access (CDMA) signal for the next traversal is obtained by removing the product of the soft symbol of the active user and the known channel response from the sparse CDMA signal traversed in the current traversal.
[0031] According to one embodiment of this application, based on the sparse code division multiple access signal of this traversal, a message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the soft symbols of each codeword of the active user in this traversal, including:
[0032] Based on the sparse code division multiple access signal obtained in this traversal, a message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the transmission probability of each non-all-zero codeword in the codebook of the active user in this traversal.
[0033] For any non-all-zero codeword, determine the soft symbol for the active user in this traversal based on the transmission probability of the non-all-zero codeword.
[0034] Secondly, this application provides a decoding apparatus, which includes:
[0035] The first processing module is used to determine the activation probability of each user based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network; the activation probability represents the probability that a user will send a non-all-zero codeword in the current time period.
[0036] The second processing module is used to determine each active user from among the users in the communication network based on the activation probability of each user.
[0037] The third processing module is used to construct an initial factor graph based on the active user and the subcarriers occupied by the non-zero elements in the corresponding codebook; the user nodes in the initial factor graph represent the active user; the resource nodes in the initial factor graph represent the subcarriers; the edges in the initial factor graph represent the subcarriers represented by the resource nodes represented by the user nodes connected by the corresponding edges.
[0038] The fourth processing module is used to decode each sparse code division multiple access signal based on the message passing algorithm, the initial factor graph, and the codebook of each user, to obtain the transmitted codeword of each active user.
[0039] According to the decoding apparatus of this application, the activation probability of each user is determined based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network. Then, based on the activation probability of each user, each active user is identified from the users in the communication network, and an initial factor map corresponding to the active user is created. Then, based on the message passing algorithm, the initial factor map, and the codebook of each user, each sparse code division multiple access signal is decoded to obtain the transmitted codeword of each active user. This can realize data detection only for active users. When the activation probability of a user is low, the user is directly regarded as an inactive user who sends all-zero codewords, which can reduce the computational complexity of data detection. When the number of active users is small, its complexity is significantly reduced.
[0040] Thirdly, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the decoding method provided in the first aspect above.
[0041] Fourthly, this application provides a non-transitory computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the decoding method provided in the first aspect above.
[0042] Fifthly, this application provides a chip including a processor and a communication interface coupled to the processor, the processor being used to run programs or instructions to implement the decoding method provided in the first aspect.
[0043] In a sixth aspect, this application provides a computer program product, including a computer program that, when executed by a processor, implements the decoding method provided in the first aspect above.
[0044] The above-described one or more technical solutions in the embodiments of this application have at least one of the following technical effects:
[0045] By determining the activation probability of each user based on at least one sparse code division multiple access signal received in the current time period and the codebooks of each user in the communication network, and then identifying each active user from among the users in the communication network according to the activation probability, an initial factor graph corresponding to the active user is created. Then, based on the message passing algorithm, the initial factor graph, and the codebooks of each user, each sparse code division multiple access signal is decoded to obtain the transmitted codewords of each active user. This allows for data detection only on active users. When the activation probability of a user is low, the user is directly considered to be an inactive user sending all-zero codewords, which reduces the computational complexity of data detection. When the number of active users is small, the complexity is significantly reduced.
[0046] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0047] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, in which:
[0048] Figure 1 This is one of the flowcharts illustrating the decoding method provided in the embodiments of this application;
[0049] Figure 2 This is a schematic diagram of the system architecture of a communication network based on sparse code division multiple access and orthogonal frequency division multiplexing provided in the embodiments of this application;
[0050] Figure 3 This is a schematic diagram of the initial factor graph provided in the embodiments of this application;
[0051] Figure 4 This is a schematic diagram of the decoding device provided in the embodiments of this application;
[0052] Figure 5 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0053] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0054] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0055] The power Internet of Things (IoT) involves a large number of devices requiring network access, resulting in high demand for spectrum resources. Non-orthogonal Multiple Access (NOMA) technology improves spectrum utilization by allowing multiple users to share the same time-frequency resource block, thus meeting the needs of massive IoT device access. It has higher spectrum efficiency than orthogonal multiple access. Sparse Code Multiple Access (SCMA) is a type of NOMA technology that distinguishes users by assigning different sparse codewords. Each user is assigned a unique sparse codebook, where a few elements of the codewords are non-zero. This sparsity reduces mutual interference between codebooks, improving system capacity and spectrum efficiency.
[0056] Currently, SCMA focuses on research areas including Active User Detection (AUD) and Data Detection (DD), with solutions falling into two categories: methods based on compressed sensing and methods based on Maximum Posterior Probability (MAP).
[0057] The purpose of active user detection is to identify the users who are actually transmitting data within a given time period. Since SCMA allows multiple users to share the same spectrum resource, many users may be using the same frequency resource at the same time. The goal of active user detection is to identify which users are "active" and transmitting data in the current time slot.
[0058] Data detection refers to the process at the receiving end of recovering the original data from each user based on the received signal. For SCMA (Signaled Serial Mass Transmission), since multiple users share the same spectrum resources, the received signal is often a superposition of signals from multiple users. Therefore, data detection requires algorithms to separate these signals in order to recover the transmitted data from each user.
[0059] For compressed sensing-based methods, the core issue is how to efficiently and accurately reconstruct high-dimensional transmitted signals with sparse characteristics from low-dimensional received signals. In related technologies, AUD based on user activity probability is studied using the expectation-maximization principle. Some researchers have proposed a joint AUD and DD scheme based on MAP (MAPBJAD): First, in the first iteration, the most active user is detected based on the maximum a posteriori probability, and soft symbols are recovered and eliminated from the received signal. Then, the next iteration is performed to detect the next active user, and so on. Although simulation results show that this method outperforms traditional DD detection algorithms such as MMSE, there is still room for performance improvement because the detection does not utilize the information sources of other users but treats them as interference. Other schemes employ a message passing algorithm (MPA) for DD, where resource node information and user node information in the factor graph are mutually passed. After multiple transmissions, the resource node information gradually approaches the a posteriori probability value. Compared to the ideal MAP algorithm, this method ensures lower performance loss but also lower computational complexity. However, standard MPA does not support AUD unless zero codewords are added to the codebook. If a user transmits zero codewords, they are considered an unconnected user. Obviously, when the number of connected users is small, there is an overcomputation problem because it requires DD for all possible users.
[0060] For AUD and DD in SCMA, methods based on posterior probability offer better performance. The proposed MAPBJAD method performs AUD and DD operations for each user individually. For the detection of the current user, the signals of known users are subtracted from the received signal. To reduce computational complexity, signals from all users except the detected current user are treated as interference, thus limiting performance. MPA is a classic DD method with superior performance, but it does not support AUD unless a zero codeword is added to the codebook; if a user transmits a zero codeword, they are considered an unconnected user. Clearly, when the number of connected users is small, there is overcomputation, as it requires DD for all possible users to determine an active user.
[0061] To address at least one of the aforementioned technical problems, embodiments of this application provide a decoding method, a decoding apparatus, an electronic device, and a readable storage medium.
[0062] The decoding method, decoding device, electronic device, and readable storage medium provided in this application will be described in detail below with reference to the accompanying drawings and through specific embodiments and application scenarios.
[0063] The decoding method provided in this application embodiment can be executed by an electronic device or a functional module or entity in an electronic device that can implement the decoding method. The electronic devices mentioned in this application embodiment include, but are not limited to, mobile phones, tablets, computers, cameras, and wearable devices. The decoding method provided in this application embodiment is described below using an electronic device as the execution subject.
[0064] like Figure 1 As shown in the figure, this application provides a flowchart of a decoding method, which includes steps 110, 120, 130 and 140.
[0065] Step 110: Based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network, determine the activation probability of each user; the activation probability represents the probability that a user will send a non-all-zero codeword in the current time period.
[0066] See Figure 2 This application provides a schematic diagram of a system architecture for a communication network based on sparse code division multiple access and orthogonal frequency division multiplexing, including a base station and multiple users, namely user 1, user 2, user 3, user 4, user 5 and user 6. Each user and the base station have an antenna, and multiple users can perform SCMA access on K subcarriers with the same frequency band.
[0067] Based on the characteristics of non-orthogonal multiple access (NOMA) technology, the number of users V is greater than the number of subcarriers K. Assuming that the signals of V users arrive synchronously at the base station, the OFDM received signal is given by the following formula (1):
[0068] (1),
[0069] in, ∈[0,1] indicates whether the user is connected; X v =[x v,1 ,x v,1 ,......x v,K ] T This represents the codeword sent by the user, x v,k H represents the symbol (a codeword is composed of symbols from each subcarrier) transmitted by user v on the k-th subcarrier. v =[h v,1 ,h v,1 ,......h v,K ] T The known channel response on the carrier follows a Gaussian distribution, n ~ CN(0,σ). 2 I) Characterize n as the white noise power σ 2 Gaussian noise, It is a matrix of all 1s.
[0070] Each OFDM symbol has N available subcarriers, and each SCMA signal occupies K subcarriers. Taking the Latticeconstellation codebook as an example, the SCMA modulator maps the user's 2-bit data to codebook b. v =[c v,1 ,......c v,m ,......c v,K A codeword in ] . For x v =c v,m The number of non-zero characters in a codebook is d. t =2, less than K=4, exhibiting sparsity. When all users are connected, the load factor is V / K=1.5, and the received signal on each OFDM subcarrier is d. f =The sum of symbols sent by 3 users.
[0071] A sparse code division multiple access (SCMA) signal corresponds to multiple subcarriers, and each user occupies multiple subcarriers. That is, a sparse code division multiple access signal includes partial codewords from multiple users. For example, if there are 8 subcarriers, and 6 users simultaneously transmit codewords on subcarriers 1 to 4, then the signals received on these 4 subcarriers can be regarded as 1 SCMA symbol.
[0072] The current time period is a relatively short time interval, such as 1 second.
[0073] A codebook is a predefined set of codewords used to represent the signals of each user in communication. Each codebook consists of multiple sparse codewords, and its purpose is to enable effective differentiation of signals from different users when multiple users share the same frequency resource through decoding technology.
[0074] Each codeword typically contains several dimensions, most of which are zero, with only a few non-zero elements; this is known as "sparseness".
[0075] Taking the Lattice constellation[8] codebook as an example, user v's codebook can be obtained using b v =[c v,1 ,......c v,m ,......c v,M [Characteristics, M is the number of codewords, for example, the codebook for users 1-6 is:]
[0076] ,
[0077] ,
[0078] ,
[0079] ,
[0080] ,
[0081] ,
[0082] Each codebook contains 4 codewords, so M=4. A column of symbols in each codebook is called a codeword. Assuming user 1 sends 00, user 2 sends 01, user 3 sends 11, user 4 sends 00, user 5 sends 10, and user 6 sends 11, after codeword mapping, the corresponding transmitted codewords are as follows:
[0083] (0.0000+0.0000i can be abbreviated to 0).
[0084] ,
[0085] ,
[0086] ,
[0087] ,
[0088] ,
[0089] Each codeword has 2 non-zero characters, for example, user 1's codeword. The non-zero elements are the 2nd and 4th elements. The kth element of each codeword is transmitted on the kth subcarrier. For example, user 1 transmits 0 on the 1st subcarrier, -0.1815-0.1318i on the 2nd subcarrier, 0 on the 3rd subcarrier, and 0.0785 on the 4th subcarrier.
[0090] Therefore, the signal received by user 1 at the base station on subcarriers 1-4 is:
[0091] ,
[0092] The signal received by user 2 at the base station on subcarriers 1-4 is as follows:
[0093] ,
[0094] Similarly, we can obtain y3~y6.
[0095] The sparse code division multiple access signal obtained at the base station is the superposition of all user signals, which can be represented by the following formula (2).
[0096] (2),
[0097] Where y represents the sparse code division multiple access signal, v represents the user, and n ~ CN(0,σ) 2 I) Characterize n as the white noise power σ 2 The Gaussian noise is I, which is a matrix of all 1s. Formula (2) and the aforementioned formula (1) can be converted to each other.
[0098] Continuing with the aforementioned embodiments, for the first subcarrier, the received signal can be characterized as: -0.2243·h 2,1 +(0.6351-0.4615i)·h 3,1 +(0.0193+0.7848i)·h 5,1 +n1, where n1 is the noise superimposed on the received signal of subcarrier 1, and its power is σ. 2 h v,1 It is the known channel response of user v on subcarrier 1. It is a complex number that follows a Gaussian distribution (for an OFDM system, if a user transmits a signal x on a subcarrier, then the OFDM received signal is y = hx, where h is the known channel response of the user on the subcarrier. This is the basic principle of OFDM).
[0099] Similarly, the received signals of subcarriers 2-4 can also be determined using the same method.
[0100] It can be observed that each subcarrier has d f =The data sent by 3 users is not zero. Taking subcarrier number 1 as an example, the non-zero users are 2, 3, and 5.
[0101] This application embodiment can determine the activation probability of each user based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network. The activation probability represents the probability that a user will send a non-all-zero codeword in the current time period. Specifically, for any user, the active probability of the user sending a non-all-zero codeword for each sparse code division multiple access signal can be determined. The user's activation probability is obtained based on the average of the active probabilities for each sparse code division multiple access signal. The detailed process is described in the following sections.
[0102] Step 120: Determine each activated user from among the users in the communication network based on the activation probability of each user.
[0103] Specifically, for any given user, if the user's activity probability is higher than or equal to the target activity probability, the user is determined to be an active user; conversely, if the user's activity probability is lower than the target activity probability, the user is determined to be an inactive user.
[0104] Therefore, the set of active users and the set of inactive users can be determined.
[0105] Step 130: Construct an initial factor graph based on each active user and the corresponding non-zero subcarriers in the codebook. User nodes in the initial factor graph represent active users; resource nodes in the initial factor graph represent subcarriers; edges in the initial factor graph represent the subcarriers represented by the resource nodes connected to the corresponding active users.
[0106] This application embodiment does not create a factor graph for all users in the communication network, but constructs an initial factor graph based on active users and non-zero subcarriers in the corresponding codebook. This initial factor graph does not include user nodes corresponding to inactive users, but includes user nodes represented by active users.
[0107] Assuming that users 1 through 6 are all active users, we can see from the codebooks of the aforementioned users that user 1 occupies subcarriers 2 and 4, user 2 occupies subcarriers 1 and 3, user 3 occupies subcarriers 1 and 2, user 4 occupies subcarriers 3 and 4, user 5 occupies subcarriers 1 and 4, and user 6 occupies subcarriers 2 and 3.
[0108] See Figure 3 This application provides a schematic diagram of an initial factor graph, the matrix corresponding to which the initial factor graph is F, wherein the factor graph on the left is... ,
[0109] The v-th column of F represents the v-th user. Taking v=1 as an example, it is connected to 2 and 4, meaning that user 1 transmits signals on subcarriers 2 and 4; similarly, user 2 transmits signals on subcarriers 1 and 3; user 3 transmits signals on subcarriers 1 and 2; user 4 transmits signals on subcarriers 3 and 4; user 5 transmits signals on subcarriers 1 and 4; and user 6 transmits signals on subcarriers 2 and 3.
[0110] Figure 3 The diagram illustrates user nodes and resource nodes, as well as the connections between them. The user nodes corresponding to users 1, 2, 3, 4, 5, and 6 are v1, v2, v3, v4, v5, v6, v6, v7, v8, v9, v1 ... 4、 v 5、 v6, the resource nodes corresponding to subcarriers 1, 2, 3, and 4 are k1, k2, k3, and k4, respectively. v1 is connected to k2 and k4, indicating that user 1 is transmitting signals on subcarriers 2 and 4. v2 is connected to k1 and k3, v3 is connected to k1 and k2, v4 is connected to k3 and k4, v5 is connected to k1 and k4, and v6 is connected to k2 and k3.
[0111] Step 140: Based on the message passing algorithm, the initial factor graph, and the codebook of each user, decode each sparse code division multiple access signal to obtain the transmitted codeword of each active user.
[0112] After identifying each active user through active user detection in this embodiment, data detection is also required. This data detection is specific to active users, meaning that a message passing algorithm, also known as Partial Node Message Passing (PNMPA), is executed for active users. For missed users, their signals are considered interference, which PNMPA can suppress. During the iteration process, after each data detection, the soft symbol (i.e., the transmitted codeword) of the currently detected active user is output and subtracted from the received signal. This allows active user detection to continue effectively detecting the remaining users until the set of detected active users is no longer updated. Thus, the transmitted codeword of each active user can be obtained. Detailed procedures are described in subsequent sections.
[0113] This application embodiment determines the activation probability of each user based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network. Then, based on the activation probability of each user, it identifies each active user from among the users in the communication network, creates an initial factor graph corresponding to the active user, and then decodes each sparse code division multiple access signal based on the message passing algorithm, the initial factor graph, and the codebook of each user to obtain the transmitted codeword of each active user. This allows for data detection only on active users. When the activation probability of a user is low, the user is directly considered to be an inactive user who sent all-zero codewords, which reduces the computational complexity of data detection. When the number of active users is small, the complexity is significantly reduced.
[0114] In some embodiments, the activation probability of each user is determined based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network, including:
[0115] For any user among all users, determine the probability that the user is active in sending non-all-zero codewords for each sparse code division multiple access signal;
[0116] The user's activation probability is obtained based on the mean of the activation probabilities for each sparse code division multiple access signal.
[0117] This application determines the active probability of a user transmitting non-all-zero codewords for each sparse code division multiple access (CDMA) signal through an iterative process. It requires obtaining the initial active probability of the user transmitting non-all-zero codewords in the codebook for the sparse CDMA signal. This initial active probability is generally a preset value, such as 1 / 2. Then, based on the sparse CDMA signal, the user's codebook, the prior probability of the user transmitting each codeword in the corresponding codebook, and the known channel response of each user, the initial active probability is iteratively updated multiple times until the number of iterations reaches the first target round U (preset value). The active probability obtained in the last iteration can be used as the active probability of the user transmitting non-all-zero codewords for the sparse CDMA signal.
[0118] Next, the average of the active probabilities of each sparse code division multiple access signal can be used as the user's activation probability. This reduces the impact of noise and yields a more accurate activation probability.
[0119] In some embodiments, determining the active probability of a user transmitting non-all-zero codewords for each sparse code division multiple access signal includes:
[0120] For any sparse code division multiple access signal, obtain the initial active probability of non-all-zero codewords in the codebook sent by the user for the sparse code division multiple access signal;
[0121] Based on sparse code division multiple access signals, user codebooks, prior probabilities of each codeword in the corresponding codebook transmitted by the user, and known channel responses of each user, the initial active probability is iteratively updated in multiple rounds until the number of iterations reaches the first target round.
[0122] The active probability obtained from the last round of iteration is used as the active probability of a user sending non-all-zero codewords for sparse code division multiple access signals.
[0123] Specifically, the user's activation probability can be determined based on the following formula (3):
[0124] (3),
[0125] Where v represents the user, u represents the iteration round (the aforementioned first target round), J represents the number of SCMA signals, and y j This represents the j-th SCMA signal. The activation probability obtained after the first target round of iteration is represented. Characterizes the user's activation probability. b represents the probability that user v is active for the j-th SCMA signal in the (u-1)-th iteration. v It is the user's codebook, x v,j This represents the individual codewords in user V's codebook.
[0126] Summation of the second half This means: when the j-th SCMA signal y is known... j and the activity probability obtained from the previous iteration in this signal. In this case, user v sends each codeword x from the codebook. v,j ∈b v The probability, Given the j-th SCMA signal and the active probability of the previous iteration, the posterior probability of sending any codeword is represented by the sum of the posterior probabilities. This sum is the active probability of sending a non-all-zero codeword for the j-th SCMA signal.
[0127] Taking the first user as an example, the judgment is performed on the j=1th SCMA symbol, and the summation in the latter part is as follows: This represents the probability that user 1 sends the first column of codewords, the second column of codewords, the third column of codewords, and the fourth column of codewords, which is the probability that the user does not send any all-zero codewords.
[0128] If user 1 sends a codeword with all zeros, then it can be determined that user 1 is an inactive user. If user 1 is an active user who has accessed the system, then the codeword sent will not be a codeword with all zeros, and will only send codewords from any column in the codebook.
[0129] Summation of the first half This means that the active probability of sending non-all-zero codewords of J SCMA signals is determined based on the aforementioned method. Then, these J active probabilities are summed, and the average is obtained by taking the previous 1 / J. This gives the user's activation probability.
[0130] In some embodiments, the initial active probability is iteratively updated multiple times based on the sparse code division multiple access signal, the user's codebook, the prior probability of each codeword in the corresponding codebook transmitted by the user, and the known channel response of each user, including:
[0131] For any codeword in a user's codebook, the posterior probability of the codeword in this iteration is obtained based on the active probability obtained in the previous iteration, the sparse code division multiple access signal, the prior probability of the user sending each codeword in the corresponding codebook, and the known channel response of each user; the active probability of the previous iteration in the first iteration is the initial active probability.
[0132] The active probability of this iteration is obtained by summing the posterior probabilities of each codeword in the codebook in this iteration.
[0133] The embodiments of this application perform multiple rounds of iterative updates on the initial active probability. Each round of iterative update is based on the previous round of iterative update. As explained in the foregoing embodiments, the active probability of the current round of iterative update can be obtained by summing the posterior probabilities of each codeword in the codebook in this round of iterative update.
[0134] See formulas (4) to (8) below, which disclose the method for determining the lag probability of any codeword in this round of iteration:
[0135] (4),
[0136] (5),
[0137] (6),
[0138] (7),
[0139] (8),
[0140] In formulas (4)-(8) above, v represents any user. This refers to users other than user v; y j b represents the j-th SCMA signal; v The codebook representing user v; x v,j This represents the codeword sent by user v on the j-th SCMA signal (which can be any codeword in the codebook). Characterizes the active probability obtained after the previous iteration; This represents the active probability of user v obtained after a total of U iterations on the j-th SCMA symbol. This represents the interference and noise power superimposed on user v for j SCMA symbols; h v,j The known channel response characterizing the transmitted signal (i.e., the transmitted codeword) of user v on the j-th SCMA signal; This refers to other users in the j-th SCMA signal. The known channel response to the transmitted signal; It refers to h v,j The elements in the matrix are diagonal matrices with diagonal elements. This represents the Diclave function (also known as the impulse function), which is the function that occurs when x=0. When x = 1 and x ≠ 0, =0; I represents the power of white noise and is a matrix of all 1s. M represents the number of codewords in the codebook. =1 / M represents the prior probability of each codeword in the codebook sent by the user, c v,m Represents the m-th codeword in the user's V codebook; Characterize other users The power of transmitting codewords (specifically, the average power). The initial activity probability is represented by 1 / 2, since the activity probability of each user is unknown beforehand.
[0141] In practical applications, it can be based on other users Average power of transmitted codewords According to formula (8), the interference power superimposed by other users on user v on the j-th SCMA signal is obtained. In combination with white noise power The interference and noise power of user v on the j-th SCMA signal can be obtained. , corresponding to formula (7).
[0142] In formula (5), the square of the difference between the received signal and the transmitted signal It can be determined by the following formula (9):
[0143] (9),
[0144] In the above formula (9), It refers to x is a diagonal matrix with diagonal elements. v,k,j This represents the signal transmitted by user v on subcarrier k on the j-th SCMA symbol, and correspondingly, Let represent the known channel response on user v subcarrier of the j-th SCMA signal. Here, the square of the absolute value is the square of the difference between the received signal and the transmitted signal.
[0145] The square of the difference between the received signal and the transmitted signal obtained based on formula (9) And Equation (7) Interference and noise power The probability of receiving the j-th SCMA signal in formula (5) is obtained when user v sends any non-all-zero codeword in the codebook. .
[0146] Then, based on the parameters in formula (6), the probability that user v sends any non-all-zero codeword in the codebook can be obtained under the active probability of the previous iteration update. .
[0147] Then, based on the active probability from the previous iteration, the probability of user v sending any non-all-zero codeword from the codebook is obtained. And the probability of receiving the j-th SCMA signal when user v sends any non-all-zero codewords in the codebook. Obtain the posterior probability of any codeword in the codebook in this iteration update. .
[0148] Then, the posterior probabilities of each codeword in the codebook in this iteration can be summed to obtain the active probability of the j-th SCMA signal in this iteration.
[0149] In some embodiments, determining each active user from among the users of the communication network based on the activity probability of each user includes:
[0150] For any given user, if the user's probability of being active is higher than the target probability of being active, the user is determined to be an active user.
[0151] When the probability of activity is high enough, such as when it is higher than the target probability of activity, the user can be considered an active user, satisfying the following formula (10):
[0152] ,
[0153] Where S is the user set, The probability of the target being active. This represents the probability of a user's activity.
[0154] In some embodiments, based on the message passing algorithm, the initial factor graph, and the codebook of each user, each sparse code division multiple access signal is decoded to obtain the transmitted codeword of each active user, including:
[0155] For any sparse code division multiple access signal, obtain the interference power and white noise power of each inactive user in the sparse code division multiple access signal;
[0156] A new sparse code division multiple access signal is obtained by suppressing the interference power and white noise power in the sparse code division multiple access signal.
[0157] Iterate through the set of activated users, which consists of all activated users, and perform the following operations during the iteration until the set of activated users is empty:
[0158] For the active user in this traversal, based on the sparse code division multiple access signal of this traversal, the message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the soft symbol of the active user in this traversal; the sparse code division multiple access signal of the first traversal is the new sparse code division multiple access signal; the soft symbol is used to record the user's sent codeword.
[0159] Remove the user node of the active user and all edges connecting the user node from the factor graph of the current traversal to obtain the factor graph of the next traversal.
[0160] Remove the active users from the current set of active users to obtain the set of active users for the next set of active users.
[0161] The sparse code division multiple access (CDMA) signal for the next traversal is obtained by removing the product of the soft symbol of the active user and the known channel response from the sparse CDMA signal traversed in the current traversal.
[0162] The standard MPA method performs data inspection (DD) on all v users. The data inspection (DD) scheme of the standard MPA method is determined by the following formulas (11), (12) and (13):
[0163] (11),
[0164] (12),
[0165] (13)
[0166] This represents the t-th message transmission value from resource node k to user node v. This is the value of the t-th message transmission from user node v to resource node k, with an initial value of M is the number of codewords in the codebook.
[0167] This represents the set of all resource nodes, excluding resource node k, that are connected to user node v. This represents the other resource nodes in the resource node set besides resource node v. This represents the set of all user nodes, excluding user node v, that are connected to resource node k. y represents the active users in this set of user nodes other than v. k The signal received on subcarrier k is represented by T, where T is the transpose of the matrix. (Subscript) This indicates that on the k-th subcarrier, when the detected user sends codeword x v At that time, by A vector consisting of messages sent by each user. and These represent the components on the k-th subcarrier. A vector composed of messages sent by each user and A vector consisting of the known channel responses of each user.
[0168] Continuing with the initial factor graph F mentioned above, the v-th column of F represents the v-th user. Taking v=1 as an example, it is connected to 2 and 4, meaning that user 1 sends signals on the 2nd and 4th subcarriers. This represents the set of all nodes connected to node v, excluding node k. For example, if v=1... When k=2, The k-th row of F represents the k-th subcarrier. Taking k=1 as an example, it is connected to users 2, 3, and 5. =3.
[0169] Taking v=1 as an example, to calculate the above formula (12), when the t=1th iteration occurs, when user 1 sends the first codeword... hour, This indicates that on the k-th subcarrier, when the detected user v=1 sends a codeword At that time, by A vector composed of information sent by each user. At this point, since user v=1 only sends symbols on subcarriers k=2 and k=4, there exists... and When k=2, users 1, 3, and 6 send messages, that is... There are 16 possible combinations (including various codeword combinations sent by users 3 and 6): [-0.1815-0.1318i 0.1392-0.1759i 0.7851], [-0.1815-0.1318i0.1392-0.1759i -0.2243], [-0.1815-0.1318i 0.1392-0.1759i 0.2243], [-0.1815-0.1318i 0.1392-0.1759i -0.7851], [-0.1815-0.1318i 0.4873-0.6156i 0.7851], [-0.1815-0.1318i 0.4873-0.6156i -0.2243], [-0.1815-0.1318i 0.4873-0.6156i0.2243], [-0.1815-0.1318i 0.4873-0.6156i -0.7851]..., This represents the known channel response of the corresponding users 1, 3, and 6 on subcarrier 2.
[0170] Clearly, the standard message passing algorithm MPA does not activate the user detection AUD function unless all-zero codewords are added to the codebook: When user v sends 0, it is considered to be an inactive user.
[0171] The partial node message passing algorithm PNMPA corresponding to the embodiments of this application only reconstructs the initial factor graph F for the set of active users S detected by the active user detection AUD, and performs message passing algorithm MPA detection. The remaining user set... Users in the middle are considered as potential interference, and therefore, the received signal representation of the aforementioned formula (1) can be replaced by the following formula (14):
[0172] (14)
[0173] Where v represents the activated user, h represents an inactive user v Indicates the known channel response, x v This represents the sent codeword of the activated user, and the set of inactive users. j represents the i-th SCMA signal in the OFDM symbol frequency domain. Let the interference power and white noise power be Gaussian distributions with variance C. j It can be expressed by the following formula (15):
[0174] (15)
[0175] in, Characterizing inactive users, Represents the set of inactive users. Characterizing the power of white noise, I is a set of all 1s. Characterizing inactive users The power of the transmitted codeword (specifically, the average power).
[0176] For the standard message passing algorithm MPA, since all possible users are detected, only white noise n is considered. However, for PNMPA, interference and white noise must be considered. Therefore, the t-th message passing value from resource node k to user node v in the aforementioned formula (12) can be replaced by the following formula (16), and the t-th message passing value from user node v to resource node k represented by the aforementioned formula (13) can be replaced by the following formula (17):
[0177]
[0178] (17)
[0179] Ck,j represents the variance of the interference power and the white noise power in the j-th SCMA signal. The meanings of the parameters in formulas (16) and (17) are given in the aforementioned formulas and will not be repeated here.
[0180] In some embodiments, based on the sparse code division multiple access signal of this traversal, a message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the transmission probability of each non-all-zero codeword in the codebook of the active user in this traversal.
[0181] For any non-all-zero codeword, determine the soft symbol for the active user in this traversal based on the transmission probability of the non-all-zero codeword.
[0182] This application embodiment utilizes PMNPA to perform data detection on users within S, and the codebook used is a codebook containing all-zero codewords. The codewords (or soft symbols) of each activated user can be obtained using the following formula (18), and the updated codewords can be obtained using formula (19). The following are expressions respectively:
[0183] (18)
[0184] (19)
[0185] in, It can be determined by the following formula (20):
[0186] (20)
[0187] in, The probability of sending a non-all-zero codeword in the m-th column of user v's codebook. A codebook that does not contain zero codewords. A codebook that represents all-zero codewords. This represents the m-th codeword of user v on the j-th SCMA signal. It can be obtained through the aforementioned formulas (16) and (17), and will not be repeated here.
[0188] Remove the user nodes and edges connecting the active users from the factor graph of this traversal to obtain the factor graph for the next traversal; from the set of active users in this traversal... Remove the active users from the current iteration to obtain the set of active users for the next iteration. , This represents the current traversal. Furthermore, the transmitted codewords of the active user and the known channel response of the current traversal can be removed from the sparse code division multiple access signal of the current traversal to obtain the sparse code division multiple access signal for the next traversal. For details, please refer to the following formula (21):
[0189] (twenty one),
[0190] in, Characterizing the sparse code division multiple access signal of this iteration, The sparse code division multiple access signal represents the next iteration, and v represents the activated user. Characterize the known channel response of active user v on the j-th SCMA signal. A soft symbol representing the active user v, which is used to record the user's transmitted codewords.
[0191] Since user v's signal is eliminated, its corresponding activity probability becomes .
[0192] Then, iterate through the active user set to find the next active user, performing data checks on that next active user set, until the active user set S = Φ (empty). At this point, the final access user set... Perform PNMPA processing, and have .
[0193] Furthermore, for standard MPA and PNMPA, the complexity depends on the... The number of complex multiplications is determined.
[0194] The complex multiplication term in equation (5) of this scheme for activating user detection The calculation result can be reused in formula (12) for PNMPA. Therefore, for standard MPA and PNMPA, the number of complex multiplications P can be determined by the following formula (22):
[0195] (twenty two),
[0196] The meanings of the parameters in formula (22) are given in the aforementioned embodiments and will not be repeated here.
[0197] For a standard MPA, the number of user nodes connected to resource node k It is fixed, but for the PMNMPA scheme in this application embodiment, The value is less than or equal to the former, depending on the number of active users detected.
[0198] also, Middle item The calculation requires KV complex multiplications, and its result can be reused in... middle.
[0199] The PMNMPA scheme provided in this application embodiment, compared with the standard MPA, only needs to perform message passing algorithms on some user nodes, i.e. activated user nodes, while treating the remaining user nodes as interference, and can effectively suppress this interference.
[0200] By using a joint iterative scheme of PNMPA and active probability-based AUD, the performance is similar to that of standard MPA, but the complexity is significantly reduced when the number of connected user nodes is small.
[0201] For methods based on activity probability (AUD), related technologies The calculation did not consider interference, only white noise, while the embodiments of this application... Interference and noise have been taken into account, thus improving AUD performance.
[0202] The principle of the decoding method in this application is based on the Lattice constellation codebook, and its principle can also be applied to other sparse code division multiple access (SCMA) codebooks.
[0203] The principle of the decoding method in this application is based on the OFDM system, and its principle is also applicable to other systems that can be accessed using non-orthogonal technologies, such as CDMA.
[0204] The system model provided in this application embodiment is a terminal and a base station. If the terminal in the model becomes an IoT access terminal and the base station becomes an IoT aggregation terminal, it is equally applicable. It is worth noting that IoT terminals include, but are not limited to, power IoT terminals, and IoT aggregation terminals include, but are not limited to, power IoT aggregation terminals.
[0205] The decoding method provided in this application can be executed by a decoding device. This application uses the example of a decoding device executing the decoding method to illustrate the decoding device provided in this application.
[0206] This application also provides a decoding device.
[0207] like Figure 4 As shown, the decoding device includes: a first processing module 410, a second processing module 420, a third processing module 430, and a fourth processing module 440.
[0208] The first processing module 410 is used to determine the activation probability of each user based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network; the activation probability represents the probability that a user sends a non-all-zero codeword in the current time period.
[0209] The second processing module 420 is used to determine each active user from among the users in the communication network based on the activation probability of each user.
[0210] The third processing module 430 is used to construct an initial factor graph based on the active user and the subcarriers occupied by the non-zero elements in the corresponding codebook; the user nodes in the initial factor graph represent active users; the resource nodes in the initial factor graph represent subcarriers; the edges in the initial factor graph represent the subcarriers occupied by the active users represented by the user nodes connected by the corresponding edges.
[0211] The fourth processing module 440 is used to decode each sparse code division multiple access signal based on the message passing algorithm, the initial factor graph, and the codebook of each user, to obtain the transmitted codeword of each active user.
[0212] According to the decoding apparatus provided in the embodiments of this application, the activation probability of each user is determined based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network. Then, based on the activation probability of each user, each active user is determined from the users in the communication network, and an initial factor map corresponding to the active user is created. Then, based on the message passing algorithm, the initial factor map, and the codebook of each user, each sparse code division multiple access signal is decoded to obtain the transmitted codeword of each active user. This can realize data detection only for active users. When the activation probability of a user is low, the user is directly regarded as an inactive user who sends all-zero codewords, which can reduce the computational complexity of data detection. When the number of active users is small, its complexity is significantly reduced.
[0213] In some embodiments, the first processing module 410 is specifically used for:
[0214] For any user among all users, determine the probability that the user is active in sending non-all-zero codewords for each sparse code division multiple access signal;
[0215] The user's activation probability is obtained based on the mean of the activation probabilities for each sparse code division multiple access signal.
[0216] In some embodiments, the first processing module 410 is specifically used for:
[0217] For any sparse code division multiple access signal, obtain the initial active probability of non-all-zero codewords in the codebook sent by the user for the sparse code division multiple access signal;
[0218] Based on sparse code division multiple access signals, user codebooks, prior probabilities of each codeword in the corresponding codebook sent by the user, and power of each user's transmitted codewords, the initial active probability is iterated and updated multiple times until the number of iterations reaches the first target number of iterations.
[0219] The active probability obtained from the last round of iteration is used as the active probability of a user sending non-all-zero codewords for sparse code division multiple access signals.
[0220] In some embodiments, the first processing module 410 is specifically used for:
[0221] For any codeword in a user's codebook, the posterior probability of the codeword in this iteration is obtained based on the active probability obtained in the previous iteration, the sparse code division multiple access signal, the prior probability of the user sending each codeword in the corresponding codebook, and the known channel response of each user; the active probability of the previous iteration in the first iteration is the initial active probability.
[0222] The active probability of this iteration is obtained by summing the posterior probabilities of each codeword in the codebook in this iteration.
[0223] In some embodiments, the second processing module 420 is further configured to:
[0224] For any given user, if the user's probability of being active is higher than the target probability of being active, the user is determined to be an active user.
[0225] In some embodiments, the fourth processing module 440 is further configured to:
[0226] For any sparse code division multiple access signal, obtain the interference power and white noise power of each inactive user in the sparse code division multiple access signal;
[0227] A new sparse code division multiple access signal is obtained by suppressing the interference power and white noise power in the sparse code division multiple access signal.
[0228] Iterate through the set of activated users, which consists of all activated users, and perform the following operations during the iteration until the set of activated users is empty:
[0229] For the active user in this traversal, based on the sparse code division multiple access signal of this traversal, the message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the soft symbol of the active user in this traversal; the sparse code division multiple access signal of the first traversal is the new sparse code division multiple access signal; the soft symbol is used to record the user's sent codeword.
[0230] Remove the user node of the active user and all edges connecting the user node from the factor graph of the current traversal to obtain the factor graph of the next traversal.
[0231] Remove the active users from the current set of active users to obtain the set of active users for the next set of active users.
[0232] The sparse code division multiple access (CDMA) signal for the next traversal is obtained by removing the product of the soft symbol of the active user and the known channel response from the sparse CDMA signal traversed in the current traversal.
[0233] In some embodiments, the fourth processing module 440 is further configured to:
[0234] Based on the sparse code division multiple access signal obtained in this traversal, a message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the transmission probability of each non-all-zero codeword in the codebook of the active user in this traversal.
[0235] For any non-all-zero codeword, determine the soft symbol for the active user in this traversal based on the transmission probability of the non-all-zero codeword.
[0236] The decoding device in this application embodiment can be an electronic device or a component within an electronic device, such as an integrated circuit or a chip. The electronic device can be a terminal or other devices besides a terminal. For example, the electronic device can be a mobile phone, tablet computer, laptop computer, PDA, in-vehicle electronic device, mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, robot, wearable device, ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc. It can also be a server, network attached storage (NAS), personal computer (PC), television (TV), ATM, or self-service machine, etc. This application embodiment does not specifically limit the specific devices.
[0237] The decoding device in this application embodiment can be a device with an operating system. The operating system can be a Microsoft (Windows) operating system, an Android operating system, an iOS operating system, or other possible operating systems. This application embodiment does not specifically limit the specific operating system.
[0238] The decoding device provided in this application embodiment can achieve... Figures 1 to 3 The various processes implemented in the method implementation examples will not be described again here to avoid repetition.
[0239] In some embodiments, such as Figure 5 As shown, this application embodiment also provides an electronic device 500, including a processor 501, a memory 502, and a computer program stored in the memory 502 and executable on the processor 501. When the program is executed by the processor 501, it implements the various processes of the above-described decoding method embodiment and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0240] Processor 501 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 501 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0241] The memory 502 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium capable of carrying or storing computer programs and capable of being read by a computer, without limitation herein.
[0242] The memory 502 is used to store computer programs that execute the embodiments of this application, and the execution is controlled by the processor 501. The processor 501 is used to execute the computer programs stored in the memory 502 to implement the steps shown in the foregoing method embodiments.
[0243] It should be noted that the electronic devices in the embodiments of this application include the aforementioned mobile electronic devices and non-mobile electronic devices.
[0244] This application also provides a non-transitory computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the above-described decoding method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0245] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0246] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described decoding method.
[0247] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0248] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described decoding method embodiments and achieve the same technical effect. To avoid repetition, it will not be described again here.
[0249] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0250] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0251] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the related technology, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0252] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
[0253] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0254] Although embodiments of this application have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of this application, the scope of which is defined by the claims and their equivalents.
Claims
1. A decoding method, characterized in that, include: Based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network, determine the activation probability of each user. The activation probability represents the probability that a user sends a non-all-zero codeword during the current time period; Based on the activation probability of each user, each activated user is determined from among the users of the communication network; An initial factor graph is constructed based on the active user and the subcarriers occupied by non-zero elements in the corresponding codebook; The user nodes in the initial factor graph represent active users; The resource nodes in the initial factor graph represent subcarriers; the edges in the initial factor graph represent the user nodes connected to the corresponding edges, indicating that the active user occupies the subcarriers represented by the resource nodes connected to the edge. Based on the message passing algorithm, the initial factor graph, and the codebook of each user, the sparse code division multiple access signals are decoded to obtain the transmitted codewords of each active user.
2. The decoding method according to claim 1, characterized in that, The determination of the activation probability of each user based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network includes: For any user among all users, determine the active probability of that user sending non-all-zero codewords for each sparse code division multiple access signal; The activation probability of the user is obtained based on the mean of the activation probabilities for each sparse code division multiple access signal.
3. The decoding method according to claim 2, characterized in that, Determining the active probability of the user transmitting non-all-zero codewords for each sparse code division multiple access signal includes: For any sparse code division multiple access signal, obtain the initial active probability of the non-all-zero codewords in the codebook sent by the user for the sparse code division multiple access signal; Based on the sparse code division multiple access signal, the user's codebook, the prior probability of each codeword in the corresponding codebook sent by the user, and the known channel response of each user, the initial active probability is iteratively updated in multiple rounds until the number of iterations reaches the first target round. The active probability obtained from the last round of iteration is used as the active probability of the user sending non-all-zero codewords for the sparse code division multiple access signal.
4. The decoding method according to claim 3, characterized in that, The initial active probability is iteratively updated multiple times based on the sparse code division multiple access signal, the user's codebook, the prior probability of each codeword in the corresponding codebook transmitted by the user, and the known channel response of each user, including: For any codeword in the user's codebook, based on the active probability obtained from the previous iteration update, the sparse code division multiple access signal, the prior probability of the user sending each codeword in the corresponding codebook, and the known channel response of each user, the posterior probability of the codeword in this iteration update is obtained; the active probability of the previous iteration update in the first iteration update is the initial active probability; The active probability of this iteration is obtained by summing the posterior probabilities of each codeword in the codebook in this iteration.
5. The decoding method according to any one of claims 1-4, characterized in that, The step of determining each active user from among the users of the communication network based on the activity probability of each user includes: For any given user, if the user's activity probability is higher than the target activity probability, the user is determined to be an active user.
6. The decoding method according to claim 1, characterized in that, The decoding process, based on the message passing algorithm, the initial factor graph, and the codebooks of each user, is performed on each sparse code division multiple access signal to obtain the transmitted codewords of each active user, including: For any sparse code division multiple access signal, obtain the interference power and white noise power of each inactive user in the sparse code division multiple access signal; The interference power and white noise power are suppressed from the sparse code division multiple access signal to obtain a new sparse code division multiple access signal; The active user set is iterated through sequentially. The active user set is a collection of active users. During the iteration, the following operations are performed until the active user set is empty: For the active user in this traversal, based on the sparse code division multiple access signal of this traversal, a message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the soft symbol of the active user in this traversal; the sparse code division multiple access signal of the first traversal is the new sparse code division multiple access signal; the soft symbol is used to record the user's transmitted codeword; Remove the user node of the active user corresponding to this traversal and each edge connecting the user node from the factor graph of this traversal to obtain the factor graph of the next traversal. Remove the active users from the active user set in the current iteration to obtain the active user set for the next iteration; The sparse code division multiple access signal for the next traversal is obtained by removing the product of the soft symbol of the active user and the known channel response from the sparse code division multiple access signal traversed in this traversal.
7. The decoding method according to claim 6, characterized in that, Based on the sparse code division multiple access signal obtained in this traversal, a message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the soft symbols of each codeword of the active user in this traversal, including: Based on the sparse code division multiple access signal of this traversal, a message passing algorithm is executed on the factor graph corresponding to this traversal to obtain the transmission probability of each non-all-zero codeword in the codebook of the active user in this traversal. For any non-all-zero codeword, the soft symbol of the active user in this traversal is determined based on the transmission probability of the non-all-zero codeword.
8. A decoding device, characterized in that, include: The first processing module is used to determine the activation probability of each user based on at least one sparse code division multiple access signal received in the current time period and the codebook of each user in the communication network. The activation probability represents the probability that a user sends a non-all-zero codeword during the current time period; The second processing module is used to determine each activated user from among the users of the communication network based on the activation probability of each user. The third processing module is used to construct an initial factor graph based on the active user and the subcarriers occupied by non-zero elements in the corresponding codebook; The user nodes in the initial factor graph represent active users; The resource nodes in the initial factor graph represent subcarriers; the edges in the initial factor graph represent the user nodes connected to the corresponding edges, indicating that the active user occupies the subcarriers represented by the resource nodes connected to the edge. The fourth processing module is used to decode each sparse code division multiple access signal based on the message passing algorithm, the initial factor graph, and the codebook of each user, to obtain the transmitted codeword of each active user.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the decoding method as described in any one of claims 1-7.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the decoding method as described in any one of claims 1-7.